15:57:12发送(H):1 3 9C 40 0 2 EB 8F
15:57:12接收(H):1 3 4 0 1F 0 10 CA 39
15:58:12发送(H):1 3 9C 41 0 2 BA 4F
15:58:12接收(H):1 3 4 0 10 0 0 FB F6
15:58:54发送(H):1 3 9C 40 0 1 AB 8E
15:58:54接收(H):1 3 2 0 1F F9 8C
从以上可知:
寄存器9C40的值是16#1F
寄存器9C41的值是16#10
寄存器9C42的值是16#00
如果以上值符合实际(通讯协议)的值,那么在用主站库的时候,在地址(Addr)内输入440000(16#6B6C0)试试。因为西门子 S7-200 · LOGO! · SITOP 参考
里有如下说明:
如何访问大于 9999 的保持寄存器地址?
通常
modbus 协议的保持寄存器地址范围在 40001 - 49999 之间。对于多数应用来说已经够了。但有些
modbus 从站把地址映射到保持寄存器区的地址超过 9999 的部分。
modbus Master 协议库支持超过 9999 的保持寄存器地址。地址范围为 400001 - 465536。只需在调用 MBUS_MSG 子程序时给 Addr 参数赋相应的值即可,如 416768。