0
点赞
收藏
分享

微信扫一扫

【Qt】QModbusRtuSerialSlave类

JamFF 2022-02-06 阅读 49


00. 目录


文章目录

  • 00. 目录
  • 01. 概述
  • 02. 开发环境
  • 03. 公有成员方法
  • 04. Reimplemented Public Functions
  • 05. Reimplemented Protected Functions
  • 06. 附录

01. 概述

QModbusRtuSerialSlave类表示Modbus服务器,该服务器使用串行端口与Modbus客户端进行通信。

Header:  #include <QModbusRtuSerialSlave>
qmake: QT += serialbus
Since: Qt 5.8
Inherits: QModbusServer

通过Modbus进行通信需要在单个Modbus客户端实例和多个Modbus服务器之间进行交互。此类通过串行端口提供Modbus服务器实现。

由于多个Modbus服务器实例可以同时(使用串行总线)与Modbus客户端进行交互,因此服务器通过其​​serverAddress​​()进行标识。

02. 开发环境

Windows系统:Windows10

Qt版本:Qt5.15或者Qt6

03. 公有成员方法

QModbusRtuSerialSlave(QObject *parent = nullptr)
构造一个具有指定parent的QModbusRtuSerialSlave 。所述serverAddress预设为1。

virtual ~QModbusRtuSerialSlave()
析构函数

04. Reimplemented Public Functions

virtual bool processesBroadcast() const override
重新实现:QModbusServer :: processesBroadcast()常量。

05. 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)来回答。

06. 附录

6.1 Qt教程汇总


举报

相关推荐

QT 布局类

Qt类结构分析

Qt使用QOpcUa类

QT:按钮类控件

0 条评论