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

分类: C# modbus 2014-04-19 17:28 900人阅读 评论(1) 收藏 举报
写保存寄存器功能码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].

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值