我正在通过串行与 PLC 交谈,他们的规范没有描述从十六进制响应中获取值的任何公式。我正在编写一个 Python 脚本来处理响应。
我相信最终结果是一个有符号整数,在 C++ 中是“短”,并且规范在 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 以上的值仍然是个谜。
编辑:写完问题后,它变得很明显。十六进制字节需要反转。现在负值是未知的。
如果需要,可以在此处找到规范。