QModbusDeviceIdentification 类

QModbusDeviceIdentification 是一个容器类,表示 Modbus 服务器物理和功能的描述。 更多信息...

头文件 #include <QModbusDeviceIdentification>
CMakefind_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmakeQT += serialbus

公共类型

枚举ConformityLevel { 基础合规性级别, 正常合规性级别, 扩展合规性级别, 基础个人合规性级别, 正常个人合规性级别, 扩展个人合规性级别 }
枚举ObjectId {VendorNameObjectId, 产品代码ObjectId, 主次修订ObjectId, 供应商UrlObjectId, 产品名称ObjectId, …, UndefinedObjectId }
枚举ReadDeviceIdCode {基本读取设备ID代码, 正常读取设备ID代码, 扩展读取设备ID代码, 个人读取设备ID代码 }

公共函数

QModbusDeviceIdentification()
QModbusDeviceIdentification::ConformityLevelconformityLevel() const
boolcontains(uint objectId) const
boolinsert(uint objectId, const QByteArray &value)
boolisValid() const
QList<int>objectIds() const
voidremove(uint objectId)
voidsetConformityLevel(QModbusDeviceIdentification::ConformityLevel level)
QByteArrayvalue(uint objectId) const

静态公共成员

QModbusDeviceIdentificationfromByteArray(const QByteArray &ba)

详细说明

设备标识接口被建模为一个地址空间,由一组可寻址数据元素组成。这些数据元素被称为对象,一个 ObjectId 用于识别它们。

成员类型文档

枚举 QModbusDeviceIdentification::ConformityLevel

定义设备的标识合规性级别和支持访问的类型。

常量描述
QModbusDeviceIdentification::BasicConformityLevel0x01基础标识(流访问)。
QModbusDeviceIdentification::RegularConformityLevel0x02常规标识(流访问)。
QModbusDeviceIdentification::ExtendedConformityLevel0x03扩展标识(流访问)。
QModbusDeviceIdentification::BasicIndividualConformityLevel0x81基本识别(流接入和单独接入)。
QModbusDeviceIdentification::RegularIndividualConformityLevel0x82常规识别(流接入和单独接入)。
QModbusDeviceIdentification::ExtendedIndividualConformityLevel0x83扩展识别(流接入和单独接入)。

另请参阅 ReadDeviceIdCode

枚举 QModbusDeviceIdentification::ObjectId

此枚举描述了可能的服务器对象。接口由三个对象类别组成

基本设备识别。本类别中的所有对象都是必需的。

常量描述
QModbusDeviceIdentification::VendorNameObjectId0x00设备的供应商名称。
QModbusDeviceIdentification::ProductCodeObjectId0x01设备的型号代码。
QModbusDeviceIdentification::MajorMinorRevisionObjectId0x02产品版本编号。

常规设备识别。本类别中的所有对象都是由标准定义的可选。

常量描述
QModbusDeviceIdentification::VendorUrlObjectId0x03设备的供应商网址。
QModbusDeviceIdentification::ProductNameObjectId0x04设备的名称。
QModbusDeviceIdentification::ModelNameObjectId0x05设备的型号名称。
QModbusDeviceIdentification::UserApplicationNameObjectId0x06设备的用户应用程序名称。

保留范围(即,ReservedObjectId >= ObjectId < ProductDependentObjectId)。请勿使用。

常量描述
QModbusDeviceIdentification::ReservedObjectId0x07保留对象ID的第一个值。

扩展设备识别。所有这些数据都是设备相关的,可选的。

常量描述
QModbusDeviceIdentification::ProductDependentObjectId0x80产品相关标识符的第一个可能值。
QModbusDeviceIdentification::UndefinedObjectId0x100请勿使用。

枚举 QModbusDeviceIdentification::ReadDeviceIdCode

定义读取识别请求的访问类型。

流访问

常量描述
QModbusDeviceIdentification::BasicReadDeviceIdCode0x01获取基本设备识别的请求。
QModbusDeviceIdentification::RegularReadDeviceIdCode0x02获取常规设备识别的请求。
QModbusDeviceIdentification::ExtendedReadDeviceIdCode0x03获取扩展设备识别的请求。

单独访问

常量描述
QModbusDeviceIdentification::IndividualReadDeviceIdCode0x04获取一个特定的识别对象。

成员函数文档

[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)

插入一个新的条目,其中包含objectIdvalue的值。如果已存在具有相同objectId的条目,则该条目的值将被value替换。

如果value的大小小于245字节,并且objectId小于QModbusDeviceIdentification::UndefinedObjectId,则返回true

另请参阅 ObjectId

bool QModbusDeviceIdentification::isValid() const

如果设备识别对象有效,则返回true;否则返回false

如果ProductNameObjectIdProductCodeObjectIdMajorMinorRevisionObjectId设置为非空值,则认为设备识别对象是有效的。然而,该对象可以包含有效的对象标识和关联数据。

注意:默认构造的设备识别对象是无效的。

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.的商标。所有其他商标均为各自所有者的财产。