200smart通过MODBUS指令读到的数据怎么转换为实数

读到的数据是两个字,怎么转成实数,需要什么指令吗

最佳答案

1、
用MODSCAN32读从站的数据,看看是不是正确。

读上来的数,如果在V区,在状态表中监视 VD,数据类型选择浮点。看看是不是要的结果。如果是则不需要转换。
如果不是,从站浮点数的存储格式与西门子的不一致,西门子是高位低存,那可以考虑引入一个变量,利用这个变量将VD的高“字”和低“字”互换,试试看
比如读来的浮点数是 VD1000,对应 40001、4002,中间变量是 VW0 则:
1、VW1000 传给 VW0;
2、VW1002 传给 VW1000
3、VW0 传给VW1002
这三步实现了高低字交换,再次进行测试,看看结果是不是对的。
那也有可能要用字节互换,可参考上面的方法进行。
如果读上来的是双整数,参考虑一楼的整数转浮点数指令。

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

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

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年10月30日 下午10:25
下一篇 2020年10月30日 下午10:25

相关推荐