STEP7的基本数据类型总共有7种,分别为:位(bit)、字节(Byte)、字(Word)、双字(Double Word)、整型数(INT)、双整型数(DINT)以及实数(REAL)。
取值:1、0
寻址方式:地址标识符+字节地址+位地址。
图1 基本数据类型:位(bit)
8位二进制数组成一个字节。其中,第0位为最低位(LSB),第7位为最高位(MSB)。
寻址方式:地址标识符+B+字节地址,其中,"B"即代表字节。
图2 基本数据类型:字节(Byte)
相邻的两个字节组成一个字,16位。
字用来表示无符号数,范围:[0000,FFFF]16进制,或[0,65535]10进制
寻址方式:地址标识符+W+首字节地址,其中,"W"代表字。
图3 基本数据类型:字(Word)
相邻的两个字组成一个双字,32位。
双字也用来表示无符号,范围:[00000000,FFFFFFFF]16进制
寻址方式:地址标识符+D+首字节地址,其中,"D"代表双字。
图4 基本数据类型:双字(Double Word)
整数是有符号数,占16位。最高位为符号位,0:正数;1:负数。
取值范围为:[-32768,32767]。
双整数也是有符号数,占32位。最高位为符号位,0:正数;1:负数。
取值范围为:[-2147483648,2147483647]。
标准的浮点数格式如图5所示,占32位。
最高位为符号位,0:正数;1:负数。
图5 基本数据类型:浮点数(REAL)
浮点数的优点是用32位的空间可以表示非常大和非常小的数。
PLC在处理模拟量时,其输入和输出大多是整数,用浮点数来处理这些数据时要进行整数和浮点数之间的相互转换。例如图6所示,现场采集的数据为16位的整型数("#IN"),PLC在做控制前,要先将其转换为浮点数("#DItoR")。由于整型数占16位,而浮点数占32位,二者不能直接转换。要先将整型数转换为双整型("#ItoDI"),然后再转换为浮点型。
图6 整型数转换为浮点数
需要注意的是,浮点数的运算速度比整数的运算速度要慢得多。