QModbusDeviceIdentification Class
La classe `QModbusDeviceIdentification` est une classe conteneur qui représente la description physique et fonctionnelle d'un serveur Modbus. En savoir plus...
| 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'ObjectId des périphériques est modélisée comme un espace d'adressage composé d'un ensemble d'éléments de données adressables. Ces éléments de données sont appelés « objets » et sont identifiés par une .
Documentation sur les types de membres
enum QModbusDeviceIdentification::ConformityLevel
Définit le niveau de conformité en matière d'identification de l'appareil et le type d'accès pris en charge.
| Constante | Valeur | Description |
|---|---|---|
QModbusDeviceIdentification::BasicConformityLevel | 0x01 | Identification de base (accès en flux). |
QModbusDeviceIdentification::RegularConformityLevel | 0x02 | Identification standard (accès en continu). |
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 standard (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 serveur possibles. L'interface comprend trois catégories d'objets :
Identification de base de l'appareil. Tous les objets de cette catégorie sont obligatoires.
| Constante | Valeur | Description |
|---|---|---|
QModbusDeviceIdentification::VendorNameObjectId | 0x00 | Nom du fabricant de l'appareil. |
QModbusDeviceIdentification::ProductCodeObjectId | 0x01 | Le code produit du périphérique. |
QModbusDeviceIdentification::MajorMinorRevisionObjectId | 0x02 | La numérotation de la version du produit. |
Identification standard de l’appareil. Tous les objets de cette catégorie sont définis de manière standard et facultative.
| Constante | Valeur | Description |
|---|---|---|
QModbusDeviceIdentification::VendorUrlObjectId | 0x03 | L'URL du fournisseur de l'appareil. |
QModbusDeviceIdentification::ProductNameObjectId | 0x04 | Le nom du produit correspondant à l’appareil. |
QModbusDeviceIdentification::ModelNameObjectId | 0x05 | Le nom du modèle de l'appareil. |
QModbusDeviceIdentification::UserApplicationNameObjectId | 0x06 | 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 identifiants d'objet 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 identifiants propres au produit. |
QModbusDeviceIdentification::UndefinedObjectId | 0x100 | Ne pas utiliser. |
enum QModbusDeviceIdentification::ReadDeviceIdCode
Définit le type d'accès de la demande d'identification en lecture.
Accès en flux :
| Constante | Valeur | Description |
|---|---|---|
QModbusDeviceIdentification::BasicReadDeviceIdCode | 0x01 | Demande visant à obtenir l'identification de base du périphérique. |
QModbusDeviceIdentification::RegularReadDeviceIdCode | 0x02 | Requête visant à obtenir l’identification standard de l’appareil. |
QModbusDeviceIdentification::ExtendedReadDeviceIdCode | 0x03 | Requête permettant d'obtenir l'identification étendue de l'appareil. |
Accès individuel :
| Constante | Valeur | Description |
|---|---|---|
QModbusDeviceIdentification::IndividualReadDeviceIdCode | 0x04 | Demande visant à obtenir un objet d’identification spécifique. |
Documentation des fonctions membres
[constexpr noexcept default] QModbusDeviceIdentification::QModbusDeviceIdentification()
Crée un objet `QModbusDeviceIdentification` non valide.
QModbusDeviceIdentification::ConformityLevel QModbusDeviceIdentification::conformityLevel() const
Renvoie le niveau de conformité d'identification de l'appareil et le type d'accès pris en charge.
Voir également setConformityLevel().
bool QModbusDeviceIdentification::contains(uint objectId) const
Renvoie « true » s'il existe un élément pour l'objectId donné ; sinon, « false ».
Voir également ObjectId.
[static] QModbusDeviceIdentification QModbusDeviceIdentification::fromByteArray(const QByteArray &ba)
Convertit le tableau d'octets ba en un objet de type QModbusDeviceIdentification.
Remarque : L'objet renvoyé peut être vide, voire invalide, si une erreur survient 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 l'objectId et la valeur value. S'il existe déjà un élément avec l'objectId, la valeur de cet élément est remplacée par value.
Renvoie true si la taille de value est inférieure à 245 octets et si objectId est inférieure à QModbusDeviceIdentification::UndefinedObjectId.
Voir également ObjectId.
bool QModbusDeviceIdentification::isValid() const
Renvoie « true » si l'objet d'identification de l'appareil est valide ; sinon, « false ».
Un objet d’identification de périphérique est considéré comme valide si les propriétés ProductNameObjectId, ProductCodeObjectId et MajorMinorRevisionObjectId sont définies sur une valeur non vide. L’objet peut toutefois contenir des identifiants d’objet valides et des données associées.
Remarque : un objet d’identification de périphérique 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 `, classés par ordre croissant.
Voir également « ObjectId ».
void QModbusDeviceIdentification::remove(uint objectId)
Supprime l'élément correspondant à l'objectId.
Voir également ObjectId.
void QModbusDeviceIdentification::setConformityLevel(QModbusDeviceIdentification::ConformityLevel level)
Définit le niveau de conformité d'identification de l'appareil et le type d'accès pris en charge sur level.
Voir également conformityLevel().
QByteArray QModbusDeviceIdentification::value(uint objectId) const
Renvoie la valeur associée à l'objectId. S'il n'existe aucun élément portant l'objectId, la fonction renvoie une valeur construite par défaut.
Voir également 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.