【Qt】QModbusTcpServer类

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
喜欢就支持一下吧
点赞225 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容