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

本文介绍如何处理Citect在Modbus通讯时数据不正确的方法,相关通讯资源请登录网信智汇(wangxinzhihui)。

Citect和第三方设备做modbus tcp通讯经常会碰到这种情况:通讯正常,数据也能去掉,但是数据显示不对,有以下几种原因:

  1. 寄存器地址基数不同造成:不同系统、设备的寄存器地址基数可能不同,有的是0,有的是1,通过调整数据地址来消除。
  2. 地址链接错误:地址错误造成数据错误,检查厂家提供的地址映射表来消除。
  3. 以上两者原因消除后,还是数据不对,这时,要考虑长整型、浮点型的字节顺序问题。通过修改配置参数,可以解决。

        a)首先,点击“设置向导/设置编辑器”

       b)弹出参数编辑对话框

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

    如上图:

  1. MODNET.PORT40_BOARD1.AB_L1:PORT40_BOARD1为端口名,AB_L1为IO设备名
  2. 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
  • 3: Order of bytes = 2 3 0 1
  • 2: Order of bytes = 0 1 2 3
  • 1: Order of bytes = 3 2 1 0

e)对于modnet20modnet30,以上参数设置无效,需要改成modnet协议。

f)参数设置后,项目需要重启后有效。

g)参数是针对电脑,并不会跟随项目,所以项目导入到新的电脑后,需要重新配置。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值