Pymodbus 和异步串行客户端
Pymodbus and async serial client
我正在尝试 read/write 一些寄存器到一些 modbus 设备。我的软件使用 Python 3.4 和 Twisted,所以我想要一个与此类堆栈集成并允许异步通信的库。
我正在尝试使用 pymodbus 来实现 modbus 串行客户端,但是该库似乎不再提供 ModbusSerialClient 了?
以下代码:
from pymodbus.client.async import ModbusSerialClient as ModbusClient
将在 Python 3.4 和 pymodbus 1.4.0 上引发 ImportError。
标准示例将 ModbusClient 与 connectTCP 结合使用,但 Twisted 尚不提供串行端点。
我看到有一个 StartSerialServer,但我不清楚是否可以使用它以及如何使用它。
我想通过 pymodbus 获取 reading/writing 寄存器的语法,或者对另一个工作库有建议,只要它在 Linux 上使用 tty,Python 3.x 和 Twisted.
您可以像这样使用 Twisted 连接到串行端口:
from twisted.internet.serialport import SerialPort
from twisted.internet import reactor
port = SerialPort(protocol, deviceName, reactor)
pymodbus 提供了一个 modbus 协议。所以在上面,protocol
应该是:
from pymodbus.client.async import ModbusClientProtocol
protocol = ModbusClientProtocol()
我正在尝试 read/write 一些寄存器到一些 modbus 设备。我的软件使用 Python 3.4 和 Twisted,所以我想要一个与此类堆栈集成并允许异步通信的库。
我正在尝试使用 pymodbus 来实现 modbus 串行客户端,但是该库似乎不再提供 ModbusSerialClient 了?
以下代码:
from pymodbus.client.async import ModbusSerialClient as ModbusClient
将在 Python 3.4 和 pymodbus 1.4.0 上引发 ImportError。
标准示例将 ModbusClient 与 connectTCP 结合使用,但 Twisted 尚不提供串行端点。
我看到有一个 StartSerialServer,但我不清楚是否可以使用它以及如何使用它。
我想通过 pymodbus 获取 reading/writing 寄存器的语法,或者对另一个工作库有建议,只要它在 Linux 上使用 tty,Python 3.x 和 Twisted.
您可以像这样使用 Twisted 连接到串行端口:
from twisted.internet.serialport import SerialPort
from twisted.internet import reactor
port = SerialPort(protocol, deviceName, reactor)
pymodbus 提供了一个 modbus 协议。所以在上面,protocol
应该是:
from pymodbus.client.async import ModbusClientProtocol
protocol = ModbusClientProtocol()