En esta página

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.

ConstanteValorDescripción
QModbusDeviceIdentification::BasicConformityLevel0x01Identificación básica (acceso al flujo).
QModbusDeviceIdentification::RegularConformityLevel0x02Identificación normal (acceso a flujo).
QModbusDeviceIdentification::ExtendedConformityLevel0x03Identificación ampliada (acceso al flujo).
QModbusDeviceIdentification::BasicIndividualConformityLevel0x81Identificación básica (acceso al flujo y acceso individual).
QModbusDeviceIdentification::RegularIndividualConformityLevel0x82Identificación normal (acceso a los flujos y acceso individual).
QModbusDeviceIdentification::ExtendedIndividualConformityLevel0x83Identificació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.

ConstanteValorDescripción
QModbusDeviceIdentification::VendorNameObjectId0x00Nombre del proveedor del dispositivo.
QModbusDeviceIdentification::ProductCodeObjectId0x01El código de producto del dispositivo.
QModbusDeviceIdentification::MajorMinorRevisionObjectId0x02La 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.

ConstanteValorDescripción
QModbusDeviceIdentification::VendorUrlObjectId0x03URL del proveedor del dispositivo.
QModbusDeviceIdentification::ProductNameObjectId0x04Nombre del producto del dispositivo.
QModbusDeviceIdentification::ModelNameObjectId0x05Nombre del modelo del dispositivo.
QModbusDeviceIdentification::UserApplicationNameObjectId0x06El nombre de la aplicación de usuario del dispositivo.

Rango reservado (es decir, ReservedObjectId >= ObjectId < ProductDependentObjectId). No utilizar.

ConstanteValorDescripción
QModbusDeviceIdentification::ReservedObjectId0x07Primer valor de Ids de objeto reservado.

Identificación ampliada del dispositivo. Todos estos datos dependen del dispositivo y son opcionales.

ConstanteValorDescripción
QModbusDeviceIdentification::ProductDependentObjectId0x80Primer valor posible de los identificadores dependientes del producto.
QModbusDeviceIdentification::UndefinedObjectId0x100No utilizar.

enum QModbusDeviceIdentification::ReadDeviceIdCode

Define el tipo de acceso de la solicitud de identificación de lectura.

Acceso de flujo:

ConstanteValorDescripción
QModbusDeviceIdentification::BasicReadDeviceIdCode0x01Petición para obtener la identificación básica del dispositivo.
QModbusDeviceIdentification::RegularReadDeviceIdCode0x02Solicitud para obtener la identificación normal del dispositivo.
QModbusDeviceIdentification::ExtendedReadDeviceIdCode0x03Solicitud para obtener la identificación ampliada del dispositivo.

Acceso individual:

ConstanteValorDescripción
QModbusDeviceIdentification::IndividualReadDeviceIdCode0x04Solicitud 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.