QModbusDeviceIdentification Class

The QModbusDeviceIdentification is a container class representing the physical and functional description of a Modbus server. More...

Header: #include <QModbusDeviceIdentification>
qmake: QT += serialbus
Since: Qt 5.8

Public Types

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

Public Functions

QModbusDeviceIdentification()
QModbusDeviceIdentification::ConformityLevel conformityLevel() const
bool contains(uint objectId) const
bool insert(uint objectId, const QByteArray &data)
bool isValid() const
QList<int> objectIds() const
void remove(uint objectId)
void setConformityLevel(QModbusDeviceIdentification::ConformityLevel level)
QByteArray value(uint objectId) const

Static Public Members

Detailed Description

The QModbusDeviceIdentification is a container class representing the physical and functional description of a Modbus server.

The Device Identification interface is modeled as an address space composed of a set of addressable data elements. The data elements are called objects and an ObjectId identifies them.

Member Type Documentation

enum QModbusDeviceIdentification::ConformityLevel

Defines the identification conformity level of the device and type of supported access.

ConstantValueDescription
QModbusDeviceIdentification::BasicConformityLevel0x01Basic identification (stream access).
QModbusDeviceIdentification::RegularConformityLevel0x02Regular identification (stream access).
QModbusDeviceIdentification::ExtendedConformityLevel0x03Extended identification (stream access).
QModbusDeviceIdentification::BasicIndividualConformityLevel0x81Basic identification (stream access and individual access).
QModbusDeviceIdentification::RegularIndividualConformityLevel0x82Regular identification (stream access and individual access).
QModbusDeviceIdentification::ExtendedIndividualConformityLevel0x83Extended identification (stream access and individual access).

See also ReadDeviceIdCode.

enum QModbusDeviceIdentification::ObjectId

This enum describes the possible server objects. The interface consists of three categories of objects:

Basic Device Identification. All objects of this category are mandatory.

ConstantValueDescription
QModbusDeviceIdentification::VendorNameObjectId0x00The vendor name of the device.
QModbusDeviceIdentification::ProductCodeObjectId0x01The product code of the device.
QModbusDeviceIdentification::MajorMinorRevisionObjectId0x02The product version numbering.

Regular Device Identification. All objects of this category are standard defined and optional.

ConstantValueDescription
QModbusDeviceIdentification::VendorUrlObjectId0x03The vendor URL of the device.
QModbusDeviceIdentification::ProductNameObjectId0x04The product name of the device.
QModbusDeviceIdentification::ModelNameObjectId0x05The model name of the device.
QModbusDeviceIdentification::UserApplicationNameObjectId0x06The user application name of the device.

Reserved range (i.e., ReservedObjectId >= ObjectId < ProductDependentObjectId). Do not use.

ConstantValueDescription
QModbusDeviceIdentification::ReservedObjectId0x07First value of reserved object Ids.

Extended Device Identification. All of these data are device dependent and optional.

ConstantValueDescription
QModbusDeviceIdentification::ProductDependentObjectId0x80First possible value of product dependent identifiers.
QModbusDeviceIdentification::UndefinedObjectId0x100Do not use.

enum QModbusDeviceIdentification::ReadDeviceIdCode

Defines the access type of the read identification request.

Stream access:

ConstantValueDescription
QModbusDeviceIdentification::BasicReadDeviceIdCode0x01Request to get the basic device identification.
QModbusDeviceIdentification::RegularReadDeviceIdCode0x02Request to get the regular device identification.
QModbusDeviceIdentification::ExtendedReadDeviceIdCode0x03Request to get the extended device identification.

Individual access:

ConstantValueDescription
QModbusDeviceIdentification::IndividualReadDeviceIdCode0x04Request to get one specific identification object.

Member Function Documentation

QModbusDeviceIdentification::QModbusDeviceIdentification()

Default constructs an instance of QModbusDeviceIdentification.

QModbusDeviceIdentification::ConformityLevel QModbusDeviceIdentification::conformityLevel() const

See also setConformityLevel().

bool QModbusDeviceIdentification::contains(uint objectId) const

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

bool QModbusDeviceIdentification::isValid() const

QList<int> QModbusDeviceIdentification::objectIds() const

void QModbusDeviceIdentification::remove(uint objectId)

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

See also conformityLevel().

QByteArray QModbusDeviceIdentification::value(uint objectId) const