MCGS能读开关量不能读模拟量 点击:164 | 回复:9



waa123456

    
  • 精华:0帖
  • 求助:0帖
  • 帖子:0帖 | 5回
  • 年度积分:50
  • 历史总积分:102
  • 注册:2019年10月21日
发表于:2024-11-30 16:56:49
楼主
求助帖30分-未结帖

和各位大佬请教一下:

我这和制冷机modbus RUT通讯,能读到开关量,却读不到模拟量

各种数据类型试了都读不到

读到的通讯故障指示没问题

modbus poll 是可以读到的。

image.png




waa123456

  • 精华:0帖
  • 求助:1帖
  • 帖子:1帖 | 5回
  • 年度积分:23
  • 历史总积分:75
  • 注册:2019年10月21日
发表于:2024-11-30 17:00:41
1楼

e8a2ba7620381a6c40a447f560d753a.jpg

回复本条

    

ozoner

  • 精华:0帖
  • 求助:0帖
  • 帖子:17帖 | 883回
  • 年度积分:3
  • 历史总积分:8891
  • 注册:2017年1月12日
发表于:2024-12-01 05:26:56
2楼

换个读法试试看,读取31055整数值,如果可以正常读到,然后用脚本测试每个位再赋给相应的变量。

回复本条

    

ozoner

  • 精华:0帖
  • 求助:0帖
  • 帖子:17帖 | 885回
  • 年度积分:5
  • 历史总积分:8893
  • 注册:2017年1月12日
发表于:2024-12-01 05:29:39
3楼

再有,你试试读31056, 通常是上位机读取时用的地址

回复本条

    
  • waa1234567楼主

    基本解决了,协议用RTU地址从0开始读写1、3、4区,RTU地址从1开始读写0区,猜测可能和设备的数据转发有关!

    2024-12-02 12:53:45回复

懂一点点

  • 精华:1帖
  • 求助:2帖
  • 帖子:11帖 | 2753回
  • 年度积分:0
  • 历史总积分:1357
  • 注册:2008年5月13日
发表于:2024-12-02 15:03:27
4楼

选择4区,数据选只读,不要选3区

回复本条

    

江湖再见-余辉

  • [版主]
  • 精华:54帖
  • 求助:45帖
  • 帖子:3296帖 | 28613回
  • 年度积分:283
  • 历史总积分:144949
  • 注册:2006年4月25日
发表于:2024-12-02 15:08:32
5楼

只要通讯上了,咋都好说。开关量能读出来,模拟量也就能读出来。

回复本条

    

懂一点点

  • 精华:1帖
  • 求助:2帖
  • 帖子:11帖 | 2754回
  • 年度积分:0
  • 历史总积分:1358
  • 注册:2008年5月13日
发表于:2024-12-02 15:22:20
6楼

31055不是寄存器编号,这里寄存器编号是31055,3开头的寄存器是输入寄存器,用04功能码来读

回复本条

    

JSdanzi

  • 精华:0帖
  • 求助:0帖
  • 帖子:13帖 | 710回
  • 年度积分:95
  • 历史总积分:13335
  • 注册:2012年9月22日
发表于:2024-12-02 16:52:32
7楼

检查一下是不是有地址偏移,另外HMI 有个校验字节序的  高低字节转一个再试试,有可能高低不同

回复本条

    

请叫我王老湿

  • [版主]
  • 精华:0帖
  • 求助:0帖
  • 帖子:631帖 | 8953回
  • 年度积分:21
  • 历史总积分:360192
  • 注册:2011年4月25日
发表于:2024-12-03 09:11:43
8楼

Modbus RTU通信时无法读取模拟量是一个常见问题,这通常是因为Modbus协议设计上不支持直接读取模拟量。Modbus协议主要是针对数字量设备设计的,如开关量和计数器等,而模拟量通常需要通过一定的转换才能以数字形式读取。

回复本条

    

热门招聘
相关主题

官方公众号

智造工程师