このページでは

QModbusDeviceIdentification Class

QModbusDeviceIdentification は、Modbus サーバーの物理的および機能的な記述を表すコンテナクラスです。詳細...

ヘッダー: #include <QModbusDeviceIdentification>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus

パブリック型

enum ConformityLevel { BasicConformityLevel, RegularConformityLevel, ExtendedConformityLevel, BasicIndividualConformityLevel, RegularIndividualConformityLevel, ExtendedIndividualConformityLevel }
enum ObjectId { VendorNameObjectId, ProductCodeObjectId, MajorMinorRevisionObjectId, VendorUrlObjectId, ProductNameObjectId, …, UndefinedObjectId }
enum ReadDeviceIdCode { BasicReadDeviceIdCode, RegularReadDeviceIdCode, ExtendedReadDeviceIdCode, IndividualReadDeviceIdCode }

パブリック関数

QModbusDeviceIdentification()
QModbusDeviceIdentification::ConformityLevel conformityLevel() const
bool contains(uint objectId) const
bool insert(uint objectId, const QByteArray &value)
bool isValid() const
QList<int> objectIds() const
void remove(uint objectId)
void setConformityLevel(QModbusDeviceIdentification::ConformityLevel level)
QByteArray value(uint objectId) const

静的パブリックメンバ

QModbusDeviceIdentification fromByteArray(const QByteArray &ba)

詳細な説明

デバイス識別インターフェースは、アドレス指定可能なデータ要素の集合で構成されるアドレス空間としてモデル化されています。これらのデータ要素は「オブジェクト」と呼ばれ、ObjectId によって識別されます。

メンバ型のドキュメント

enum QModbusDeviceIdentification::ConformityLevel

デバイスの識別適合レベルおよびサポートされるアクセスの種類を定義します。

定数値説明
QModbusDeviceIdentification::BasicConformityLevel0x01基本識別(ストリームアクセス)。
QModbusDeviceIdentification::RegularConformityLevel0x02通常識別(ストリームアクセス)。
QModbusDeviceIdentification::ExtendedConformityLevel0x03拡張識別 (ストリームアクセス)。
QModbusDeviceIdentification::BasicIndividualConformityLevel0x81基本識別(ストリームアクセスおよび個別アクセス)。
QModbusDeviceIdentification::RegularIndividualConformityLevel0x82通常識別(ストリームアクセスおよび個別アクセス)。
QModbusDeviceIdentification::ExtendedIndividualConformityLevel0x83拡張識別(ストリームアクセスおよび個別アクセス)。

ReadDeviceIdCodeも参照してください 。

enum QModbusDeviceIdentification::ObjectId

この列挙型は、利用可能なサーバーオブジェクトを定義しています。このインターフェースは、3つのカテゴリのオブジェクトで構成されています。

基本デバイス識別。このカテゴリのすべてのオブジェクトは必須です。

定数値説明
QModbusDeviceIdentification::VendorNameObjectId0x00デバイスのベンダー名。
QModbusDeviceIdentification::ProductCodeObjectId0x01デバイスの製品コード。
QModbusDeviceIdentification::MajorMinorRevisionObjectId0x02製品のバージョン番号。

通常のデバイス識別。このカテゴリのすべてのオブジェクトは標準で定義されており、オプションです。

定数値説明
QModbusDeviceIdentification::VendorUrlObjectId0x03デバイスのベンダー URL。
QModbusDeviceIdentification::ProductNameObjectId0x04デバイスの製品名。
QModbusDeviceIdentification::ModelNameObjectId0x05デバイスのモデル名。
QModbusDeviceIdentification::UserApplicationNameObjectId0x06デバイスのユーザーアプリケーション名。

予約済み範囲(つまり、ReservedObjectId >= ObjectId < ProductDependentObjectId)。使用しないでください。

定数値説明
QModbusDeviceIdentification::ReservedObjectId0x07予約済みオブジェクト ID の最初の値。

