访问Modbus 32位的浮点型(D 或 F)寄存器



主要软件:
主要软件版本: 5.1
主要软件修正版本: N/A
次要软件: N/A

问题:
我正在尝试访问Modbus 设备的D寄存器,Modbus设备处于监听模式或运行于工业自动化OPC服务器中。由于某些原因,读取寄存器数据的时候使用了错误的顺序,并返回了非常奇怪的数据,请问如何修复它?


解答:
某些特殊的Modbus设备存储 F 或 D 数据的时候,使用相反的顺序。因此,在读取这些数据的时候,会得到一个非常大的错误的数值。
 
解决这个问题,需要将读取到的浮点数据顺序进行反转。这可以通过在Lookout中进行如下配置实现:
1、打开Modbus对象的属性;
2、点击“高级”;
3、确保“Modicon 32-bit floating point order (0123 vs. 3210) ”选项被勾选。
 
这项设置只改变了F 寄存器的读取方式。
如果需要同时改变 F 和 D 寄存器的读取方式,需要使用到附件中的Modbus.cbx文件。仅需要将现有的modbus.cbx文件替换成新的即可。
 
需要注意:这是一个未经测试的modbus.cbx版本,且需要得到产品支持工程师的许可才能发布。


相关链接: KB 19IJR48U: The Working Principle Behind Reading Adjacent (32 Bit) D or F Registers of Modbus

KB 1PN67SB7: Detailed Descriptions of Lookout Accessing Floating Point Numbers/Registers in a Modbus PLC

附件:


modbus.cbx - modbus.cbx



报告日期: 10/15/2003
最近更新: 08/25/2015
文档编号: 32EI8DQ7