QModbusDeviceIdentification Class
QModbusDeviceIdentification es una clase contenedora que representa la descripción física y funcional de un servidor Modbus. Más...
| Cabecera: | #include <QModbusDeviceIdentification> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS SerialBus)target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
| qmake: | QT += serialbus |
Tipos Públicos
| enum | ConformityLevel { BasicConformityLevel, RegularConformityLevel, ExtendedConformityLevel, BasicIndividualConformityLevel, RegularIndividualConformityLevel, ExtendedIndividualConformityLevel } |
| enum | ObjectId { VendorNameObjectId, ProductCodeObjectId, MajorMinorRevisionObjectId, VendorUrlObjectId, ProductNameObjectId, …, UndefinedObjectId } |
| enum | ReadDeviceIdCode { BasicReadDeviceIdCode, RegularReadDeviceIdCode, ExtendedReadDeviceIdCode, IndividualReadDeviceIdCode } |
Funciones públicas
| 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 |
Miembros públicos estáticos
| QModbusDeviceIdentification | fromByteArray(const QByteArray &ba) |
Descripción detallada
La interfaz de identificación de dispositivos se modela como un espacio de direcciones compuesto por un conjunto de elementos de datos direccionables. Los elementos de datos se denominan objetos y un ObjectId los identifica.
Documentación de los tipos de miembros
enum QModbusDeviceIdentification::ConformityLevel
Define el nivel de conformidad de identificación del dispositivo y el tipo de acceso admitido.
| Constante | Valor | Descripción |
|---|---|---|
QModbusDeviceIdentification::BasicConformityLevel | 0x01 | Identificación básica (acceso al flujo). |
QModbusDeviceIdentification::RegularConformityLevel | 0x02 | Identificación normal (acceso a flujo). |
QModbusDeviceIdentification::ExtendedConformityLevel | 0x03 | Identificación ampliada (acceso al flujo). |
QModbusDeviceIdentification::BasicIndividualConformityLevel | 0x81 | Identificación básica (acceso al flujo y acceso individual). |
QModbusDeviceIdentification::RegularIndividualConformityLevel | 0x82 | Identificación normal (acceso a los flujos y acceso individual). |
QModbusDeviceIdentification::ExtendedIndividualConformityLevel | 0x83 | Identificación ampliada (acceso a flujos y acceso individual). |
Véase también ReadDeviceIdCode.
enum QModbusDeviceIdentification::ObjectId
Este enum describe los posibles objetos del servidor. La interfaz consta de tres categorías de objetos:
Identificación básica del dispositivo. Todos los objetos de esta categoría son obligatorios.
| Constante | Valor | Descripción |
|---|---|---|
QModbusDeviceIdentification::VendorNameObjectId | 0x00 | Nombre del proveedor del dispositivo. |
QModbusDeviceIdentification::ProductCodeObjectId | 0x01 | El código de producto del dispositivo. |
QModbusDeviceIdentification::MajorMinorRevisionObjectId | 0x02 | La numeración de la versión del producto. |
Identificación normal del dispositivo. Todos los objetos de esta categoría están definidos de forma estándar y son opcionales.
| Constante | Valor | Descripción |
|---|---|---|
QModbusDeviceIdentification::VendorUrlObjectId | 0x03 | URL del proveedor del dispositivo. |
QModbusDeviceIdentification::ProductNameObjectId | 0x04 | Nombre del producto del dispositivo. |
QModbusDeviceIdentification::ModelNameObjectId | 0x05 | Nombre del modelo del dispositivo. |
QModbusDeviceIdentification::UserApplicationNameObjectId | 0x06 | El nombre de la aplicación de usuario del dispositivo. |
Rango reservado (es decir, ReservedObjectId >= ObjectId < ProductDependentObjectId). No utilizar.
| Constante | Valor | Descripción |
|---|---|---|
QModbusDeviceIdentification::ReservedObjectId | 0x07 | Primer valor de Ids de objeto reservado. |
Identificación ampliada del dispositivo. Todos estos datos dependen del dispositivo y son opcionales.
| Constante | Valor | Descripción |
|---|---|---|
QModbusDeviceIdentification::ProductDependentObjectId | 0x80 | Primer valor posible de los identificadores dependientes del producto. |
QModbusDeviceIdentification::UndefinedObjectId | 0x100 | No utilizar. |
enum QModbusDeviceIdentification::ReadDeviceIdCode
Define el tipo de acceso de la solicitud de identificación de lectura.
Acceso de flujo:
| Constante | Valor | Descripción |
|---|---|---|
QModbusDeviceIdentification::BasicReadDeviceIdCode | 0x01 | Petición para obtener la identificación básica del dispositivo. |
QModbusDeviceIdentification::RegularReadDeviceIdCode | 0x02 | Solicitud para obtener la identificación normal del dispositivo. |
QModbusDeviceIdentification::ExtendedReadDeviceIdCode | 0x03 | Solicitud para obtener la identificación ampliada del dispositivo. |
Acceso individual:
| Constante | Valor | Descripción |
|---|---|---|
QModbusDeviceIdentification::IndividualReadDeviceIdCode | 0x04 | Solicitud para obtener un objeto de identificación específico. |
Documentación de la función miembro
[constexpr noexcept] QModbusDeviceIdentification::QModbusDeviceIdentification()
Construye un objeto QModbusDeviceIdentification inválido.
QModbusDeviceIdentification::ConformityLevel QModbusDeviceIdentification::conformityLevel() const
Devuelve el nivel de conformidad de identificación del dispositivo y el tipo de acceso admitido.
Véase también setConformityLevel().
bool QModbusDeviceIdentification::contains(uint objectId) const
Devuelve true si hay un elemento para el objectId dado ; en caso contrario false.
Véase también ObjectId.
[static] QModbusDeviceIdentification QModbusDeviceIdentification::fromByteArray(const QByteArray &ba)
Convierte la matriz de bytes ba en un objeto QModbusDeviceIdentification.
Nota: : El objeto devuelto puede estar vacío o incluso no ser válido si se produce algún error al procesar la matriz de bytes.
Véase también isValid().
bool QModbusDeviceIdentification::insert(uint objectId, const QByteArray &value)
Inserta un nuevo elemento con el valor objectId y un valor de value. Si ya existe un elemento con el valor objectId, el valor de ese elemento se sustituye por value.
Devuelve true si el tamaño de value es inferior a 245 bytes y el de objectId es inferior a QModbusDeviceIdentification::UndefinedObjectId.
Véase también ObjectId.
bool QModbusDeviceIdentification::isValid() const
Devuelve true si el objeto de identificación de dispositivo es válido; en caso contrario false.
Un objeto de identificación de dispositivo se considera válido si ProductNameObjectId, ProductCodeObjectId y MajorMinorRevisionObjectId tienen un valor no vacío. Aún así, el objeto puede contener identificadores de objeto válidos y datos asociados.
Nota: Un objeto de identificación de dispositivo construido por defecto no es válido.
QList<int> QModbusDeviceIdentification::objectIds() const
Devuelve una lista con todos los identificadores de objeto del objeto QModbusDeviceIdentification en orden ascendente.
Véase también ObjectId.
void QModbusDeviceIdentification::remove(uint objectId)
Elimina el elemento para el objectId dado .
Véase también ObjectId.
void QModbusDeviceIdentification::setConformityLevel(QModbusDeviceIdentification::ConformityLevel level)
Establece el nivel de conformidad de identificación del dispositivo y el tipo de acceso admitido a level.
Véase también conformityLevel().
QByteArray QModbusDeviceIdentification::value(uint objectId) const
Devuelve el valor asociado con el objectId. Si no hay ningún elemento con el objectId, la función devuelve un valor construido por defecto.
Véase también 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.