En esta página

QModbusTcpServer Class

La clase QModbusTcpServer representa un servidor Modbus que utiliza un servidor TCP para su comunicación con el cliente Modbus. Más...

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

Funciones públicas

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

Señales

void modbusClientDisconnected(QTcpSocket *modbusClient)

Funciones protegidas reimplementadas

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

Descripción Detallada

La comunicación vía Modbus requiere la interacción entre una única instancia de cliente Modbus y un único servidor Modbus. Esta clase proporciona la implementación del servidor Modbus a través de un servidor TCP.

Las redes Modbus TCP pueden tener múltiples servidores. Los servidores son leídos/escritos por un dispositivo cliente representado por QModbusTcpClient.

Documentación de las funciones miembro

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

Construye un QModbusTcpServer con el parent especificado. El preajuste de serverAddress es 255.

[virtual noexcept] QModbusTcpServer::~QModbusTcpServer()

Destruye la instancia QModbusTcpServer.

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

Reimplementa: QModbusDevice::close().

void QModbusTcpServer::installConnectionObserver(QModbusTcpConnectionObserver *observer)

Instala un observer que puede utilizarse para obtener notificaciones cuando un nuevo cliente TCP se conecta a esta instancia de servidor. Además, observer puede utilizarse para rechazar la conexión TCP entrante.

QModbusTcpServer toma posesión del observer dado. Cualquier observador previamente configurado será eliminado. El observador puede ser desinstalado llamando a esta función con nullptr como parámetro.

Véase también QModbusTcpConnectionObserver.

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

Esta señal se emite cuando un modbusClient actual basado en TCP se desconecta de este servidor Modbus TCP. Tenga en cuenta que puede haber varios clientes TCP conectados al mismo tiempo.

Las notificaciones sobre nuevas conexiones entrantes se pueden recibir instalando un QModbusTcpConnectionObserver a través de installConnectionObserver().

Véase también installConnectionObserver.

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

Reimplementa: QModbusDevice::open().

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

Reimplementa: QModbusServer::processRequest(const QModbusPdu &request).

Procesa la petición del cliente Modbus especificada por request y devuelve una respuesta Modbus.

Los siguientes códigos de función Modbus se filtran ya que son sólo de línea serie según la Especificación del Protocolo de Aplicación Modbus 1.1b:

Una petición al servidor TCP será respondida con una respuesta de excepción Modbus con el código de excepción QModbusExceptionResponse::IllegalFunction.

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.