请问.我在STEP7中想设定一个常数,比如是十进制的10,当它是浮点数时就设定为10.0,那么当它是整数时是不是设定为10呢?

请问.我在STEP7中想设定一个常数,比如是十进制的10,当它是浮点数时就设定为10.0,那么当它是整数时是不是设定为10呢?

最佳答案

1.16位整数(INT),整数是有符号数,整数的最高位为符号位,最高位为0时为正数,为1时为负数,取值范围为-32768~32767。32位整数(DINT)的最高位为符号位,取值范围为-2147483648~2147483647。
2.32位浮点数(REAL)为称实数,可以表示为1.mX2^E,其中尾数m和指数E均为二进制数,E可能是正数,也可能是负数。浮点数的优点是用很小的存储空间(4B)可以表示非常大的和非常小的数。在编程软件中,一般并不直接使用二进制格式或十六进制格式的浮点数,而是用十进制小数来输入或显示浮点数,例如在编程软件中,10是整数,而10.0为浮点数。
3.常数,常数值可以是字节,字,或双字,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字符点一个字节。

4.可以参考下面的链接:STEP7的基本数据类型
http://www.ad.siemens.com.cn/service/answer/solution.aspx?Q_ID=90871&cid=1027

也可以简单理解为,整型是不带小数点,数字之间的增减最小是1,实型是带小数点的数。

提问者对于答案的评价:
谢谢

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2018年12月7日 上午11:14
下一篇 2018年12月7日 上午11:14

相关推荐