基本数据类型 | 内容 | 数据范围 |
BOOL(1位) | 布尔型 | 0 to 1 |
BYTE(8位) | 无符号型 | 0 to 255 |
WORD(16位) | 无符号整数 | 0 to 65535 |
INT(16位) | 有符号整数 | -32768 to +32767 |
DWORD(32位) | 无符号双整数 | 0 to 232-1 |
DINT(32位) | 有符号双整数 | -231 to 231-1 |
REAL(32位) | IEEE32浮点数 | -1038 to 1038 |
复杂数据类型 | 内容 | 数据范围 | |
TON | 接通延时定时器 | 1ms | T32,T96 |
10ms | T33—T36,T97—T100 | ||
100ms | T37—T63,T101—T255 | ||
TOF | 关断延时定时器 | 1ms | T32,T96 |
10ms | T33—T36,T97—T100 | ||
100ms | T37—T63,T101—T255 | ||
TP | 脉冲 | 1ms | T32,T96 |
10ms | T33—T36,T97—T100 | ||
100ms | T37—T63,T101—T255 | ||
CTU | 加计数器 | 0 to 255 | |
CTD | 减计数器 | 0 to 255 | |
CTUD | 加/减计数器 | 0 to 255 | |
SR | 置位优先位触发器 | — | |
RS | 复位优先位触发器 | — |
完全数据类型检查
在该方式下,参数的数据类型必须同符号或变量数据类型匹配。每个有效参数只有一个数据类型(多重指令除外)。例如,SRW(右移字)指令的输入(IN)参数的数据类型是WORD。只是给它分配WORD型的变量,才能编译成功。当设定为完全数据类型检查时,给WORD型指令分配整型(INT)变量是无效的。
完全数据类型检查只能在IEC1131-3方式下执行。如下表:
完全数据类型检查:用户选定和等价的数据类型
用户选定的数据类型 | 等价的数据类型 |
BOOL | BOOL |
BYTE | BYTE |
WORD | WORD |
INT | INT |
DWORD | DWORD |
DINT | DINT |
REAL | REAL |
简单数据类型检查:用户选定和等价的数据类型
用户选定的数据类型 | 等价的数据类型 |
BOOL | BOOL |
BYTE | BYTE |
WORD | WORD,INT |
INT | WORD,INT |
DWORD | DWORD,DINT |
DINT | DWORD,DINT |
REAL | REAL |
大小决定了SIMATIC全局符号的数据类型
用户选定的地址 | 分配的等价数据类型 |
V0.0 | BOOL |
VB0 | BYTE |
VW0 | WORD,INT |
VD0 | DWORD,DINT,REAL |
数据类型检查有助于避免常见的编程错误。如果一条指令支持有符号数,STEP 7-Micro/WIN32将对操作数标示出无符号数的使用。例如,关系比较〈1是一个有符号指令。对于有符号操作数,-1小于0。但是,当〈1指令允许支持无符号数据类型时,编程器必须保证不出现下面的情况。在程序执行期间,对于〈1指令,无符号数40000小于0。
先入先出(表)
输入/输出 | 操作数 | 数据类型 |
TBL | VW,IW,QW,MW,SW,SMW,LW,T,C,*VD,*AC,*LD | 字 |
DATA | VW,IW,QW,MW,SW,SMW,LW,AC,T,C,AQW,*VD,*AC,*LD | 整数 |
设定ENO = 0的错误条件: SM1.5 (空表), SM4.3 (运行时), 0006 (间接地址), 0091
(操作数超出范围)这些指令影响下列特殊内存位: 如果您试图从空表内删除项目,则将设定SM1.5为1。
整数至字节(转换)
输入/输出 | 操作数 | 数据类型 |
IN | VW,IW,QW,MW,SW,SMW,LW,T,C,AIW,AC,常量,*VD,*LD,*AC | 整数 |
OUT | VB,IB,QB,MB,SB,SMB,LB,AC,*VD,*AC,*LD | 字节 |
设定ENO = 0的错误条件:0006(间接地址),SM1.1(溢出),SM4.3(运行时)
这些指令影响下列特殊内存位:SM1.1(溢出)