zhourui97
有一个双字的十六进制数
DW#16#D4DB71FB
我用计算器转成十进制是 3571151355
但貌似PLC里只能转成有符号的数 L#-723815941
怎么在plc里转换成无符号的数~
有什么办法吗~
各位大神~本人新手求教~~跪谢~~~
感激!!~!~!
yuanle
实际上DW#16#D4DB71FB就是无符号数的表达方式,只是以16进制表示而已,在软件中,受限于早先软件无法显示无符号整数的10进制方式,因此才会造成误解。
如果使用新型机型或者新型软件,例如博图和S7-1500,就可以在VAT表格中选择DEC,即无符号整数10进制监视方式,监视的结果与计算器转换的结果一致。
正如下图所见,即使输入10进制的无符号整数,仍然会显示16进制的数值。
因此,在PLC中将无符号的16进制数转换为无符号的10进制数是毫无意义的,也不会影响到PLC对于数据的处理结果。
回复内容:
对: yuanle 实际上DW#16#D4DB71FB就是无符号数的表达方... 内容的回复!
感谢~~
我用的是plc s7-300
我在监控表格里把DW#16#D4DB71FB转换为10进制以后,会出现如下图这样的数字
但我实际上是需要转换后的3571151355这一串数字
但好像DW转换的范围是-2147483647~2147483648,所以我不知道该怎么处理得到我想要的值
求教~~~感激
wjlovelj
DW#16#D4DB71FB 16进制本来就是一个数字表示方法而已。不分正负的,比如说你有没有听说过16进制的16#-71FB嘛。。。。。
但是DW#16#D4DB71FB这个数字,你做转换后的数据3571151355是无符号的,但是PLC的计算全部是按照有符号计算的。。。