我正在通过串口与PLC通话,它们的规范没有描述从十六进制响应中获取值的任何公式。我正在编写一个Python脚本来处理响应。
我认为最终结果是有符号整数,C ++中的“short”和SEND消息中提到的LSB / MSB规范,但我不确定这是否适用于响应。
以下是我正在使用的一些值:
18 FD = -744
20 FF = -224
07 00 = 7 (parsed OK)
0A 00 = 10 (parsed OK)
64 00 = 100 (parsed OK)
36 01 = 310 (parsed OK)
B0 04 = 1200 (parsed OK)
A4 06 = 1700 (parsed OK)
目前我的计算正确地解析为FF 00
,但不知道正确的公式意味着高于255的值仍然是个谜。
编辑:写完问题之后就变得明显了。十六进制字节需要反转。现在负值是未知的。
如果需要,可以在 here 找到规范。