以下是引用ynylwwz在2020/12/16 17:05:21的发言:
D156是16进制的H2553,仪表显示的数值255.3
我的感觉你这个仪表应该是无协议通讯的,PLC用了RS指令,如果是这样的话PLC读回来的数据应该用HEX指令把ASCII码转成HEX并且M1161=On,M1161=On表示是8位模式,然后再进行计算。
比如仪表上的显示是255.3,PLC读取出来的ASCII码是 2 5 5 . 3,占用了5个寄存器,假设是D11-D15
用HEX指令转换后变成十六进制的 2 5 5 3,假设是D21-D24 ,“.”不用转换
然后再相乘相加,就是用D21*1000+D22*100+D23*10+D24
也就是2*1000+5*100+5*10+3=2553,再把2553转成浮点,再除以10就等于255.3。
+5