我有一个连接到 Modbus-RTU/TCP-Gateway 的 Modbus-RTU,我正在尝试调用它。工作正常,但我必须在每个阅读周期读取多个值。
我正在使用 pymodbus 库。
假设我有 3 个寄存器要读取:
地址,字长
1:0,2
2:2,2
3:206、4
我现在正在做的是一起调用寄存器值 1 和 2,从地址 0 开始读取,字数为 4。但是我必须再次请求寄存器值 3。
这意味着,在尝试为值添加时间戳时,我遇到的问题是它们实际上不是在完全相同的时间读取的。
问题:有没有办法同时调用多个 modbus 寄存器,比如通过在 python 中调用 read_holding_registers 和寄存器列表和它们各自的字数列表?
以这样的方式工作:
>> response = gateway.read_holding_registers(address=[0,2,206], count=[2,2,4], unit=unit).registers
>> response
<< [[0,26],[0,27],[0,0,0,3008]]