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 |
This class was introduced in Qt 5.8.
Public Types
enum | ConformityLevel { BasicConformityLevel, RegularConformityLevel, ExtendedConformityLevel, BasicIndividualConformityLevel, RegularIndividualConformityLevel, ExtendedIndividualConformityLevel } |
enum | ObjectId { VendorNameObjectId, ProductCodeObjectId, MajorMinorRevisionObjectId, VendorUrlObjectId, ProductNameObjectId, …, UndefinedObjectId } |
enum | ReadDeviceIdCode { BasicReadDeviceIdCode, RegularReadDeviceIdCode, ExtendedReadDeviceIdCode, IndividualReadDeviceIdCode } |
Public Functions
QModbusDeviceIdentification() | |
ConformityLevel | conformityLevel() const |
bool | isValid() const |
int | objectIds() const |
void | setConformityLevel(ConformityLevel level) |
Detailed Description
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.
Constant | Value | Description |
---|---|---|
QModbusDeviceIdentification::BasicConformityLevel | 0x01 | Basic identification (stream access). |
QModbusDeviceIdentification::RegularConformityLevel | 0x02 | Regular identification (stream access). |
QModbusDeviceIdentification::ExtendedConformityLevel | 0x03 | Extended identification (stream access). |
QModbusDeviceIdentification::BasicIndividualConformityLevel | 0x81 | Basic identification (stream access and individual access). |
QModbusDeviceIdentification::RegularIndividualConformityLevel | 0x82 | Regular identification (stream access and individual access). |
QModbusDeviceIdentification::ExtendedIndividualConformityLevel | 0x83 | Extended 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.
Constant | Value | Description |
---|---|---|
QModbusDeviceIdentification::VendorNameObjectId | 0x00 | The vendor name of the device. |
QModbusDeviceIdentification::ProductCodeObjectId | 0x01 | The product code of the device. |
QModbusDeviceIdentification::MajorMinorRevisionObjectId | 0x02 | The product version numbering. |
Regular Device Identification. All objects of this category are standard defined and optional.
Constant | Value | Description |
---|---|---|
QModbusDeviceIdentification::VendorUrlObjectId | 0x03 | The vendor URL of the device. |
QModbusDeviceIdentification::ProductNameObjectId | 0x04 | The product name of the device. |
QModbusDeviceIdentification::ModelNameObjectId | 0x05 | The model name of the device. |
QModbusDeviceIdentification::UserApplicationNameObjectId | 0x06 | The user application name of the device. |
Reserved range (i.e., ReservedObjectId >= ObjectId < ProductDependentObjectId). Do not use.
Constant | Value | Description |
---|---|---|
QModbusDeviceIdentification::ReservedObjectId | 0x07 | First value of reserved object Ids. |
Extended Device Identification. All of these data are device dependent and optional.
Constant | Value | Description |
---|---|---|
QModbusDeviceIdentification::ProductDependentObjectId | 0x80 | First possible value of product dependent identifiers. |
QModbusDeviceIdentification::UndefinedObjectId | 0x100 | Do not use. |
enum QModbusDeviceIdentification::ReadDeviceIdCode
Defines the access type of the read identification request.
Stream access:
Constant | Value | Description |
---|---|---|
QModbusDeviceIdentification::BasicReadDeviceIdCode | 0x01 | Request to get the basic device identification. |
QModbusDeviceIdentification::RegularReadDeviceIdCode | 0x02 | Request to get the regular device identification. |
QModbusDeviceIdentification::ExtendedReadDeviceIdCode | 0x03 | Request to get the extended device identification. |
Individual access:
Constant | Value | Description |
---|---|---|
QModbusDeviceIdentification::IndividualReadDeviceIdCode | 0x04 | Request to get one specific identification object. |
Member Function Documentation
QModbusDeviceIdentification::QModbusDeviceIdentification()
Constructs an invalid QModbusDeviceIdentification object.
ConformityLevel QModbusDeviceIdentification::conformityLevel() const
Returns the identification conformity level of the device and type of supported access.
See also setConformityLevel().
bool QModbusDeviceIdentification::isValid() const
Returns true
if the device identification object is valid; otherwise false
.
A device identification object is considered valid if ProductNameObjectId, ProductCodeObjectId and MajorMinorRevisionObjectId are set to a non-empty value. Still the object can contain valid object id's and associated data.
Note: A default constructed device identification object is invalid.
int QModbusDeviceIdentification::objectIds() const
Returns a list containing all the object id's in the QModbusDeviceIdentification
object in ascending order.
See also ObjectId.
void QModbusDeviceIdentification::setConformityLevel(ConformityLevel level)
Sets the identification conformity level of the device and type of supported access to level.
See also conformityLevel().