1、IEC1131—3 数据基本类型

2、IEC1131—3 复杂数据类型
 数据3、类型检查
完全数据类型检查
在该方式下,参数的数据类型必须同符号或变量数据类型匹配。每个有效参数只有一个数据类型(多重指令除外)。例如,SRW(右移字)指令的输入(IN)参数的数据类型是WORD。
只是给它分配WORD 型的变量,才能编译成功。当设定为完全数据类型检查时,给WORD
型指令分配整型(INT)变量是无效的。
完全数据类型检查只能在IEC1131-3 方式下执行。如下表:
完全数据类型检查:用户选定和等价的数据类型

简单的数据类型检查:在简单数据类型方式下,当给一个符号或变量一个数据类型时,也自动分配了和所选定数据类型相匹配的所有数据类型。例如,选择DINT 作为数据类型,局部变量也自动分配DWORD 数据类型,因为两者都是32 位的数据类型。虽然REAL 也是32位数据类型,但是它不是自动分配的。由于REAL 数据类型没有等价的数据类型,它总是单独定义的。简单数据类型检查只在SIAMTIC 方式下使用局部变量时执行。见下表:
简单数据类型检查:用户选定和等价的数据类型

无数据类型检查:无数据类型检查方式只在SIMATIC 全局变量没有可选的数据类型时使用。
在该方式下,所有相同大小的数据类型自动分配给符号。例如,一个符号分配在地址VD100处,下表表示STEP 7-Micro/WIN 32 自动为该符号分配了数据类型。大小决定了SIMATIC 全局符号的数据类型

数据类型检查的优点
数据类型检查有助于避免常见的编程错误。如果一条指令支持有符号数, STEP
7-Micro/WIN32 将对操作数标示出无符号数的使用。例如,关系比较〈1 是一个有符号指令。
对于有符号操作数,-1 小于0。但是,当〈1 指令允许支持无符号数据类型时,编程器必须保证不出现下面的情况。在程序执行期间,对于〈1 指令,无符号数40000 小于0。
先入先出(表)
 First In First Out(先入先出):(FIFO)指令删除表(TBL)内的第一项,并输出数值至指定位置(DATA)。表内全部其它项目均向上移动一个位置。每次执行此指令,表内项目数减1。
设定ENO = 0的错误条件: SM1.5 (空表), SM4.3 (运行时), 0006 (间接地址), 0091
(操作数超出范围)这些指令影响下列特殊内存位: 如果您试图从空表内删除项目,则将设定SM1.5 为1。
整数至字节(转换)

整数至字节指令将字值(IN)转换成字节数值,并将结果装载入OUT 指定的变量内。可转换数值0 至255。全部其它数值将导致溢出,但输出不受影响。
设定ENO = 0 的错误条件:0006(间接地址),SM1.1(溢出),SM4.3(运行时)这些指令影响下列特殊内存位:SM1.1(溢出)
|