Python编写Modbus:详细指南与示例
理解Modbus
Modbus是一种串行通信协议,广泛用于工业自动化领域。它定义了一系列消息结构,用于在多个设备之间交换数据。Python由于其易用性和丰富的库,成为了编写Modbus应用程序的热门选择。
安装PyModbus库
PyModbus是Python中一个功能强大的Modbus协议栈实现,支持RTU和TCP两种模式。
Bash
pip install pymodbus
复制
基本示例1: Modbus TCP客户端
from pymodbus.client.sync import ModbusTcpClient # 连接到Modbus TCP服务器 client = ModbusTcpClient('localhost', 502) # 读取寄存器 result = client.read_holding_registers(0, 10) if result.function_code < 0x80: print(result.registers) # 写入寄存器 client.write_register(10, 1234) # 关闭连接 client.close()
复制
代码解释:
ModbusTcpClient
: 创建一个Modbus TCP客户端对象。read_holding_registers
: 读取多个保持寄存器。write_register
: 写入一个保持寄存器。
示例2: Modbus RTU客户端
from pymodbus.client.sync import ModbusSerialClient # 配置串口参数 client = ModbusSerialClient( method='rtu', port='/dev/ttyUSB0', baudrate=9600, parity='N', stopbits=1, bytesize=8 ) # 连接 client.connect() # 读取寄存器 result = client.read_holding_registers(0, 10) if result.function_code < 0x80: print(result.registers) # 关闭连接 client.close()
复制