【发布时间】:2020-12-02 04:08:04
【问题描述】:
我想通过 tcp/ip 使用 modbus 读取 SDM120 kwh 电表的寄存器。我有一个可以运行的 Windows 程序 Simply Modbus。发送到仪表的字节串是“00 01 00 00 00 06 01 04 00 00 00 01”。
我从寄存器 30001 得到结果
但是当我尝试使用 modpoll 执行此操作时,相同的字节字符串会导致另一个答案。
C:\modpoll-3.9\win>modpoll.exe -m tcp -c 1 -r 1 -t3 -1 -p 26 10.40.3.209
modpoll 3.9 - FieldTalk(tm) Modbus(R) Master Simulator
Copyright (c) 2002-2020 proconX Pty Ltd
Visit https://www.modbusdriver.com for Modbus libraries and tools.
Protocol configuration: MODBUS/TCP, FC4
Slave configuration...: address = 1, start reference = 1, count = 1
Communication.........: 10.40.3.209, port 26, t/o 1.00 s, poll rate 1000 ms
Data type.............: 16-bit register, input register table
-- Polling slave...
[1]: 17245
当我添加开始寄存器 30001 时,字节串不同 00 01 00 00 00 06 01 04 75 30 00 01 并且我得到一个超时:
C:\Users\adm_ago\Downloads\modpoll-3.9\win>modpoll.exe -m tcp -c 1 -r 30001 -t3 -1 -p 26 10.40.3.209
modpoll 3.9 - FieldTalk(tm) Modbus(R) Master Simulator
Copyright (c) 2002-2020 proconX Pty Ltd
Visit https://www.modbusdriver.com for Modbus libraries and tools.
Protocol configuration: MODBUS/TCP, FC4
Slave configuration...: address = 1, start reference = 30001, count = 1
Communication.........: 10.40.3.209, port 26, t/o 1.00 s, poll rate 1000 ms
Data type.............: 16-bit register, input register table
-- Polling slave...
Reply time-out!
我做错了什么?
【问题讨论】:
标签: modbus-tcp