Класс 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