和各位大佬请教一下:
我这和制冷机modbus RUT通讯,能读到开关量,却读不到模拟量
各种数据类型试了都读不到
读到的通讯故障指示没问题
modbus poll 是可以读到的。
和各位大佬请教一下:
我这和制冷机modbus RUT通讯,能读到开关量,却读不到模拟量
各种数据类型试了都读不到
读到的通讯故障指示没问题
modbus poll 是可以读到的。
换个读法试试看,读取31055整数值,如果可以正常读到,然后用脚本测试每个位再赋给相应的变量。
再有,你试试读31056, 通常是上位机读取时用的地址
选择4区,数据选只读,不要选3区
只要通讯上了,咋都好说。开关量能读出来,模拟量也就能读出来。
31055不是寄存器编号,这里寄存器编号是31055,3开头的寄存器是输入寄存器,用04功能码来读
检查一下是不是有地址偏移,另外HMI 有个校验字节序的 高低字节转一个再试试,有可能高低不同
Modbus RTU通信时无法读取模拟量是一个常见问题,这通常是因为Modbus协议设计上不支持直接读取模拟量。Modbus协议主要是针对数字量设备设计的,如开关量和计数器等,而模拟量通常需要通过一定的转换才能以数字形式读取。
模拟量先放到plc寄存器,然后用标签读地址呗。有地址的为什么叫模拟量?IQMV对应plc。RTU串口驱动装了没?直接添地址好不?
地址是31055,不是1055.如果不行你试一下31054!