通讯软件007——如何处理Citect Modbus取数不正确

本文介绍如何处理Citect在Modbus通讯时数据不正确的方法,相关通讯资源请登录网信智汇(wangxinzhihui.com)。
Citect和第三方设备做modbus tcp通讯经常会碰到这种情况:通讯正常,数据也能去掉,但是数据显示不对,有以下几种原因:
1、寄存器地址基数不同造成:不同系统、设备的寄存器地址基数可能不同,有的是0,有的是1,通过调整数据地址来消除。
2、地址链接错误:地址错误造成数据错误,检查厂家提供的地址映射表来消除。
3、以上两者原因消除后,还是数据不对,这时,要考虑长整型、浮点型的字节顺序问题。通过修改配置参数,可以解决。
a)首先,点击“设置向导/设置编辑器”

b)弹出参数编辑对话框

c)整型数据:在参数中增加参数组MODNET.IOPORT.IODEV,增加参数LONGDATATYPE。

如上图:
MODNET.PORT40_BOARD1.AB_L1:PORT40_BOARD1为端口名,AB_L1为IO设备名
LONGDATATYPE:调整整型类型。取值范围如下:
0: 整数 = 10000 * low + high,整数范围0 to 99,999,999
1:整数 = 65536 * low + high,整数范围-2,147,483,648 to +2,147,483,647
2: 整数 = 10000 * high + low,整数范围0 to 99,999,999
3:整数 = 65536 * high + low,整数范围-2,147,483,648 to +2,147,483,647
d)浮点数据:在参数中增加参数组MODNET.IOPORT.IODEV,增加参数FloatMode。
FloatMode取值范围如下:
0: Order of bytes = 1 0 3 2
1: Order of bytes = 3 2 1 0
2: Order of bytes = 0 1 2 3
3: Order of bytes = 2 3 0 1
e)对于modnet20和modnet30,以上参数设置无效,需要改成modnet协议。
f)参数设置后,项目需要重启后有效。
g)参数是针对电脑,并不会跟随项目,所以项目导入到新的电脑后,需要重新配置。
更多通讯资源请登录网信智汇(wangxinzhihui.com)。