QModbusDeviceIdentification 类
QModbusDeviceIdentification 是一个容器类,表示 Modbus 服务器物理和功能的描述。 更多信息...
头文件 | #include <QModbusDeviceIdentification> |
CMake | find_package(Qt6 REQUIRED COMPONENTS SerialBus) target_link_libraries(mytarget PRIVATE Qt6::SerialBus) |
qmake | QT += serialbus |
公共类型
枚举 | ConformityLevel { 基础合规性级别, 正常合规性级别, 扩展合规性级别, 基础个人合规性级别, 正常个人合规性级别, 扩展个人合规性级别 } |
枚举 | ObjectId {VendorNameObjectId, 产品代码ObjectId, 主次修订ObjectId, 供应商UrlObjectId, 产品名称ObjectId, …, UndefinedObjectId } |
枚举 | ReadDeviceIdCode {基本读取设备ID代码, 正常读取设备ID代码, 扩展读取设备ID代码, 个人读取设备ID代码 } |
公共函数
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 |
静态公共成员
QModbusDeviceIdentification | fromByteArray(const QByteArray &ba) |
详细说明
设备标识接口被建模为一个地址空间,由一组可寻址数据元素组成。这些数据元素被称为对象,一个 ObjectId 用于识别它们。
成员类型文档
枚举 QModbusDeviceIdentification::ConformityLevel
定义设备的标识合规性级别和支持访问的类型。
常量 | 值 | 描述 |
---|---|---|
QModbusDeviceIdentification::BasicConformityLevel | 0x01 | 基础标识(流访问)。 |
QModbusDeviceIdentification::RegularConformityLevel | 0x02 | 常规标识(流访问)。 |
QModbusDeviceIdentification::ExtendedConformityLevel | 0x03 | 扩展标识(流访问)。 |
QModbusDeviceIdentification::BasicIndividualConformityLevel | 0x81 | 基本识别(流接入和单独接入)。 |
QModbusDeviceIdentification::RegularIndividualConformityLevel | 0x82 | 常规识别(流接入和单独接入)。 |
QModbusDeviceIdentification::ExtendedIndividualConformityLevel | 0x83 | 扩展识别(流接入和单独接入)。 |
另请参阅 ReadDeviceIdCode。
枚举 QModbusDeviceIdentification::ObjectId
此枚举描述了可能的服务器对象。接口由三个对象类别组成
基本设备识别。本类别中的所有对象都是必需的。
常量 | 值 | 描述 |
---|---|---|
QModbusDeviceIdentification::VendorNameObjectId | 0x00 | 设备的供应商名称。 |
QModbusDeviceIdentification::ProductCodeObjectId | 0x01 | 设备的型号代码。 |
QModbusDeviceIdentification::MajorMinorRevisionObjectId | 0x02 | 产品版本编号。 |
常规设备识别。本类别中的所有对象都是由标准定义的可选。
常量 | 值 | 描述 |
---|---|---|
QModbusDeviceIdentification::VendorUrlObjectId | 0x03 | 设备的供应商网址。 |
QModbusDeviceIdentification::ProductNameObjectId | 0x04 | 设备的名称。 |
QModbusDeviceIdentification::ModelNameObjectId | 0x05 | 设备的型号名称。 |
QModbusDeviceIdentification::UserApplicationNameObjectId | 0x06 | 设备的用户应用程序名称。 |
保留范围(即,ReservedObjectId >= ObjectId < ProductDependentObjectId)。请勿使用。
常量 | 值 | 描述 |
---|---|---|
QModbusDeviceIdentification::ReservedObjectId | 0x07 | 保留对象ID的第一个值。 |
扩展设备识别。所有这些数据都是设备相关的,可选的。
常量 | 值 | 描述 |
---|---|---|
QModbusDeviceIdentification::ProductDependentObjectId | 0x80 | 产品相关标识符的第一个可能值。 |
QModbusDeviceIdentification::UndefinedObjectId | 0x100 | 请勿使用。 |
枚举 QModbusDeviceIdentification::ReadDeviceIdCode
定义读取识别请求的访问类型。
流访问
常量 | 值 | 描述 |
---|---|---|
QModbusDeviceIdentification::BasicReadDeviceIdCode | 0x01 | 获取基本设备识别的请求。 |
QModbusDeviceIdentification::RegularReadDeviceIdCode | 0x02 | 获取常规设备识别的请求。 |
QModbusDeviceIdentification::ExtendedReadDeviceIdCode | 0x03 | 获取扩展设备识别的请求。 |
单独访问
常量 | 值 | 描述 |
---|---|---|
QModbusDeviceIdentification::IndividualReadDeviceIdCode | 0x04 | 获取一个特定的识别对象。 |
成员函数文档
[constexpr noexcept]
QModbusDeviceIdentification::QModbusDeviceIdentification()
构建一个无效的 QModbusDeviceIdentification 对象。
QModbusDeviceIdentification::ConformityLevel QModbusDeviceIdentification::conformityLevel() const
返回设备的识别合格等级和支持的访问类型。
另请参阅 setConformityLevel。
bool QModbusDeviceIdentification::contains(uint objectId) const
如果有给定 objectId 的项目,则返回 true
;否则返回 false
。
另请参阅 ObjectId。
[static]
QModbusDeviceIdentification QModbusDeviceIdentification::fromByteArray(const QByteArray &ba)
将字节数组 ba 转换为 QModbusDeviceIdentification 对象。
注意:在处理字节数组时发生错误,返回的对象可能为空,甚至无效。
另见 isValid().
bool QModbusDeviceIdentification::insert(uint objectId, const QByteArray &value)
插入一个新的条目,其中包含objectId和value的值。如果已存在具有相同objectId的条目,则该条目的值将被value替换。
如果value的大小小于245字节,并且objectId小于QModbusDeviceIdentification::UndefinedObjectId,则返回true
。
另请参阅 ObjectId。
bool QModbusDeviceIdentification::isValid() const
如果设备识别对象有效,则返回true
;否则返回false
。
如果ProductNameObjectId、ProductCodeObjectId和MajorMinorRevisionObjectId设置为非空值,则认为设备识别对象是有效的。然而,该对象可以包含有效的对象标识和关联数据。
注意:默认构造的设备识别对象是无效的。
QList<int> QModbusDeviceIdentification::objectIds() const
返回一个包含所有QModbusDeviceIdentification对象对象标识的列表,按升序排列。
另请参阅 ObjectId。
void QModbusDeviceIdentification::remove(uint objectId)
删除具有给定objectId的条目。
另请参阅 ObjectId。
void QModbusDeviceIdentification::setConformityLevel(QModbusDeviceIdentification::ConformityLevel level)
设置设备识别的合规性级别和所支持的访问类型为level。
另见 conformityLevel().
QByteArray QModbusDeviceIdentification::value(uint objectId) const
返回与objectId关联的值。如果没有具有objectId的条目,则函数返回一个默认构造的值。
另请参阅 ObjectId。
© 2024 The Qt Company Ltd. 本文件中包含的文档贡献的版权属于各自的所有者。提供本文件的文档根据GNU自由文档许可协议第1.3版的条款发布,该协议由自由软件基金会发布。Qt及其相关标志是芬兰和/或其他国家的The Qt Company Ltd.的商标。所有其他商标均为各自所有者的财产。