做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测试提示modbus信息超时

    我将编译好的带有从站modbus指令库的程序下载到s7200中,用pc-ppi电缆连接电脑com口与s7200 phot0端口,运行modbuscan测试软件进行通讯测试…

    SIMATIC S7-200 2020年11月5日
  • vista下安装Microwin v4.0 sp6无发设置通信

    请叫各位大师:为什么我的电脑在VISTA 下安装Micrwin v4.0  sp6,却无法找到访问点(无法设置通信),有也不用? …

    SIMATIC S7-200 2021年7月5日
  • V60伺服与200PLC控制

    设备明细:V602KW伺服3台。步进电机1台。选择西门子PLC200PLC进行控制。选择一个CPU外加I/O模块可以吗?选择哪个系列的CUP比较合适。谢谢。本人第一次接这种伺服项目…

    SIMATIC S7-200 2020年11月1日
  • 关于wincc flexible和S7-200仿真,求解

    可以把200的程序下到200PLC里面,再用西门子串口的PPI下载电缆连接自己的电脑,启动WINCCFLEXIBLE进行在线进行仿真???就是是否可以这样做?还有就是USB的编程电…

    SIMATIC S7-200 2020年11月1日
  • s226解密

    忘记s226的密码,怎样才能解密?? 最佳答案 在提示输入密码的对话框内,输入"clearplc"清除。  提问者对于答案的评价:不是很好 …

    SIMATIC S7-200 2021年7月5日
  • S7-200 PLC与HMI通讯如何在HMI上修改时钟

    S7-200 PLC与HMI通讯如何在HMI上修改时钟,PLC程序如何处理? 最佳答案 通过面板修改S7 PLC时间,大致设置如下: 1.在面板上新建…

    SIMATIC S7-200 2021年7月5日
  • 224xp的灯,SF/DIAG灯也跟着亮了,请问什么原因。

    正常运行时 RUN是绿灯亮的,这会不知咋整的那个SF/diag灯,也跟着亮了。求解决方法 最佳答案 姜还是老的辣啊. 同意 俱怀逸兴壮思飞的说法&nb…

    SIMATIC S7-200 2021年7月5日
  • 关于S7-200程序上传

    用“V4.0 STEP MicroWIN SP4”(V4.0.4.16)上传S7-200 CPU222里的程序,提示“Block …

    SIMATIC S7-200 2021年7月5日
  • 200PLC脉冲发射

    脉冲PTO向导结束后,出现了四个了程序,各位说了,PTO-CTRL是必须用的,那么后三个任选其中一个吗?有个问题解决不了,在这个项目中,要求是剪不同距离的板,今天300MM,明天可…

    SIMATIC S7-200 2020年11月1日
  • 各位大神看这里

    想请问一下,一个输出为0-20mv差分信号的压力传感器,可以不接放大器直接连接西门子的模拟量模块EM235么,如果能的话那上位机pc可以通过自由口通信读取AIW么?如果不能的话要怎…

    2021年7月5日