当前位置:   article > 正文

Qt QModbusTcpServer类

qmodbustcpserver

1. 概述

QModbusTcpServer类表示使用TCP服务器与Modbus客户端进行通信的Modbus服务器。

  1. Header: #include <QModbusTcpServer>
  2. qmake: QT += serialbus
  3. Since: Qt 5.8
  4. Inherits: QModbusServer

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

Modbus TCP网络可以具有多个服务器。服务器由 QModbusTcpClient代表的客户端设备读取/写入。

2. 开发环境

Windows系统:Windows10

Qt版本:Qt5.15或者Qt6

3. 成员方法

  1. QModbusTcpServer(QObject *parent = nullptr)
  2. 构造一个具有指定parent的QModbusTcpServer 。所述serverAddress预设为255
  3. virtual ~QModbusTcpServer()
  4. 析构函数
  5. void installConnectionObserver(QModbusTcpConnectionObserver *observer)
  6. 安装一个观察者,当新的TCP客户端连接到该服务器实例时,该观察者可用于获取通知。另外,观察者可以用来拒绝传入的TCP连接。
  7. QModbusTcpServer拥有给定观察者的所有权。任何先前设置的观察者将被删除。可以通过使用nullptras参数调用此函数来卸载观察者。
  8. 此功能在Qt 5.13中引入。
  9. virtual void close() override
  10. 重新实现:QModbusDevice :: close()。
  11. virtual bool open() override
  12. 重新实现:QModbusDevice :: open()。
  13. virtual QModbusResponse processRequest(const QModbusPdu &request) override
  14. 重新实现:QModbusServer :: processRequest(const QModbusPdu&request)。
  15. 处理由指定的Modbus客户端请求请求并返回一个Modbus响应。
  16. 根据Modbus应用协议规范1.1b,以下Modbus功能代码被过滤掉,因为它们是串行线路:
  17. QModbusRequest::ReadExceptionStatus
  18. QModbusRequest::Diagnostics
  19. QModbusRequest::GetCommEventCounter
  20. QModbusRequest::GetCommEventLog
  21. QModbusRequest::ReportServerId

4. 信号

  1. void modbusClientDisconnected(QTcpSocket *modbusClient)
  2. 当前基于TCP的modbusClient与该Modbus TCP服务器断开连接时,将发出此信号。请注意,可能同时连接了多个TCP客户端。
  3. 可以通过installConnectionObserver()安装QModbusTcpConnectionObserver来接收有关传入的新连接的通知。
  4. 此功能在Qt 5.13中引入。

本文福利,费领取Qt开发学习资料包、技术视频,内容包括(C++语言基础,Qt编程入门,QT信号与槽机制,QT界面开发-图像绘制,QT网络,QT数据库编程,QT项目实战,QSS,OpenCV,Quick模块,面试题等等)↓↓↓↓↓↓见下面↓↓文章底部点击费领取↓↓

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号