我正在研究系统的自动化测试用例,需要一个自动modbus输入设备。
我的用例是实现基于Raspberry pi的RTU modbus从站并连接到modbus主站。
…
Pymodbus库有几个服务器/从站/响应器(通常是设备是服务器/从站)和主站/客户机/请求站的示例。 Modbus协议中的过程是服务器/从服务器必须从主/客户端发出请求,然后响应它。
这是一个Modbus RTU客户端(主)代码段代码,用于从Modbus RTU服务器(从站)或Modbus设备读取 pymodbus 图书馆:
pymodbus
from pymodbus.client.sync import ModbusSerialClient client = ModbusSerialClient( method='rtu', port='/dev/ttyUSB0', baudrate=115200, timeout=3, parity='N', stopbits=1, bytesize=8 ) if client.connect(): # Trying for connect to Modbus Server/Slave '''Reading from a holding register with the below content.''' res = client.read_holding_registers(address=1, count=1, unit=1) '''Reading from a discrete register with the below content.''' # res = client.read_discrete_inputs(address=1, count=1, unit=1) if not res.isError(): print(res.registers) else: print(res) else: print('Cannot connect to the Modbus Server/Slave')