想问一下STPE7的数据类型都有那些?还有L#和P#是什么意思?

初学者,想问一下STPE7的数据类型都有那些?还有L#和P#是什么意思?能详细说明一下吗?

最佳答案

STEP7的基本数据类型有:
一、位(bit)的数据类型为BOOL布尔型,在编程软件中BOOL变量的值是1和0,用英语单词TRUE(真)和FALSE(假)表示。位存储单元的地址由字节地址和位地址组成,如I1.2中区域标识符I表示输入字节地址为3位地址为2.
二、字节(Byte),8位二进制数组成1个字节,其中第0位为最低位(LSB),第7位为最高位(MSB)。
三、字(Word)相邻的两个字节组成1 个字,字用来表示无符号数。MW10是由MB10和MB11组成的1 个字。用组成字的最小的字节MB10的编号作为字MW10的编号,最小字节MB10为字的高位字节,最大的字节MB11为字的低位字节。
四、双字(Double Word),两个字(或四个字节)组成1个双字,双字用来表示无符号数。双字MD10由MB10至MB13组成。
五、16位整数(INT)是有符号数,整数的最高位为符号位,最高位为0时为正数,为1时为负数,取值范围为-32768~32767。32位整数(DINT)的最高位为符号位,取值范围为-2147483648~2147483647。
六、32位浮点数(REAL)为称实数,可以表示为1.mX2^E,其中尾数m和指数E均为二进制数,E可能是正数,也可能是负数。浮点数的优点是用很小的存储空间(4B)可以表示非常大的和非常小的数。在编程软件中,一般并不直接使用二进制格式或十六进制格式的浮点数,而是用十进制小数来输入或显示浮点数,例如在编程软件中,10是整数,而10.0为浮点数。
七、常数,常数值可以是字节,字,或双字,CPU以二进制数存储常数,常数也可以用十进制、十六进制ASCII码或浮点数表示。
B#16#,W#16#,DW#16#分别表示十六进制字节,字和双字常数。
2#用来表示二进制常数,例如2#1111  0110  1001  0001是16位二进制常数。
L#用来表示32位双整数常数,例如L# +5.
P#用来表示地址指针常数,例如P#M2.0是M2.0的地址。
S5T#用来表示16位S5时间常数,格式为S5T#aD_bH_cM_dS_eMS。其中a,b,c,d,e,分别是日,小时,分,秒和毫秒的值,也可以以秒为单位输入。输入时可以省掉下划线,例如S5T#2H15M30S为2小时15分30秒。
T#用来表示带符号的32位IEC时间常数,例如T#1D_12H_30M_0S_250MS,时间增量为1ms。
DATE是IEC日期常数,例如D#2012-12-16。
TOD#用来表示32位实时时间(Time of day)常数,时间增量为1ms,例如TOD#21:20:32:800。
C#用来表示16位计数器常数(BCD码),例如C#250.。
ASCII字符用单引号表示,例如‘ABC’,每个ASCII字符点一个字节。
我上传了一张位,字节,字,双字的关系图,请参考。

图片说明:

想问一下STPE7的数据类型都有那些?还有L#和P#是什么意思?  

提问者对于答案的评价:
谢谢,非常详细,大概明白其中的意思了。同时也感谢阿鸣和火麒麟提供的链接。

原创文章,作者:more0621,如若转载,请注明出处:https://www.zhaoplc.com/plc254467.html

(1)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月14日
下一篇 2018年12月14日

相关推荐