Auf dieser Seite

QModbusDeviceIdentification Class

Die Klasse „QModbusDeviceIdentification“ ist eine Containerklasse, die die physikalische und funktionale Beschreibung eines Modbus-Servers darstellt. Mehr...

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

Öffentliche Typen

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

Öffentliche Funktionen

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

Statische öffentliche Elemente

QModbusDeviceIdentification fromByteArray(const QByteArray &ba)

Ausführliche Beschreibung

Die Schnittstelle zur Geräteidentifikation ist als Adressraum modelliert, der aus einer Menge adressierbarer Datenelemente besteht. Die Datenelemente werden als Objekte bezeichnet und durch eine „ ObjectId “ identifiziert.

Dokumentation zu Mitgliedstypen

enum QModbusDeviceIdentification::ConformityLevel

Legt den Konformitätsgrad der Geräteidentifikation und die Art des unterstützten Zugriffs fest.

KonstanteWertBeschreibung
QModbusDeviceIdentification::BasicConformityLevel0x01Grundlegende Identifizierung (Stream-Zugriff).
QModbusDeviceIdentification::RegularConformityLevel0x02Reguläre Identifizierung (Stream-Zugriff).
QModbusDeviceIdentification::ExtendedConformityLevel0x03Erweiterte Identifikation (Stream-Zugriff).
QModbusDeviceIdentification::BasicIndividualConformityLevel0x81Grundlegende Identifizierung (Stream-Zugriff und individueller Zugriff).
QModbusDeviceIdentification::RegularIndividualConformityLevel0x82Reguläre Identifizierung (Stream-Zugriff und individueller Zugriff).
QModbusDeviceIdentification::ExtendedIndividualConformityLevel0x83Erweiterte Identifizierung (Stream-Zugriff und individueller Zugriff).

Siehe auch ReadDeviceIdCode.

enum QModbusDeviceIdentification::ObjectId

Diese Aufzählung beschreibt die möglichen Serverobjekte. Die Schnittstelle besteht aus drei Objektkategorien:

Grundlegende Geräteidentifikation. Alle Objekte dieser Kategorie sind obligatorisch.

KonstanteWertBeschreibung
QModbusDeviceIdentification::VendorNameObjectId0x00Der Herstellername des Geräts.
QModbusDeviceIdentification::ProductCodeObjectId0x01Die Produktkennnummer des Geräts.
QModbusDeviceIdentification::MajorMinorRevisionObjectId0x02Die Versionsnummer des Produkts.

Reguläre Geräteidentifikation. Alle Objekte dieser Kategorie sind standardmäßig definiert und optional.

KonstanteWertBeschreibung
QModbusDeviceIdentification::VendorUrlObjectId0x03Die Hersteller-URL des Geräts.
QModbusDeviceIdentification::ProductNameObjectId0x04Der Produktname des Geräts.
QModbusDeviceIdentification::ModelNameObjectId0x05Der Modellname des Geräts.
QModbusDeviceIdentification::UserApplicationNameObjectId0x06Der Name der Benutzeranwendung des Geräts.

Reservierter Bereich (d. h. ReservedObjectId >= ObjectId < ProductDependentObjectId). Nicht verwenden.

KonstanteWertBeschreibung
QModbusDeviceIdentification::ReservedObjectId0x07Erster Wert der reservierten Objekt-IDs.

Erweiterte Geräteidentifikation. Alle diese Daten sind geräteabhängig und optional.

KonstanteWertBeschreibung
QModbusDeviceIdentification::ProductDependentObjectId0x80Erster möglicher Wert produktabhängiger Kennungen.
QModbusDeviceIdentification::UndefinedObjectId0x100Nicht verwenden.

enum QModbusDeviceIdentification::ReadDeviceIdCode

Legt die Zugriffsart der Anfrage zur Identitätsabfrage fest.

Stream-Zugriff:

KonstanteWertBeschreibung
QModbusDeviceIdentification::BasicReadDeviceIdCode0x01Anfrage zum Abrufen der grundlegenden Geräteidentifikation.
QModbusDeviceIdentification::RegularReadDeviceIdCode0x02Anfrage zum Abrufen der regulären Gerätekennung.
QModbusDeviceIdentification::ExtendedReadDeviceIdCode0x03Anfrage zum Abrufen der erweiterten Gerätekennung.

Individueller Zugriff:

KonstanteWertBeschreibung
QModbusDeviceIdentification::IndividualReadDeviceIdCode0x04Anfrage zum Abrufen eines bestimmten Identifikationsobjekts.

Dokumentation der Mitgliedsfunktion

[constexpr noexcept default] QModbusDeviceIdentification::QModbusDeviceIdentification()

Erstellt ein ungültiges „QModbusDeviceIdentification“-Objekt.

QModbusDeviceIdentification::ConformityLevel QModbusDeviceIdentification::conformityLevel() const

Gibt den Identifikationskonformitätsgrad des Geräts und die Art des unterstützten Zugriffs zurück.

Siehe auch setConformityLevel().

bool QModbusDeviceIdentification::contains(uint objectId) const

Gibt „ true “ zurück, wenn ein Eintrag für die angegebene „ objectId “ vorhanden ist; andernfalls „ false “.

Siehe auch ObjectId.

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

Wandelt das Byte-Array „ ba “ in ein „ QModbusDeviceIdentification “-Objekt um.

Hinweis: Das zurückgegebene Objekt kann leer oder sogar ungültig sein, wenn bei der Verarbeitung des Byte-Arrays ein Fehler auftritt.

Siehe auch isValid().

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

Fügt einen neuen Eintrag mit dem objectId und dem Wert value ein. Falls bereits ein Eintrag mit dem objectId vorhanden ist, wird dessen Wert durch value ersetzt.

Gibt „ true “ zurück, wenn die Größe von „ value “ weniger als 245 Byte beträgt und der „ objectId “ kleiner als „ QModbusDeviceIdentification::UndefinedObjectId “ ist.

Siehe auch „ ObjectId “.

bool QModbusDeviceIdentification::isValid() const

Gibt „ true “ zurück, wenn das Geräteidentifikationsobjekt gültig ist; andernfalls „ false “.

Ein Geräteidentifikationsobjekt gilt als gültig, wenn „ ProductNameObjectId “, „ ProductCodeObjectId “ und „ MajorMinorRevisionObjectId “ auf einen nicht leeren Wert gesetzt sind. Das Objekt kann dennoch gültige Objekt-IDs und zugehörige Daten enthalten.

Hinweis: Ein standardmäßig erstelltes Geräteidentifikationsobjekt ist ungültig.

QList<int> QModbusDeviceIdentification::objectIds() const

Gibt eine Liste zurück, die alle Objekt-IDs im Objekt „ QModbusDeviceIdentification “ in aufsteigender Reihenfolge enthält.

Siehe auch „ ObjectId “.

void QModbusDeviceIdentification::remove(uint objectId)

Entfernt den Eintrag für die angegebene objectId.

Siehe auch ObjectId.

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

Legt den Identifikationskonformitätsgrad des Geräts und die Art des unterstützten Zugriffs auf level fest.

Siehe auch conformityLevel().

QByteArray QModbusDeviceIdentification::value(uint objectId) const

Gibt den Wert zurück, der mit dem ` objectId` verknüpft ist. Wenn kein Element mit dem ` objectId` vorhanden ist, gibt die Funktion einen standardmäßig konstruierten Wert zurück.

Siehe auch „ 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.