QModbusDeviceIdentification Class
Die QModbusDeviceIdentification ist eine Containerklasse, die die physikalische und funktionale Beschreibung eines Modbus-Servers darstellt. Mehr...
Kopfzeile: | #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 Mitglieder
QModbusDeviceIdentification | fromByteArray(const QByteArray &ba) |
Detaillierte Beschreibung
Die Schnittstelle zur Geräteidentifikation wird als Adressraum modelliert, der aus einer Menge adressierbarer Datenelemente besteht. Die Datenelemente werden als Objekte bezeichnet und eine ObjectId identifiziert sie.
Dokumentation der Mitgliedstypen
enum QModbusDeviceIdentification::ConformityLevel
Definiert die Identifizierungskonformitätsstufe des Geräts und die Art des unterstützten Zugangs.
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-Zugang und individueller Zugang). |
QModbusDeviceIdentification::RegularIndividualConformityLevel | 0x82 | Regelmäßige Identifizierung (Stream-Zugang und individueller Zugang). |
QModbusDeviceIdentification::ExtendedIndividualConformityLevel | 0x83 | Erweiterte Identifizierung (Stream-Zugang und individueller Zugang). |
Siehe auch ReadDeviceIdCode.
enum QModbusDeviceIdentification::ObjectId
Diese Aufzählung beschreibt die möglichen Serverobjekte. Die Schnittstelle besteht aus drei Kategorien von Objekten:
Grundlegende Geräteidentifikation. Alle Objekte dieser Kategorie sind obligatorisch.
Konstante | Wert | Beschreibung |
---|---|---|
QModbusDeviceIdentification::VendorNameObjectId | 0x00 | Der Name des Herstellers des Geräts. |
QModbusDeviceIdentification::ProductCodeObjectId | 0x01 | Der Produktcode des Geräts. |
QModbusDeviceIdentification::MajorMinorRevisionObjectId | 0x02 | Die Nummerierung der Produktversion. |
Reguläre Geräteidentifikation. Alle Objekte dieser Kategorie sind standardmäßig definiert und optional.
Konstante | Wert | Beschreibung |
---|---|---|
QModbusDeviceIdentification::VendorUrlObjectId | 0x03 | Die URL des Herstellers 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 des reservierten Objekts Ids. |
Erweiterte Geräteidentifikation. Alle diese Daten sind geräteabhängig und optional.
Konstante | Wert | Beschreibung |
---|---|---|
QModbusDeviceIdentification::ProductDependentObjectId | 0x80 | Erster möglicher Wert der produktabhängigen Identifikatoren. |
QModbusDeviceIdentification::UndefinedObjectId | 0x100 | Nicht verwenden. |
enum QModbusDeviceIdentification::ReadDeviceIdCode
Legt die Zugriffsart der Lesekennungsanfrage fest.
Stream-Zugriff:
Konstante | Wert | Beschreibung |
---|---|---|
QModbusDeviceIdentification::BasicReadDeviceIdCode | 0x01 | Abfrage der einfachen Geräteidentifikation. |
QModbusDeviceIdentification::RegularReadDeviceIdCode | 0x02 | Abfrage der regulären Gerätekennung. |
QModbusDeviceIdentification::ExtendedReadDeviceIdCode | 0x03 | Abfrage der erweiterten Geräteidentifikation. |
Individueller Zugriff:
Konstante | Wert | Beschreibung |
---|---|---|
QModbusDeviceIdentification::IndividualReadDeviceIdCode | 0x04 | Anforderung, ein bestimmtes Identifikationsobjekt zu erhalten. |
Dokumentation der Mitgliedsfunktion
[constexpr noexcept]
QModbusDeviceIdentification::QModbusDeviceIdentification()
Konstruiert ein ungültiges QModbusDeviceIdentification-Objekt.
QModbusDeviceIdentification::ConformityLevel QModbusDeviceIdentification::conformityLevel() const
Gibt die Identifikationskonformitätsstufe 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 es ein Element für die angegebene objectId gibt; andernfalls false
.
Siehe auch ObjectId.
[static]
QModbusDeviceIdentification QModbusDeviceIdentification::fromByteArray(const QByteArray &ba)
Konvertiert das Byte-Array ba in ein QModbusDeviceIdentification Objekt.
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 ein neues Element mit der Bezeichnung objectId und einem Wert von value ein. Wenn bereits ein Element mit der Bezeichnung objectId vorhanden ist, wird der Wert dieses Elements durch value ersetzt.
Gibt true
zurück, wenn die Größe von value kleiner als 245 Byte ist und 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. Dennoch kann das Objekt 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 mit allen Objekt-IDs im Objekt QModbusDeviceIdentification
in aufsteigender Reihenfolge zurück.
Siehe auch ObjectId.
void QModbusDeviceIdentification::remove(uint objectId)
Entfernt das Element für die angegebene objectId.
Siehe auch ObjectId.
void QModbusDeviceIdentification::setConformityLevel(QModbusDeviceIdentification::ConformityLevel level)
Legt die Identifikationskonformitätsstufe 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 objectId verknüpft ist. Wenn es kein Element mit objectId gibt, gibt die Funktion einen standardmäßig konstruierten Wert zurück.
Siehe auch ObjectId.
© 2025 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.