Класс QModbusReply
Класс QModbusReply содержит данные запроса, отправленного с помощью класса, производного от QModbusClient. Подробнее...
| Заголовок: | #include <QModbusReply> |
| qmake: | QT += serialbus |
| С момента: | Qt 5.8 |
| Наследует: | QObject |
Типы публичного доступа
| перечисление | ReplyType { Raw, Common, Broadcast } |
Функции публичного доступа
| QModbusReply(QModbusReply::ReplyType type, int serverAddress, QObject *parent = nullptr) | |
| QModbusDevice::Error | error() const |
| QString | errorString() const |
| QList<QModbusDevice::IntermediateError> | intermediateErrors() const |
| bool | isFinished() const |
| QModbusResponse | rawResult() const |
| QModbusDataUnit | result() const |
| int | serverAddress() const |
| QModbusReply::ReplyType | type() const |
Сигналы
| void | errorOccurred(QModbusDevice::Error error) |
| void | finished() |
Подробное описание
Документация по типам членов
перечисление QModbusReply::ReplyType
Это перечисление описывает возможные типы ответа.
| Постоянная | Значение | Описание |
|---|---|---|
QModbusReply::Raw | 0 | Ответ происходит от сырого запроса Modbus. См. QModbusClient::sendRawRequest |
QModbusReply::Common | 1 | Ответ происходит от обычного запроса чтения, записи или чтения/записи. См. QModbusClient::sendReadRequest, QModbusClient::sendWriteRequest и QModbusClient::sendReadWriteRequest |
QModbusReply::Broadcast | 2 | Ответ происходит от запроса Modbus широковещательной рассылки. serverAddress() вернёт 0, а сигнал finished() будет выпущен немедленно. |
Документация по функциям-членам
QModbusReply::QModbusReply(QModbusReply::ReplyType type, int serverAddress, QObject *parent = nullptr)
Создает объект QModbusReply с заданным type и указанным parent.
Ответ будет отправлен клиенту Modbus, представленному serverAddress.
[signal] void QModbusReply::errorOccurred(QModbusDevice::Error error)
Этот сигнал генерируется при обнаружении ошибки при обработке этого ответа. За этим, скорее всего, последует сигнал finished().
Ошибка будет описана кодом ошибки error. Если errorString не пустой, он будет содержать текстовое описание ошибки. В случае QModbusDevice::ProtocolError функция rawResult() может использоваться для получения исходного ответа Modbus на исключение, чтобы получить код исключения.
Примечание: Не удаляйте этот объект ответа в слоте, подключенном к этому сигналу. Используйте deleteLater() вместо этого.
См. также error() и errorString().
[signal] void QModbusReply::finished()
Этот сигнал генерируется при завершении обработки ответа. Ответ может быть всё ещё с ошибкой.
После выдачи этого сигнала больше не будет обновлений данных ответа.
Примечание: Не удаляйте объект в слоте, подключенном к этому сигналу. Используйте deleteLater().
Вы также можете использовать isFinished(), чтобы проверить, завершен ли QNetworkReply, даже прежде чем вы получите сигнал finished().
См. также isFinished() и error().
QModbusDevice::Error QModbusReply::error() const
Возвращает состояние ошибки этого ответа.
См. также errorString() и errorOccurred().
QString QModbusReply::errorString() const
Возвращает текстовое представление состояния ошибки этого ответа.
Если ошибка не произошла, это вернёт пустую строку. Возможна ошибка, которая не имеет связанного текстового представления, в таком случае это также вернёт пустую строку.
См. также error() и errorOccurred().
[since 6.0] QList<QModbusDevice::IntermediateError> QModbusReply::intermediateErrors() const
Возвращает список промежуточных ошибок, которые могли произойти во время цикла отправки-приёма запроса Modbus до тех пор, пока QModbusReply не сообщит о завершении.
Эта функция была добавлена в Qt 6.0.
bool QModbusReply::isFinished() const
Возвращает true, когда ответ завершен или был прерван.
См. также finished() и error().
QModbusResponse QModbusReply::rawResult() const
Возвращает сырой ответ запроса Modbus.
Если запрос ещё не завершён, возвращённый экземпляр QModbusResponse недействителен.
QModbusDataUnit QModbusReply::result() const
Возвращает предварительно обработанный результат запроса Modbus.
Для запросов чтения, а также комбинированных запросов чтения/записи, отправленных через QModbusClient::sendReadWriteRequest(), он содержит значения, считанные из экземпляра сервера.
Если запрос не завершён, завершился с ошибкой или был запросом записи, то возвращаемый экземпляр QModbusDataUnit недействителен.
Примечание: Если type() ответа равен QModbusReply::Broadcast, возвращаемое значение всегда будет недействительным. Если type() ответа равен QModbusReply::Raw, возвращаемое значение может быть недействительным в зависимости от реализации QModbusClient::processPrivateResponse().
См. также type(), rawResult() и QModbusClient::processPrivateResponse().
int QModbusReply::serverAddress() const
Возвращает адрес сервера, к которому обращается этот объект ответа.
QModbusReply::ReplyType QModbusReply::type() const
Возвращает тип ответа.
Примечание: Если тип ответа равен QModbusReply::Raw, возвращаемое значение result() всегда будет недействительным.
См. также result() и rawResult().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qmodbusreply.html