Sur cette page

QModbusDeviceIdentification Class

La classe QModbusDeviceIdentification est une classe conteneur représentant la description physique et fonctionnelle d'un serveur Modbus. Plus d'informations...

En-tête : #include <QModbusDeviceIdentification>
CMake : find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake : QT += serialbus

Types publics

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

Fonctions publiques

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

Membres publics statiques

QModbusDeviceIdentification fromByteArray(const QByteArray &ba)

Description détaillée

L'interface d'identification des dispositifs est modélisée comme un espace d'adressage composé d'un ensemble d'éléments de données adressables. Les éléments de données sont appelés objets et une adresse ObjectId les identifie.

Type de membre Documentation

enum QModbusDeviceIdentification::ConformityLevel

Définit le niveau de conformité de l'identification du dispositif et le type d'accès pris en charge.

ConstanteValeurDescription de la constante
QModbusDeviceIdentification::BasicConformityLevel0x01Identification de base (accès au flux).
QModbusDeviceIdentification::RegularConformityLevel0x02Identification normale (accès au flux).
QModbusDeviceIdentification::ExtendedConformityLevel0x03Identification étendue (accès au flux).
QModbusDeviceIdentification::BasicIndividualConformityLevel0x81Identification de base (accès au flux et accès individuel).
QModbusDeviceIdentification::RegularIndividualConformityLevel0x82Identification régulière (accès au flux et accès individuel).
QModbusDeviceIdentification::ExtendedIndividualConformityLevel0x83Identification étendue (accès au flux et accès individuel).

Voir également ReadDeviceIdCode.

enum QModbusDeviceIdentification::ObjectId

Cette énumération décrit les objets possibles du serveur. L'interface se compose de trois catégories d'objets :

Identification de base de l'appareil. Tous les objets de cette catégorie sont obligatoires.

ConstanteValeurDescription de l'objet
QModbusDeviceIdentification::VendorNameObjectId0x00Le nom du fournisseur de l'appareil.
QModbusDeviceIdentification::ProductCodeObjectId0x01Le code produit de l'appareil.
QModbusDeviceIdentification::MajorMinorRevisionObjectId0x02Numérotation de la version du produit.

Identification régulière de l'appareil. Tous les objets de cette catégorie sont définis de manière standard et sont facultatifs.

ConstanteValeurDescription de l'objet
QModbusDeviceIdentification::VendorUrlObjectId0x03L'URL du fournisseur de l'appareil.
QModbusDeviceIdentification::ProductNameObjectId0x04Le nom du produit de l'appareil.
QModbusDeviceIdentification::ModelNameObjectId0x05Le nom du modèle de l'appareil.
QModbusDeviceIdentification::UserApplicationNameObjectId0x06Le nom de l'application utilisateur de l'appareil.

Plage réservée (c'est-à-dire, ReservedObjectId >= ObjectId < ProductDependentObjectId). Ne pas utiliser.

ConstanteValeurDescription
QModbusDeviceIdentification::ReservedObjectId0x07Première valeur des ID d'objets réservés.

Identification étendue de l'appareil. Toutes ces données dépendent de l'appareil et sont facultatives.

ConstanteValeurDescription
QModbusDeviceIdentification::ProductDependentObjectId0x80Première valeur possible des identificateurs dépendant du produit.
QModbusDeviceIdentification::UndefinedObjectId0x100Ne pas utiliser.

enum QModbusDeviceIdentification::ReadDeviceIdCode

Définit le type d'accès à la demande d'identification en lecture.

Accès par flux :

ConstanteValeurDescription de la requête
QModbusDeviceIdentification::BasicReadDeviceIdCode0x01Demande d'obtention de l'identification de base de l'appareil.
QModbusDeviceIdentification::RegularReadDeviceIdCode0x02Demande d'obtention de l'identification régulière de l'appareil.
QModbusDeviceIdentification::ExtendedReadDeviceIdCode0x03Demande d'obtention de l'identification étendue de l'appareil.

Accès individuel :

ConstanteValeurDescription
QModbusDeviceIdentification::IndividualReadDeviceIdCode0x04Demande d'obtention d'un objet d'identification spécifique.

Fonction membre Documentation

[constexpr noexcept] QModbusDeviceIdentification::QModbusDeviceIdentification()

Construit un objet QModbusDeviceIdentification invalide.

QModbusDeviceIdentification::ConformityLevel QModbusDeviceIdentification::conformityLevel() const

Renvoie le niveau de conformité de l'identification de l'appareil et le type d'accès pris en charge.

Voir aussi setConformityLevel().

bool QModbusDeviceIdentification::contains(uint objectId) const

Retourne true s'il y a un élément pour le objectId donné ; sinon false.

Voir aussi ObjectId.

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

Convertit le tableau d'octets ba en un objet QModbusDeviceIdentification.

Note : : L'objet retourné peut être vide ou même invalide si une erreur se produit lors du traitement du tableau d'octets.

Voir aussi isValid().

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

Insère un nouvel élément avec la valeur objectId et la valeur value. S'il existe déjà un élément avec la valeur objectId, la valeur de cet élément est remplacée par value.

Retourne true si la taille de value est inférieure à 245 octets et si objectId est inférieur à QModbusDeviceIdentification::UndefinedObjectId.

Voir aussi ObjectId.

bool QModbusDeviceIdentification::isValid() const

Renvoie true si l'objet d'identification de l'appareil est valide, sinon false.

Un objet d'identification d'appareil est considéré comme valide si ProductNameObjectId, ProductCodeObjectId et MajorMinorRevisionObjectId ont une valeur non vide. L'objet peut toujours contenir des identifiants d'objets valides et des données associées.

Note : Un objet d'identification d'appareil construit par défaut n'est pas valide.

QList<int> QModbusDeviceIdentification::objectIds() const

Renvoie une liste contenant tous les identifiants d'objets de l'objet QModbusDeviceIdentification dans l'ordre croissant.

Voir aussi ObjectId.

void QModbusDeviceIdentification::remove(uint objectId)

Supprime l'élément correspondant à l'adresse objectId.

Voir aussi ObjectId.

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

Définit le niveau de conformité de l'identification du dispositif et le type d'accès pris en charge à level.

Voir aussi conformityLevel().

QByteArray QModbusDeviceIdentification::value(uint objectId) const

Renvoie la valeur associée à objectId. S'il n'y a pas d'élément associé à objectId, la fonction renvoie une valeur construite par défaut.

Voir aussi 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.