西门子PLC Modbus写入float字节排列

来源:互联网 发布:藏剑儒风成男捏脸数据 编辑:程序博客网 时间:2024/05/20 16:42

写保存寄存器功能码16示意:


 

在西门子PLC中,实数,float,的保存方式遵循“高字节低地址,低字节高地址”的方式。

假设使用16功能码向PLC的40005写入一个float,先利用BitConverter.GetBytes(f)得到要写的float的byte[] A 。根据PLC中的存储方式,要想获得正确的float,在字40005的低字节存储的应是A[3],高位存储的是A[2],40006的低字节存储的A[1],高字节存储的是A[0].而根据16传递数据的顺序为:40005高字节,40005低字节,40006高字节,40006低字节,所以在16功能码中正确的排列顺序为:A[2] A[3] A[0]A[1].

0 0
原创粉丝点击