pymodbus和pymodbus3模块有什么区别?

时间:2016-09-01 10:16:40

标签: python python-3.x pymodbus pymodbus3

希望你做得很好!我最近开始使用python进行modbus通信。我想澄清一些疑问。

  1. 哪种模块更适合使用Python进行modbus实现 - minimalmodbus,pymodbus,pymodbus3等。
  2. 我正在使用python3.4 ,但无法使用pip或任何方式安装pymodbus模块。所以我安装了pymodbus3
  3. 使用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)
    
  4. 用于读取线圈状态(功能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()
    

    欢迎积极响应!

1 个答案:

答案 0 :(得分:7)

这是一个相当陈旧的问题,但我想把这些信息放在那里,这样可以减少混淆。

pymodbus3pymodbus的一个分支,用于在pymodbus之前支持python3。 pymodbus现在完全支持python3,pymodbus3不再维护,并且不具备原始版本的所有最新版本。

有关详细信息,请参阅https://github.com/uzumaxy/pymodbus3/issues/7