![](/img/trans.png)
[英]How can I read from an RS485 COM port in C++ with Windows?
[英]Qt C++ : read data from multiple slaves using Modbus RTU class (RS485)
我尝试通过以下方式使用 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 做同样的事情。
任何形式的帮助表示赞赏。
这并不像您想象的那么简单,而且 QtModbus 没有很好的文档记录,但我认为您需要在查询中使用serverAddress
作为您的从站 ID 来执行此操作:
QModbusReply *QModbusClient::sendReadRequest(const QModbusDataUnit &read, int serverAddress)
有关一些(不多)的详细信息,请参见此处。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.