waa123456
和各位大佬请教一下:
我这和制冷机modbus RUT通讯,能读到开关量,却读不到模拟量
各种数据类型试了都读不到
读到的通讯故障指示没问题
modbus poll 是可以读到的。
回复本条
发表回复
ozoner
换个读法试试看,读取31055整数值,如果可以正常读到,然后用脚本测试每个位再赋给相应的变量。
再有,你试试读31056, 通常是上位机读取时用的地址
waa1234567楼主
基本解决了,协议用RTU地址从0开始读写1、3、4区,RTU地址从1开始读写0区,猜测可能和设备的数据转发有关!
2024-12-02 12:53:45回复
懂一点点
选择4区,数据选只读,不要选3区
江湖再见-余辉
只要通讯上了,咋都好说。开关量能读出来,模拟量也就能读出来。
31055不是寄存器编号,这里寄存器编号是31055,3开头的寄存器是输入寄存器,用04功能码来读
JSdanzi
检查一下是不是有地址偏移,另外HMI 有个校验字节序的 高低字节转一个再试试,有可能高低不同
请叫我王老湿
Modbus RTU通信时无法读取模拟量是一个常见问题,这通常是因为Modbus协议设计上不支持直接读取模拟量。Modbus协议主要是针对数字量设备设计的,如开关量和计数器等,而模拟量通常需要通过一定的转换才能以数字形式读取。
ggbbgg
模拟量先放到plc寄存器,然后用标签读地址呗。有地址的为什么叫模拟量?IQMV对应plc。RTU串口驱动装了没?直接添地址好不?
兜兜没钱
地址是31055,不是1055.如果不行你试一下31054!
Smile-lyc
感谢求助者和答疑者对求助答疑板块的厚爱,赠人玫瑰,手留余香。
对于求助者要求:
1、请在一个月内自行结贴,把悬赏积分(如果设置积分悬赏求助)发放给答疑者;
2、如果在求助答疑过程中,自己已经有效解决问题,建议大家把解决问题方法在自己求助帖分享,有效分享可以获得50积分奖励。
3、求助答疑板块版主结贴时间一般滞后30~45天,以方便大家对求助问题答疑足够时间,也为了每一个优秀答疑人员都可以获取到自己的积分和MP奖励。
4、2025年加油!
Q458751110
有 可能寄存器地址错一位