200PLC通过MODBUS读上来的FLOAT序号是3412怎么转换成直接可以读取的4321
问题补充:
可以几个地址一起转化吗?比如VD1000到VD1200
最佳答案
用双子循环左移或是右移指令都可以。用这条指令记得在前面加上一个上升沿脉冲(P)指令。
S7-200 作为 Modbus 主站方接收上来的数据格式与第三方设备不一样怎么办?
西门子PLC数据的存储格式为高位低存方式。举例:VD200中包含VW200和VW202,其中VW202是低字,VW200是高字。若第三方设备与西门子数据存储格式不同,是低位低存的方式,那么通信上来的数据就会存在错误,需要进行转换才能使用。编程的方式比较多样,针对双字中高低字的交换可以使用SWAP(字交换)指令,若是字节交换可以考虑循环移位指令。
S7-200 Modbus RTU 通信:http://www.ad.siemens.com.cn/service/article/S7-200/S7-200modbus/Default.aspx
关于补充问题回答:你看这条指令就知道了,一次只能转换一个双字(VD值),处理这个问题没有什么捷径,只能一个个来处理。
图片说明:
提问者对于答案的评价:
最佳答案
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc367561.html