【Qt】QModbusTcpServer类
00. 目录
文章目录
- 00. 目录
- 01. 概述
- 02. 开发环境
- 03. 成员方法
- 04. 信号
- 05. 预留
- 06. 附录
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::ReadExceptionStatusQModbusRequest::DiagnosticsQModbusRequest::GetCommEventCounterQModbusRequest::GetCommEventLogQModbusRequest::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
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
