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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QModbusDeviceIdentification::BasicConformityLevel | 0x01 | Grundlegende Identifizierung (Stream-Zugriff). |
QModbusDeviceIdentification::RegularConformityLevel | 0x02 | Reguläre Identifizierung (Stream-Zugriff). |
QModbusDeviceIdentification::ExtendedConformityLevel | 0x03 | Erweiterte Identifikation (Stream-Zugriff). |
QModbusDeviceIdentification::BasicIndividualConformityLevel | 0x81 | Grundlegende Identifizierung (Stream-Zugriff und individueller Zugriff). |
QModbusDeviceIdentification::RegularIndividualConformityLevel | 0x82 | Reguläre Identifizierung (Stream-Zugriff und individueller Zugriff). |
QModbusDeviceIdentification::ExtendedIndividualConformityLevel | 0x83 | Erweiterte 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.
| Konstante | Wert | Beschreibung |
|---|---|---|
QModbusDeviceIdentification::VendorNameObjectId | 0x00 | Der Herstellername des Geräts. |
QModbusDeviceIdentification::ProductCodeObjectId | 0x01 | Die Produktkennnummer des Geräts. |
QModbusDeviceIdentification::MajorMinorRevisionObjectId | 0x02 | Die Versionsnummer des Produkts. |
Reguläre Geräteidentifikation. Alle Objekte dieser Kategorie sind standardmäßig definiert und optional.
| Konstante | Wert | Beschreibung |
|---|---|---|
QModbusDeviceIdentification::VendorUrlObjectId | 0x03 | Die Hersteller-URL des Geräts. |
QModbusDeviceIdentification::ProductNameObjectId | 0x04 | Der Produktname des Geräts. |
QModbusDeviceIdentification::ModelNameObjectId | 0x05 | Der Modellname des Geräts. |
QModbusDeviceIdentification::UserApplicationNameObjectId | 0x06 | Der Name der Benutzeranwendung des Geräts. |
Reservierter Bereich (d. h. ReservedObjectId >= ObjectId < ProductDependentObjectId). Nicht verwenden.
| Konstante | Wert | Beschreibung |
|---|---|---|
QModbusDeviceIdentification::ReservedObjectId | 0x07 | Erster Wert der reservierten Objekt-IDs. |
Erweiterte Geräteidentifikation. Alle diese Daten sind geräteabhängig und optional.
| Konstante | Wert | Beschreibung |
|---|---|---|
QModbusDeviceIdentification::ProductDependentObjectId | 0x80 | Erster möglicher Wert produktabhängiger Kennungen. |
QModbusDeviceIdentification::UndefinedObjectId | 0x100 | Nicht verwenden. |
enum QModbusDeviceIdentification::ReadDeviceIdCode
Legt die Zugriffsart der Anfrage zur Identitätsabfrage fest.
Stream-Zugriff:
| Konstante | Wert | Beschreibung |
|---|---|---|
QModbusDeviceIdentification::BasicReadDeviceIdCode | 0x01 | Anfrage zum Abrufen der grundlegenden Geräteidentifikation. |
QModbusDeviceIdentification::RegularReadDeviceIdCode | 0x02 | Anfrage zum Abrufen der regulären Gerätekennung. |
QModbusDeviceIdentification::ExtendedReadDeviceIdCode | 0x03 | Anfrage zum Abrufen der erweiterten Gerätekennung. |
Individueller Zugriff:
| Konstante | Wert | Beschreibung |
|---|---|---|
QModbusDeviceIdentification::IndividualReadDeviceIdCode | 0x04 | Anfrage 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.