做MODBUS RTU通讯时,如何读取设备寄存器40001中的浮点数

比如设备寄存器40001存的实数是0.11,我用200做modbus通讯的时候,MBUS_MSG中寄存器还是设40001吗?我理解是40001寄存器在PLC里面应该是整形的数据,要怎样可以转换为实数?

最佳答案

首先澄清一点:
做modbus通讯时,modbus传回的数据只有Byte数据,实数还是整数是由您的地址来决定的。
如果您调用的是浮点数的地址,浮点数占用4个字节,即2个连续的整数地址。
所以转换为实数时和您使用的地址有关。
接阿鸣的描述,补充如下:
西门子所有数据以字节为单位,顺序都是按照低字节、高字节的依次顺序排列的。
而modbus协议是按照字或位为单位(因此,字地址和位地址不会发生冲突,可以任意调用)。顺序(以浮点数的2个字举例)是按照低字的高字节、低字的低字节、高字的高字节、高字的高字节的顺序排列的,因此,所有顺序与西门子的顺序完全是反的。
注意是字中的高低字节的位置发生变化,而非阿鸣说的高低字发生变化。
如果需要转换,用移位等指令很容易可以实现。

提问者对于答案的评价:
明白了,多谢!

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

(3)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2020年11月1日 下午2:29
下一篇 2020年11月1日 下午2:29

相关推荐

  • modbus的主站 从站程序是不是不能写到同一个程序里

    各位大虾我就有一块224xp,想实现一主五从的效果,主站每隔2秒给一个从站发数据,从站回数后。在下一个两秒里主站再给下一个从站发数据,依次循环。希望给位大虾不吝赐教 最佳答案 各位…

    SIMATIC S7-200 2019年6月11日
  • 程序错误,还请各位帮忙

    问题出在主程序的网络8和网络9上,在线监控时温度传感器1:VD0的数值是31.5,低温设置点:VD364为15,高温设置点:VD368为45,但是网络8和网络9同时输出报警,温度1…

    SIMATIC S7-200 2020年11月1日
  • 添加Modbus RTU主站指令库

    添加modbus RTU主站指令库中,在编程软件的指令树的“指令库”文件夹中,可以看到添加的库文件夹“modbus Master Port0”、“mo…

    SIMATIC S7-200 2021年7月5日
  • 226CPU与主站通讯

     226CPU,自由通讯口接触摸屏,调用modbus-rtu通讯。作为从站,与上一级主站进线通讯,如何配置? 钻石用户推荐最佳答案 CPU226做modbus从站用POR…

    SIMATIC S7-200 2021年7月5日
  • S7200PLC中使用RCV指令为什么报红?

    工程使用托利多电子秤与S7200PLC 224CPU进行自由口485通讯,在配置完自由口后,程序中使用了RCV指令,监控程序时显示我对端口同时使用了RCV/XMT指令,可…

    2017年8月15日
  • S7-200 SMART 时钟保持和修改问题

    SMART  PLC在增加电池板 SB BA01 的情况下,保持时钟运行约1年,那么1年后电池耗尽,时钟恢复为2000年,如果程序…

    SIMATIC S7-200 2017年6月6日
  • 200PID应用

    各位高工:    在供水、流量控制、加温时应为反作用,通俗讲,测量值(水压、液体流量、温度)升高时,应减小执行量,反之则应增大执行量。而在排…

    SIMATIC S7-200 2020年10月31日
  • s7-200MPI

    S7-200用MPI/USB把波特率改为19.2k。现在想改为9.6k走PPI,用PC/PPI电缆通信,连接触摸屏,请问如何改? 问题补充:我的PC/PPI电缆 非原装&…

    SIMATIC S7-200 2020年11月1日
  • 变量存储区

    变量存储区比方说VW0里面存储了一个5,那么使用MOV指令对vw0进行赋值时是不是必须先将里面的数字5移出来了? 最佳答案 直接覆盖了 提问者对于答案的评价:

    SIMATIC S7-200 2017年6月1日
  • S700与ACS550用MODBUS通讯控制问题

    S700与ACS550用modbus通讯控制问题,我已经通讯上了,并且能够执行频率控制了,但是现在控制字控制还是不行。我用的是40001和40002,前者是控制字,后者是频率设置。…

    SIMATIC S7-200 2021年7月5日