pymodbus连接串口
下面是使用pymodbus连接串口的示例代码:
from pymodbus.client.sync import ModbusSerialClient
client = ModbusSerialClient(method='rtu', port='/dev/ttyUSB0', baudrate=9600, timeout=1)
if client.connect():
response = client.read_coils(address=0, count=10)
if response.isError():
print("读取失败:", response)
else:
print("线圈状态:", response.bits)
response = client.read_discrete_inputs(address=0, count=10)
if response.isError():
print("读取失败:", response)
else:
print("离散输入状态:", response.bits)
response = client.read_holding_registers(address=0, count=10)
if response.isError():
print("读取失败:", response)
else:
print("保持寄存器:", response.registers)
response = client.read_input_registers(address=0, count=10)
if response.isError():
print("读取失败:", response)
else:
print("输入寄存器:", response.registers)
client.close()
注意,这里使用了ModbusSerialClient类来创建一个串口客户端,需要指定串口的参数,例如端口号、波特率等。然后可以通过connect()方法连接到设备,然后使用各种读取方法来读取Modbus寄存器的值。最后,使用close()方法关闭连接。