QModbusReply Class
QModbusReply 클래스에는 QModbusClient 에서 파생된 클래스를 통해 전송된 요청에 대한 데이터가 포함되어 있습니다. 더 보기...
| 헤더: | #include <QModbusReply> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
| qmake: | QT += serialbus |
| 상속: | QObject |
공개 유형
| enum | ReplyType { Raw, Common, Broadcast } |
공개 함수
| QModbusReply(QModbusReply::ReplyType type, int serverAddress, QObject *parent = nullptr) | |
| QModbusDevice::Error | error() const |
| QString | errorString() const |
(since 6.0) 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() |
멤버 유형 설명서
enum 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)
지정된 type 와 parent 를 사용하여 QModbusReply 객체를 생성합니다.
응답은 serverAddress 로 표시되는 Modbus 클라이언트로 전송됩니다.
QModbusDevice::Error QModbusReply::error() const
이 응답의 오류 상태를 반환합니다.
errorString() 및 errorOccurred()도 참조하십시오 .
[signal] void QModbusReply::errorOccurred(QModbusDevice::Error error)
이 신호는 해당 응답을 처리하는 과정에서 오류가 감지되었을 때 발생합니다. 이후 finished() 신호가 발생할 가능성이 높습니다.
오류는 오류 코드 ` error`로 설명됩니다. ` errorString `가 비어 있지 않으면 오류에 대한 텍스트 설명이 포함됩니다. ` QModbusDevice::ProtocolError `가 발생한 경우, ` rawResult()` 함수를 사용하여 원래의 Modbus 예외 응답을 가져와 예외 코드를 확인할 수 있습니다.
참고: 이 신호에 연결된 슬롯에서 이 응답 객체를 삭제하지 마십시오. 대신 deleteLater()을 사용하십시오.
error() 및 errorString()도 참조하십시오 .
QString QModbusReply::errorString() const
이 응답의 오류 상태를 텍스트로 변환하여 반환합니다.
오류가 발생하지 않은 경우 빈 문자열을 반환합니다. 텍스트로 표현할 수 없는 오류가 발생한 경우에도 빈 문자열을 반환합니다.
error() 및 errorOccurred()도 참조하십시오 .
[signal] void QModbusReply::finished()
이 신호는 응답 처리가 완료되었을 때 전송됩니다. 응답이 오류와 함께 반환되었을 가능성도 있습니다.
이 신호가 발생된 후에는 응답 데이터에 대한 추가 업데이트가 더 이상 이루어지지 않습니다.
참고: 이 신호에 연결된 슬롯 내에서 객체를 삭제하지마십시오 . ` deleteLater()`를 사용하십시오.
finished() 신호를 수신하기 전이라도 ` isFinished()`를 사용하여 QNetworkReply가 완료되었는지 확인할 수 있습니다.
isFinished() 및 error()도 참조하십시오 .
[since 6.0] QList<QModbusDevice::IntermediateError> QModbusReply::intermediateErrors() const
QModbusReply 가 완료되었다고 보고할 때까지 Modbus 요청의 송수신 주기 동안 발생했을 수 있는 중간 오류 목록을 반환합니다.
이 함수는 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()`의 반환 값은 항상 `invalid`가 됩니다.
© 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.