当使用Python编写Modbus通信程序时,你可以选择使用不同的库,具体选择取决于你的需求和设备的通信协议。以下是使用pyModbus
库编写一个简单的Modbus TCP通信程序的示例:
from pymodbus.client.sync import ModbusTcpClient
# 创建Modbus TCP客户端
client = ModbusTcpClient('localhost', port=502)
# 连接到Modbus设备
client.connect()
# 读取保持寄存器中的数据
result = client.read_holding_registers(address=0, count=10, unit=1)
# 检查读取是否成功
if result.isError():
print("Error reading data: %s" % result)
else:
# 打印读取到的数据
print("Data: %s" % result.registers)
# 断开与Modbus设备的连接
client.close()
在这个示例中,我们首先创建一个Modbus TCP客户端对象,然后使用connect()
方法连接到Modbus设备。接下来,使用read_holding_registers()
方法从保持寄存器中读取数据,其中address
参数指定起始地址,count
参数指定要读取的寄存器数量,unit
参数指定Modbus设备的地址。最后,我们检查读取的结果是否有误,如果没有错误,我们打印读取到的寄存器数据。最后,使用close()
方法关闭与Modbus设备的连接。
请注意,上述示例仅适用于Modbus TCP通信,如果你的设备使用Modbus RTU或其他通信协议,请根据使用的库进行相应的更改。