【发布时间】:2022-01-23 11:33:15
【问题描述】:
我有一个用于测量机器人轴运动的智能传感器,我会使用 modbus 读取每个读取位置的值(它每 100 毫秒读取一次值) 我尝试使用 pymodbus:
slave = ModbusSerialClient(port='/dev/ttyAMA4', parity=N, baudrate=9600, timeout=1)
slave.connect()
while True:
print(slave.read_input_registers(300013, 2, unit=10))
time.sleep(0.01)
问题是,我的脚本启动并读取第一个值,但在 5,6 秒后退出,因为对设备的请求太多(设备没有响应) 有一种方法可以调用 modbus 设备并在“RealTime”中获取值,例如每毫秒没有问题,因为连续调用的数量很大?
提前非常感谢
【问题讨论】:
-
您能否分享minimal, reproducible example 并提供您遇到的故障的详细信息(例外情况?)。显示的代码将执行一次读取(由于
return)。请注意,您的代码需要能够从超时中恢复(这很可能会不时发生)。
标签: python-3.x modbus pymodbus