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.
| Constante | Valeur | Description de la constante |
|---|---|---|
QModbusDeviceIdentification::BasicConformityLevel | 0x01 | Identification de base (accès au flux). |
QModbusDeviceIdentification::RegularConformityLevel | 0x02 | Identification normale (accès au flux). |
QModbusDeviceIdentification::ExtendedConformityLevel | 0x03 | Identification étendue (accès au flux). |
QModbusDeviceIdentification::BasicIndividualConformityLevel | 0x81 | Identification de base (accès au flux et accès individuel). |
QModbusDeviceIdentification::RegularIndividualConformityLevel | 0x82 | Identification régulière (accès au flux et accès individuel). |
QModbusDeviceIdentification::ExtendedIndividualConformityLevel | 0x83 | Identification é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.
| Constante | Valeur | Description de l'objet |
|---|---|---|
QModbusDeviceIdentification::VendorNameObjectId | 0x00 | Le nom du fournisseur de l'appareil. |
QModbusDeviceIdentification::ProductCodeObjectId | 0x01 | Le code produit de l'appareil. |
QModbusDeviceIdentification::MajorMinorRevisionObjectId | 0x02 | Numé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.
| Constante | Valeur | Description de l'objet |
|---|---|---|
QModbusDeviceIdentification::VendorUrlObjectId | 0x03 | L'URL du fournisseur de l'appareil. |
QModbusDeviceIdentification::ProductNameObjectId | 0x04 | Le nom du produit de l'appareil. |
QModbusDeviceIdentification::ModelNameObjectId | 0x05 | Le nom du modèle de l'appareil. |
QModbusDeviceIdentification::UserApplicationNameObjectId | 0x06 | Le nom de l'application utilisateur de l'appareil. |
Plage réservée (c'est-à-dire, ReservedObjectId >= ObjectId < ProductDependentObjectId). Ne pas utiliser.
| Constante | Valeur | Description |
|---|---|---|
QModbusDeviceIdentification::ReservedObjectId | 0x07 | Premiè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.
| Constante | Valeur | Description |
|---|---|---|
QModbusDeviceIdentification::ProductDependentObjectId | 0x80 | Première valeur possible des identificateurs dépendant du produit. |
QModbusDeviceIdentification::UndefinedObjectId | 0x100 | Ne pas utiliser. |
enum QModbusDeviceIdentification::ReadDeviceIdCode
Définit le type d'accès à la demande d'identification en lecture.
Accès par flux :
| Constante | Valeur | Description de la requête |
|---|---|---|
QModbusDeviceIdentification::BasicReadDeviceIdCode | 0x01 | Demande d'obtention de l'identification de base de l'appareil. |
QModbusDeviceIdentification::RegularReadDeviceIdCode | 0x02 | Demande d'obtention de l'identification régulière de l'appareil. |
QModbusDeviceIdentification::ExtendedReadDeviceIdCode | 0x03 | Demande d'obtention de l'identification étendue de l'appareil. |
Accès individuel :
| Constante | Valeur | Description |
|---|---|---|
QModbusDeviceIdentification::IndividualReadDeviceIdCode | 0x04 | Demande 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.