拡張デバイス識別子。これらのデータはすべてデバイスに依存し、オプションです。

定数値説明
QModbusDeviceIdentification::ProductDependentObjectId0x80製品依存の識別子の最初の可能な値。
QModbusDeviceIdentification::UndefinedObjectId0x100使用しないでください。

enum QModbusDeviceIdentification::ReadDeviceIdCode

読み取り識別要求のアクセスタイプを定義します。

ストリームアクセス:

定数値説明
QModbusDeviceIdentification::BasicReadDeviceIdCode0x01基本的なデバイス識別情報を取得するための要求。
QModbusDeviceIdentification::RegularReadDeviceIdCode0x02通常のデバイス識別情報を取得するリクエスト。
QModbusDeviceIdentification::ExtendedReadDeviceIdCode0x03拡張デバイス識別情報を取得するためのリクエスト。

個別アクセス:

定数値説明
QModbusDeviceIdentification::IndividualReadDeviceIdCode0x04特定の識別オブジェクト1つを取得するリクエスト。

メンバ関数のドキュメント

[constexpr noexcept default] QModbusDeviceIdentification::QModbusDeviceIdentification()

無効な QModbusDeviceIdentification オブジェクトが生成されます。

QModbusDeviceIdentification::ConformityLevel QModbusDeviceIdentification::conformityLevel() const

デバイスの識別適合レベルと、サポートされているアクセスの種類を返します。

setConformityLevel()も参照してください 。

bool QModbusDeviceIdentification::contains(uint objectId) const

指定されたobjectId に対応する項目が存在する場合、true を返します。存在しない場合はfalse を返します。

ObjectIdも参照してください 。

[static] QModbusDeviceIdentification QModbusDeviceIdentification::fromByteArray(const QByteArray &ba)

バイト配列 `ba ` を `QModbusDeviceIdentification ` オブジェクトに変換します。

注: バイト配列の処理中に何らかのエラーが発生した場合、返されるオブジェクトは空になるか、あるいは無効な状態になる可能性があります。

関連項目 :isValid()

bool QModbusDeviceIdentification::insert(uint objectId, const QByteArray &value)

objectId を持つ新しい項目を、値value で挿入します。objectId を持つ項目がすでに存在する場合、その項目の値はvalue に置き換えられます。

value のサイズが245バイト未満であり、かつobjectId がQModbusDeviceIdentification::UndefinedObjectId 未満である場合、true を返します。

「ObjectId」も参照してください 。

bool QModbusDeviceIdentification::isValid() const

デバイス識別オブジェクトが有効な場合は `true ` を返し、そうでない場合は `false` を返します。

デバイス識別オブジェクトは、ProductNameObjectId 、ProductCodeObjectId 、およびMajorMinorRevisionObjectId が空でない値に設定されている場合に有効とみなされます。ただし、そのオブジェクトには有効なオブジェクト ID や関連データが含まれている可能性があります。

注: デフォルトで生成されたデバイス識別オブジェクトは無効です。

QList<int> QModbusDeviceIdentification::objectIds() const

QModbusDeviceIdentification オブジェクト内のすべてのオブジェクトIDを昇順で格納したリストを返します。

「ObjectId」も参照してください 。

void QModbusDeviceIdentification::remove(uint objectId)

指定されたobjectId に対応する項目を削除します。

「ObjectId」も参照してください 。

void QModbusDeviceIdentification::setConformityLevel(QModbusDeviceIdentification::ConformityLevel level)

level に対して、デバイスの識別適合レベルおよびサポートされるアクセスの種類を設定します。

conformityLevel()も参照してください 。

QByteArray QModbusDeviceIdentification::value(uint objectId) const

objectId に関連付けられた値を返します。objectId を持つ項目がない場合、この関数はデフォルト構築された値を返します。

「ObjectId」も参照してください 。

© 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.