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.

KonstanteWertBeschreibung
QModbusDeviceIdentification::BasicConformityLevel0x01Grundlegende Identifizierung (Stream-Zugriff).
QModbusDeviceIdentification::RegularConformityLevel0x02Reguläre Identifizierung (Stream-Zugriff).
QModbusDeviceIdentification::ExtendedConformityLevel0x03Erweiterte Identifikation (Stream-Zugriff).
QModbusDeviceIdentification::BasicIndividualConformityLevel0x81Grundlegende Identifizierung (Stream-Zugang und individueller Zugang).
QModbusDeviceIdentification::RegularIndividualConformityLevel0x82Regelmäßige Identifizierung (Stream-Zugang und individueller Zugang).
QModbusDeviceIdentification::ExtendedIndividualConformityLevel0x83Erweiterte 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.

KonstanteWertBeschreibung
QModbusDeviceIdentification::VendorNameObjectId0x00Der Name des Herstellers des Geräts.
QModbusDeviceIdentification::ProductCodeObjectId0x01Der Produktcode des Geräts.
QModbusDeviceIdentification::MajorMinorRevisionObjectId0x02Die Nummerierung der Produktversion.

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

KonstanteWertBeschreibung
QModbusDeviceIdentification::VendorUrlObjectId0x03Die URL des Herstellers 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 des reservierten Objekts Ids.

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

KonstanteWertBeschreibung
QModbusDeviceIdentification::ProductDependentObjectId0x80Erster möglicher Wert der produktabhängigen Identifikatoren.
QModbusDeviceIdentification::UndefinedObjectId0x100Nicht verwenden.

enum QModbusDeviceIdentification::ReadDeviceIdCode

Legt die Zugriffsart der Lesekennungsanfrage fest.

Stream-Zugriff:

KonstanteWertBeschreibung
QModbusDeviceIdentification::BasicReadDeviceIdCode0x01Abfrage der einfachen Geräteidentifikation.
QModbusDeviceIdentification::RegularReadDeviceIdCode0x02Abfrage der regulären Gerätekennung.
QModbusDeviceIdentification::ExtendedReadDeviceIdCode0x03Abfrage der erweiterten Geräteidentifikation.

Individueller Zugriff:

KonstanteWertBeschreibung
QModbusDeviceIdentification::IndividualReadDeviceIdCode0x04Anforderung, 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.