问题描述
我正在使用 modbus-tk 来模拟用于单元测试的 modbus 设备。
我添加了 2 个区块数据。
def add_test_1(self):
point = "Test_1"
addr = 40003
self.slave_1.add_block(point,mbdefines.HOLDING_REGISTERS,addr,1)
self.slave_1.set_values(point,5)
def add_test_2(self):
point = "Test_2"
addr = 40004
self.slave_1.add_block(point,2)
self.slave_1.set_values(point,(16560,0))
但是当我使用 modbus-tk 读取多寄存器时。
result = modbus_client.execute(1,mbdefines.READ_HOLDING_REGISTERS,40003,3)
print(result)
引发异常。
Modbus Error: Exception code = 2
同时,我仍然可以使用这个读取真实Modbus设备中的多个数据
result = modbus_client.execute(1,3)
print(result)
数据看起来像块数据我之前展示过
我使用的是 python 3.7.3 64 位
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)