QModbusReply Class
QModbusReplyクラスは、QModbusClient 派生クラスで送信されたリクエストのデータを含みます。詳細...
Header: | #include <QModbusReply> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
qmake: | QT += serialbus |
Inherits: | 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() を使用してください。
また、isFinished ()を使用すると、finished() シグナルを受信する前でも、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() の返り値は常に無効です。
ここに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。