QModbusReply Class

The QModbusReply class contains the data for a request sent with a QModbusClient derived class. 更多...

頭: #include <QModbusReply>
qmake: QT += serialbus
Since: Qt 5.8
繼承: QObject

公共類型

enum ReplyType { Raw, Common }

公共函數

QModbusReply (ReplyType type , int serverAddress , QObject * parent = nullptr)
QModbusDevice::Error error () const
QString errorString () const
bool isFinished () const
QModbusResponse rawResult () const
QModbusDataUnit result () const
int serverAddress () const
ReplyType type () const

信號

void errorOccurred (QModbusDevice::Error error )
void finished ()

額外繼承成員

詳細描述

The QModbusReply class contains the data for a request sent with a QModbusClient derived class.

成員類型文檔編製

enum QModbusReply:: ReplyType

This enum describes the possible reply type.

常量 描述
QModbusReply::Raw 0 The reply originates from a raw Modbus request. See QModbusClient::sendRawRequest
QModbusReply::Common 1 The reply originates from a common read, write or read/write request. See QModbusClient::sendReadRequest , QModbusClient::sendWriteRequest and QModbusClient::sendReadWriteRequest

成員函數文檔編製

QModbusReply:: QModbusReply ( ReplyType type , int serverAddress , QObject * parent = nullptr)

構造 QModbusReply object with a given type and the specified parent .

The reply will be send to the Modbus client represented by serverAddress .

QModbusDevice::Error QModbusReply:: error () const

Returns the error state of this reply.

[signal] void QModbusReply:: errorOccurred ( QModbusDevice::Error error )

This signal is emitted when an error has been detected in the processing of this reply. The finished () signal will probably follow.

The error will be described by the error code error 。若 errorString is not empty it will contain a textual description of the error. In case of a QModbusDevice::ProtocolError the rawResult () function can be used to obtain the original Modbus exception response to get the exception code.

Note: Do not delete this reply object in the slot connected to this signal. Use deleteLater () 代替。

QString QModbusReply:: errorString () const

Returns the textual representation of the error state of this reply.

If no error has occurred this will return an empty string. It is possible that an error occurred which has no associated textual representation, in which case this will also return an empty string.

另請參閱 error () 和 errorOccurred ().

[signal] void QModbusReply:: finished ()

This signal is emitted when the reply has finished processing. The reply may still have returned with an error.

After this signal is emitted, there will be no more updates to the reply's data.

注意: 不要在槽中刪除連接到此信號的對象。使用 deleteLater ().

還可以使用 isFinished () 去校驗,若 QNetworkReply 已完成,甚至在收到 finish() 信號之前。

另請參閱 isFinished () 和 error ().

bool QModbusReply:: isFinished () const

返迴 true 當迴復已完成或被中止。

QModbusResponse QModbusReply:: rawResult () const

Returns the raw response of a Modbus request.

If the request has not finished then the returned QModbusResponse instance is invalid.

另請參閱 type () 和 result ().

QModbusDataUnit QModbusReply:: result () const

Returns the preprocessed result of a Modbus request.

For read requests as well as combined read/write requests send via QModbusClient::sendReadWriteRequest () it contains the values read from the server instance.

If the request has not finished, has failed with an error or was a write request then the returned QModbusDataUnit instance is invalid.

注意: type () of the reply is QModbusReply::Raw , the return value will always be invalid.

另請參閱 type () 和 rawResult ().

int QModbusReply:: serverAddress () const

Returns the server address that this reply object targets.

ReplyType QModbusReply:: type () const

Returns the type of the reply.

注意: If the type of the reply is QModbusReply::Raw , the return value of result () will always be invalid.

另請參閱 result () 和 rawResult ().