from pymodbus.client.sync import ModbusSerialClient#pip3 install pymodbus==2.5.3
创建Modbus RTU客户端
client = ModbusSerialClient(method=‘rtu’, port=‘COM7’, baudrate=115200, stopbits=1, bytesize=8, parity=‘N’)
连接Modbus设备
client.connect()
读取保持寄存器
result = client.read_holding_registers(address=0, count=30, unit=1)
if result.isError():
print(“读取保持寄存器失败:”, result)
else:
print(“保持寄存器值:”, result.registers)
写入多个寄存器
register_values = [1, 2, 3, 4, 5] # 要写入的寄存器值列表
starting_address = 90 # 要写入的寄存器起始地址
result = client.write_registers(address=starting_address, values=register_values, unit=1)
if result.isError():
print(“写入寄存器失败:”, result)
else:
print(“寄存器写入成功”)
关闭连接
client.close()
该文演示了如何使用Python的pymodbus库创建ModbusRTU客户端,连接到COM7端口,以115200波特率通信。它执行了读取和写入保持寄存器的操作,读取地址0的30个寄存器值,并向地址90开始的位置写入一系列数值。最后,它会关闭连接。
2343

被折叠的 条评论
为什么被折叠?



