Spec-Zone.ru › Qt

Класс QModbusTcpServer

Класс QModbusTcpServer представляет сервер Modbus, использующий TCP-сервер для связи с клиентом Modbus. Подробнее...

Заголовок: #include <QModbusTcpServer>
qmake: QT += serialbus
С момента: Qt 5.8
Наследует: 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

Подробное описание

Для связи по протоколу Modbus требуется взаимодействие между одним экземпляром клиента Modbus и одним экземпляром сервера Modbus. Этот класс предоставляет реализацию сервера Modbus через TCP-сервер.

В сетях Modbus TCP может быть несколько серверов. К серверам обращается клиентское устройство, представленное классом QModbusTcpClient.

Документация по функциям-членам

QModbusTcpServer::QModbusTcpServer(QObject *parent = nullptr)

Создает экземпляр QModbusTcpServer с указанным parent. Значение serverAddress задано по умолчанию: 255.

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

Этот сигнал испускается, когда текущий клиент TCP modbusClient отключается от этого сервера Modbus TCP. Обратите внимание, что одновременно может быть подключено несколько клиентов TCP.

Уведомления о входящих новых подключениях можно получать, установив наблюдателя QModbusTcpConnectionObserver через installConnectionObserver().

Функция была добавлена в Qt 5.13.

См. также installConnectionObserver.

[virtual] QModbusTcpServer::~QModbusTcpServer()

Удаляет экземпляр QModbusTcpServer.

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

Переопределяет: QModbusDevice::close().

[since 5.13] void QModbusTcpServer::installConnectionObserver(QModbusTcpConnectionObserver *observer)

Устанавливает наблюдателя observer, который может использоваться для получения уведомлений о подключении нового клиента TCP к этому экземпляру сервера. Кроме того, наблюдатель может использоваться для отклонения входящего TCP-подключения.

QModbusTcpServer берет на себя ответственность за предоставленный наблюдатель observer. Любой ранее установленный наблюдатель будет удален. Наблюдатель может быть удален, вызвав эту функцию с параметром nullptr.

Функция была добавлена в Qt 5.13.

См. также QModbusTcpConnectionObserver.

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

Переопределяет: QModbusDevice::open().

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

Переопределяет: QModbusServer::processRequest(const QModbusPdu &request).

Обрабатывает запрос клиента Modbus, указанный в request, и возвращает ответ Modbus.

Следующие коды функций Modbus отфильтровываются, так как они относятся только к последовательным линиям в соответствии со спецификацией протокола Modbus Application Protocol 1.1b:

  • QModbusRequest::ReadExceptionStatus
  • QModbusRequest::Diagnostics
  • QModbusRequest::GetCommEventCounter
  • QModbusRequest::GetCommEventLog
  • QModbusRequest::ReportServerId

Запрос к TCP-серверу будет обработан ответом с исключением Modbus с кодом исключения QModbusExceptionResponse::IllegalFunction.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qmodbustcpserver.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API