这清奇的传感器,数据地址是输入寄存器的40001~40003
换句话说就是ID1时的命令是 01 04 9C 40 00 04 DE 4D
给mosbusRTU块写340001,通讯时报4的错。。。
问题补充:
回答说用40001的,看下我图片里的串口测试结果
用40001的话,命令就变成01 03 00 00 00 04 +校验 了
它我要PLC问下来的命令是01 04 9C 40 00 04 +校验
图片说明:
最佳答案
此回答已完善
MBUS_MSG/MB_MSG2 指令,对于输入寄存器,范围为 30001 至 39999
那就无法使用MBUS_MSG/MB_MSG2 指令读取了
补充:
无法读取的
提问者对于答案的评价:
热心回答的网友里面,有些人对于寄存器和对应的命令码关系,认知上还有点混乱,输入型的命令是04 (30001~39999),保持型的命令是03 (40001~49999 400001~465535)。
现在这个特殊的仪表,要求的地址是输入型的40001,也就是除非能写340001,才会通信上。这个我用串口调试软件验证过了,上传图里有。
既然大家都确定了modbus块不支持这个地址,我就把仪表返厂了,让他们改表去了,就说这表这么用,很多工况都用不上,太小众。
还有就是有网友问我怎么看到PLC与仪表的通讯的,很简单,找一个232转485,485端当仪表一样接入串行总线就行了,232串口接电脑上。既可监听通讯情况,又可以使用modbusslave类的软件模拟仪表,也可以关闭PLC,然后当上位机测试仪表。
原创文章,作者:ximenziask,如若转载,请注明出处:https://www.zhaoplc.com/plc279731.html