QModbusTcpServer 类

QModbusTcpServer 类表示一个使用 TCP 服务器与其 Modbus 客户端通信的 Modbus 服务器。 更多信息...

头文件 #include <QModbusTcpServer>
CMakefind_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmakeQT += serialbus
继承 QModbusServer

公共函数

QModbusTcpServer(QObject *parent = nullptr)
virtual~QModbusTcpServer()
voidinstallConnectionObserver(QModbusTcpConnectionObserver *observer)

信号

voidmodbusClientDisconnected(QTcpSocket *modbusClient)

重实现受保护函数

virtual voidclose() override
virtual boolopen() override
virtual QModbusResponseprocessRequest(const QModbusPdu &request) override

详细描述

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

Modbus TCP 网络可以有多台服务器。服务器通过代表 QModbusTcpClient 的客户端设备读取和写入。

成员函数文档

[显式构造] QModbusTcpServer::QModbusTcpServer(QObject *parent = nullptr)

使用指定的 parent 构造一个 QModbusTcpServer。服务器地址 预设为 255

[虚函数 noexcept] QModbusTcpServer::~QModbusTcpServer()

销毁 QModbusTcpServer 实例。

[重写虚受保护函数] void QModbusTcpServer::close()

重写: QModbusDevice::close

void QModbusTcpServer::installConnectionObserver(QModbusTcpConnectionObserver *observer)

安装一个 observer,该 observer 可用于在这个服务器实例上获得通知,当新的 TCP 客户端连接到该服务器实例时。此外,observer 可用于拒绝传入的 TCP 连接。

QModbusTcpServer 拥有了给定的 observer。之前设置的 observer 将被删除。可以通过将此函数的参数设置为 nullptr 来卸载 observer。

请参阅 相关链接 QModbusTcpConnectionObserver

[signal] void QModbusTcpServer::modbusClientDisconnected(QTcpSocket *modbusClient)

当基于 TCP 的当前 modbusClient 从此 Modbus TCP 服务器断开连接时,将发出此信号。请注意,可能同时连接了多个 TCP 客户端。

可以通过安装一个 QModbusTcpConnectionObserver 来接收新连接的通知,请使用 installConnectionObserver

请参阅 相关链接 installConnectionObserver

[override virtual protected] bool QModbusTcpServer::open()

重新实现了: QModbusDevice::open

[override virtual protected] QModbusResponse QModbusTcpServer::processRequest(const QModbusPdu &request)

重新实现了: QModbusServer::processRequest(const QModbusPdu &request)。

处理 request 指定的 Modbus 客户端请求并返回一个 Modbus 响应。

以下 Modbus 函数代码被过滤掉,因为根据 Modbus 应用协议规范 1.1b,它们仅适用于串行线。

对 TCP 服务器的请求将以包含异常代码 QModbusExceptionResponse::IllegalFunction 的 Modbus 异常响应来响应。

© 2024 The Qt Company Ltd. 本文档中包含的贡献是各自所有者的版权。提供的文档已根据免费软件基金会的规范获得许可,许可证版本为 GNU 自由文档许可证版本 1.3。Qt 和相关的标志是 The Qt Company Ltd 在芬兰和/或其他国家和地区的商标。所有其他商标均为其各自所有者的财产。