支持扩展地址间隔的Python modbus库?

问题描述 投票:1回答:1

我有一个Modbus RTU设备,其信息存储在非标准数据地址中。

例如,它将读取的值(32位IEEE-754浮点型,converter link)存储在寄存器号1003-1004中。

思考这意味着我不能再使用标准的Python + Modbus RTU库,例如modbus-tkpymodbus

在这种情况下可以做什么?


设备详细信息

  • 设备:E + E Elektronik的CO2传感器,系列EE872
  • [User Manual(第5.2节包含Modbus RTU信息)]
  • 设备已使用Python 3.6插入Windows 10计算机中
python modbus pymodbus modbus-tk
1个回答
0
投票

您可以通过将其作为execute方法的可选参数,将不同类型的数据格式与modbus-tk一起使用

    # Read and write floats
    # master.execute(1, cst.WRITE_MULTIPLE_REGISTERS, starting_address=0, output_value=[3.14], data_format='>f')
    # logger.info(master.execute(1, cst.READ_HOLDING_REGISTERS, 0, 2, data_format='>f'))

data_format基于python struct模块。期望值在这里列出。

https://docs.python.org/3.7/library/struct.html#format-characters

希望对您有帮助

© www.soinside.com 2019 - 2024. All rights reserved.