00. 目录
01. 概述
QModbusTcpServer类表示使用TCP服务器与Modbus客户端进行通信的Modbus服务器。
Header: #include <QModbusTcpServer>
qmake: QT += serialbus
Since: Qt 5.8
Inherits: QModbusServer
通过Modbus进行通信需要在单个Modbus客户端实例和单个Modbus服务器之间进行交互。此类通过TCP服务器提供Modbus服务器实现。
Modbus TCP网络可以具有多个服务器。服务器由QModbusTcpClient代表的客户端设备读取/写入。
02. 开发环境
Windows系统:Windows10
Qt版本:Qt5.15或者Qt6
03. 成员方法
QModbusTcpServer(QObject *parent = nullptr)
构造一个具有指定parent的QModbusTcpServer 。所述serverAddress预设为255。
virtual ~QModbusTcpServer()
析构函数
void installConnectionObserver(QModbusTcpConnectionObserver *observer)
安装一个观察者,当新的TCP客户端连接到该服务器实例时,该观察者可用于获取通知。另外,观察者可以用来拒绝传入的TCP连接。
QModbusTcpServer拥有给定观察者的所有权。任何先前设置的观察者将被删除。可以通过使用nullptras参数调用此函数来卸载观察者。
此功能在Qt 5.13中引入。
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响应。
根据Modbus应用协议规范1.1b,以下Modbus功能代码被过滤掉,因为它们是串行线路:
QModbusRequest::ReadExceptionStatus
QModbusRequest::Diagnostics
QModbusRequest::GetCommEventCounter
QModbusRequest::GetCommEventLog
QModbusRequest::ReportServerId
04. 信号
void modbusClientDisconnected(QTcpSocket *modbusClient)
当前基于TCP的modbusClient与该Modbus TCP服务器断开连接时,将发出此信号。请注意,可能同时连接了多个TCP客户端。
可以通过installConnectionObserver()安装QModbusTcpConnectionObserver来接收有关传入的新连接的通知。
此功能在Qt 5.13中引入。
05. 预留
06. 附录
6.1 Qt教程汇总
网址:https://dengjin.blog.csdn.net/article/details/115174639
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容