Spec-Zone.ru › Qt

Класс QModbusRtuSerialServer

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

Заголовок: #include <QModbusRtuSerialServer>
qmake: QT += serialbus
С версии: Qt 6.2
Наследуется от: QModbusServer
  • Список всех членов, включая унаследованные

Открытые функции

QModbusRtuSerialServer(QObject *parent = nullptr)
виртуальный ~QModbusRtuSerialServer()
int interFrameDelay() const
void setInterFrameDelay(int microseconds)

Переопределённые открытые функции

виртуальный bool processesBroadcast() const override

Переопределённые защищённые функции

виртуальный void close() override
виртуальный bool open() override
виртуальный QModbusResponse processRequest(const QModbusPdu &request) override

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

Для связи через Modbus требуется взаимодействие одного экземпляра клиента Modbus и нескольких серверов Modbus. Этот класс предоставляет реализацию сервера Modbus через последовательный порт.

Так как несколько экземпляров сервера Modbus могут взаимодействовать с клиентом Modbus одновременно (используя последовательную шину), серверы идентифицируются по их serverAddress().

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

QModbusRtuSerialServer::QModbusRtuSerialServer(QObject *parent = nullptr)

Конструирует QModbusRtuSerialServer со заданным parent. Значение serverAddress установлено по умолчанию в 1.

[virtual] QModbusRtuSerialServer::~QModbusRtuSerialServer()

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

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

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

[since 6.2] int QModbusRtuSerialServer::interFrameDelay() const

Возвращает количество микросекунд для бездействия между двумя последовательными сообщениями Modbus.

Эта функция была добавлена в Qt 6.2.

См. также setInterFrameDelay().

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

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

Примечание: При вызове этой функции данные, находящиеся в буфере последовательного порта, удаляются.

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

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

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

Функция Modbus QModbusRequest::EncapsulatedInterfaceTransport с типом MEI 13 (0x0D) CANopen General Reference отфильтровывается, так как обычно используется только Modbus TCP или Modbus serial ASCII.

Запрос к серверу RTU serial будет отвечать ответом Modbus с кодом ошибки QModbusExceptionResponse::IllegalFunction.

[override virtual] bool QModbusRtuSerialServer::processesBroadcast() const

Переопределяет: QModbusServer::processesBroadcast() const.

[since 6.2] void QModbusRtuSerialServer::setInterFrameDelay(int microseconds)

Устанавливает количество microseconds для бездействия между двумя последовательными сообщениями Modbus. По умолчанию реализация класса использует предварительно рассчитанное значение в соответствии со спецификацией Modbus. Активное или работающее соединение не затронуто такими изменениями задержки.

Примечание: Если microseconds установлено в -1 или microseconds меньше предварительно рассчитанной задержки, то используется это предварительно рассчитанное значение в качестве задержки кадра.

Эта функция была добавлена в Qt 6.2.

См. также interFrameDelay().

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

Spec-Zone.ru

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