希望你过得很好!我最近开始使用 python 进行 modbus 通信。我想澄清我的几个疑问。
- 什么模块更适合使用 Python 实现 modbus - minimummodbus、pymodbus、pymodbus3 或其他。
- 我正在使用 python3.4但无法使用 pip 或任何方式安装 pymodbus 模块。所以我安装了 pymodbus3。
在使用 pymodbus3 模块时,我能够使用以下代码编写线圈:
import pymodbus3 import serial from pymodbus3.pdu import ModbusRequest from pymodbus3.client.sync import ModbusSerialClient as ModbusClient from pymodbus3.transaction import ModbusRtuFramer from serial.tools.list_ports import comports client = ModbusClient(method = "rtu", port = 'COM4',stopbits = 1, bytesize = 8, parity = 'N', baudrate= 19200) connection = client.connect() client.write_coil(1000, 1, unit = 0x01)
读取线圈状态(功能 0x01):
result = client.read_coils(1000,1)
print(result)
client.close()
它返回无。
或者写入注册和阅读也不起作用:
client.write_register(0, 1000, unit=0x01)
resu= client.read_holding_registers(0, 1, unit=0x01)
print(resu)
client.close()
欢迎积极回应!