MODBUS RTU:收到的数据不正确

时间:2017-04-19 04:13:05

标签: modbus opc

我有一个Precia Molen i30称重指示器。我正在使用OPC软件(kepware)通过 Modbus 485 与此指示器通信。我已经设置了所有参数。根据Manual,总电流重量在ADDRESS = 256,数据类型是32位有符号整数。我在OPC软件中设置了地址300257或400257以及数据类型“Double Word”。通过此地址,我的OPC软件和称重显示器之间的通信正常,但我的软件中的值与显示在指示器上的值不同。例如。, 当称重指示器上的值= 0时,我的Modbus软件中的值= 0, 当称重指示器的值= 10时,我的Modbus软件中的值= 655360, 当称重指示器上的值= 7160时,我的Modbus软件中的值= 468285400,当称重指示器上的值= 50270时,我的Modbus软件中的值= 3294494720。 请告诉我可能是什么问题。谢谢

1 个答案:

答案 0 :(得分:0)

你有一个字节序问题。

当设备指示10(0xa)时,您的Modbus主站将其解释为655360(0xa0000)。

您的OPC服务器正在读取寄存器256和257(因为它是一个32位变量),但它以错误的顺序连接寄存器。检查OPC服务器手册如何交换寄存器顺序,您将获得正确的值。