QModbusTcpServer Class

The QModbusTcpServer class represents a Modbus server that uses a TCP server for its communication with the Modbus client. 更多...

头: #include <QModbusTcpServer>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus
继承: QModbusServer

公共函数

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

信号

void modbusClientDisconnected (QTcpSocket * modbusClient )

重实现保护函数

virtual void close () override
virtual bool open () override
virtual QModbusResponse processRequest (const QModbusPdu & request ) override

详细描述

Communication via Modbus requires the interaction between a single Modbus client instance and single Modbus server. This class provides the Modbus server implementation via a TCP server.

Modbus TCP networks can have multiple servers. Servers are read/written by a client device represented by QModbusTcpClient .

成员函数文档编制

[explicit] QModbusTcpServer:: QModbusTcpServer ( QObject * parent = nullptr)

Constructs a QModbusTcpServer with the specified parent serverAddress preset is 255 .

[虚拟] QModbusTcpServer:: ~QModbusTcpServer ()

销毁 QModbusTcpServer 实例。

[override virtual protected] void QModbusTcpServer:: close ()

重实现: QModbusDevice::close ().

void QModbusTcpServer:: installConnectionObserver ( QModbusTcpConnectionObserver * observer )

Installs an observer that can be used to obtain notifications when a new TCP client connects to this server instance. In addition, the observer can be used to reject the incoming TCP connection.

QModbusTcpServer takes ownership of the given observer . Any previously set observer will be deleted. The observer can be uninstalled by calling this function with nullptr as parameter.

另请参阅 QModbusTcpConnectionObserver .

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

This signal is emitted when a current TCP based modbusClient disconnects from this Modbus TCP server. Note that there might be several TCP clients connected at the same time.

Notifications on incoming new connections can be received by installing a 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).

Processes the Modbus client request specified by request and returns a Modbus response.

The following Modbus function codes are filtered out as they are serial line only according to the Modbus Application Protocol Specification 1.1b:

A request to the TCP server will be answered with a Modbus exception response with the exception code QModbusExceptionResponse::IllegalFunction.