1. 概述
QModbusRtuSerialSlave类表示Modbus服务器,该服务器使用串行端口与Modbus客户端进行通信。
Header: #include <QModbusRtuSerialSlave>
qmake: QT += serialbus
Since: Qt 5.8
Inherits: QModbusServer
通过Modbus进行通信需要在单个Modbus客户端实例和多个Modbus服务器之间进行交互。此类通过串行端口提供Modbus服务器实现。
由于多个Modbus服务器实例可以同时(使用串行总线)与Modbus客户端进行交互,因此服务器通过其 serverAddress()进行标识。
2. 开发环境
Windows系统:Windows10
Qt版本:Qt5.15或者Qt6
3. 公有成员方法
QModbusRtuSerialSlave(QObject *parent = nullptr)
构造一个具有指定parent的QModbusRtuSerialSlave 。所述serverAddress预设为1。
virtual ~QModbusRtuSerialSlave()
析构函数
4. Reimplemented Public Functions
virtual bool processesBroadcast() const override
重新实现:QModbusServer :: processesBroadcast()常量。
5. Reimplemented Protected Functions
virtual void close() override
重新实现:QModbusDevice :: close()。
virtual bool open() override
重新实现:QModbusDevice :: open()。
注意:调用此函数时,现有的缓冲数据将从串行端口中删除。
virtual QModbusResponse processRequest(const QModbusPdu &request) override
重新实现:QModbusServer :: processRequest(const QModbusPdu&request)。
处理由指定的Modbus客户端请求请求并返回一个Modbus响应。
MEI类型13(0x0D)的Modbus函数QModbusRequest :: EncapsulatedInterfaceTransport CANopen通用参考被滤除,
因为它通常仅是Modbus TCP或Modbus串行ASCII。
对RTU串行从站的请求将通过Modbus异常响应(带有异常代码QModbusExceptionResponse :: IllegalFunction)来回答。
本文暂时没有评论,来添加一个吧(●'◡'●)