【问题标题】:Qt C++ : read data from multiple slaves using Modbus RTU class (RS485)Qt C++:使用 Modbus RTU 类(RS485)从多个从站读取数据
【发布时间】:2021-12-07 20:45:11
【问题描述】:

我尝试通过以下方式使用 Qt modbus 类从 1 个温度传感器读取值:

QModbusDataUnit(QModbusDataUnit::InputRegisters, /*startAddress*/ 1000, /*numberOfEntries*/ 1 );

现在我想要的是从不同的从站读取值(不同的设备 ID 的相同端口)。

我尝试了 pymodbus,因为它的函数有设备 id 参数(例如:unit=0x03):

result = client.read_input_registers(0x03E8 ,1, unit=0x03)

但我不知道如何使用 Qt 来做同样的事情。

感谢任何形式的帮助。

【问题讨论】:

    标签: c++ qt serial-port modbus rs485


    【解决方案1】:

    这并不像您想象的那么简单,并且 QtModbus 没有很好的文档记录,但我认为您需要在查询中使用 serverAddress 作为您的从站 ID:

    QModbusReply *QModbusClient::sendReadRequest(const QModbusDataUnit &read, int serverAddress)
    

    请参阅here 了解更多(不多)详细信息。

    【讨论】:

      猜你喜欢
      • 2018-12-15
      • 2016-12-30
      • 2021-12-21
      • 1970-01-01
      • 2011-06-13
      • 2021-04-20
      • 1970-01-01
      • 2022-07-22
      • 2014-04-07
      相关资源
      最近更新 更多