【Qt】QModbusDeviceIdentification类
发布日期:2021-06-29 20:52:14 浏览次数:3 分类:技术文章

本文共 3840 字,大约阅读时间需要 12 分钟。

00. 目录

文章目录

01. 概述

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

设备标识接口被建模为由一组可寻址数据元素组成的地址空间。数据元素称为对象,而标识它们。

Header: #include

qmake: QT += serialbus

Since: Qt 5.8

02. 开发环境

Windows系统:Windows10

Qt版本:Qt5.15或者Qt6

03. 公有类型

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

enum QModbusDeviceIdentification::ConformityLevel

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

常量 描述
QModbusDeviceIdentification::BasicConformityLevel 0x01 基本标识(流访问)。
QModbusDeviceIdentification::RegularConformityLevel 0x02 定期识别(流访问)。
QModbusDeviceIdentification::ExtendedConformityLevel 0x03 扩展标识(流访问)。
QModbusDeviceIdentification::BasicIndividualConformityLevel 0x81 基本标识(流访问和个人访问)。
QModbusDeviceIdentification::RegularIndividualConformityLevel 0x82 定期标识(流访问和个人访问)。
QModbusDeviceIdentification::ExtendedIndividualConformityLevel 0x83 扩展标识(流访问和个人访问)。

enum QModbusDeviceIdentification::ObjectId

该枚举描述了可能的服务器对象。该接口包含三类对象:

基本设备标识。此类别的所有对象都是强制性的。

常量 描述
QModbusDeviceIdentification::VendorNameObjectId 0x00 设备的供应商名称。
QModbusDeviceIdentification::ProductCodeObjectId 0x01 设备的产品代码。
QModbusDeviceIdentification::MajorMinorRevisionObjectId 0x02 产品版本号。

常规设备识别。此类别的所有对象都是标准定义的并且是可选的。

常量 描述
QModbusDeviceIdentification::VendorUrlObjectId 0x03 设备的供应商URL。
QModbusDeviceIdentification::ProductNameObjectId 0x04 设备的产品名称。
QModbusDeviceIdentification::ModelNameObjectId 0x05 设备的型号名称。
QModbusDeviceIdentification::UserApplicationNameObjectId 0x06 设备的用户应用程序名称。

扩展设备标识。所有这些数据均取决于设备且是可选的。

常量 描述
QModbusDeviceIdentification::ProductDependentObjectId 0x80 产品相关标识符的第一个可能值。
QModbusDeviceIdentification::UndefinedObjectId 0x100 不使用。

enum QModbusDeviceIdentification::ReadDeviceIdCode

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

流访问:

常量 描述
QModbusDeviceIdentification::BasicReadDeviceIdCode 0x01 要求获取基本设备标识。
QModbusDeviceIdentification::RegularReadDeviceIdCode 0x02 要求获取常规设备标识。
QModbusDeviceIdentification::ExtendedReadDeviceIdCode 0x03 请求获取扩展的设备标识。

个人访问:

常量 描述
QModbusDeviceIdentification::IndividualReadDeviceIdCode 0x04 请求获取一个特定的标识对象。

04. 成员方法

QModbusDeviceIdentification::QModbusDeviceIdentification()构造一个无效的QModbusDeviceIdentification对象。    QModbusDeviceIdentification::ConformityLevel QModbusDeviceIdentification::conformityLevel() const返回设备的标识一致性级别和支持的访问类型。        bool QModbusDeviceIdentification::contains(uint objectId) const    返回true是否存在给定objectId的项目;否则返回false。       [static] QModbusDeviceIdentification QModbusDeviceIdentification::fromByteArray(const QByteArray &ba)    将字节数组ba转换为QModbusDeviceIdentification对象。注意:如果在处理字节数组时发生某些错误,则返回的对象可能为空,甚至无效。        bool QModbusDeviceIdentification::insert(uint objectId, const QByteArray &value)    插入与新项目OBJECTID和值值。如果已经有一个带有objectId的项目,则该项目的值将替换为value。返回true如果大小值小于245个字节,OBJECTID是小于QModbusDeviceIdentification :: UndefinedObjectId。        bool QModbusDeviceIdentification::isValid() const    返回true设备标识对象是否有效;否则false。如果将ProductNameObjectId,ProductCodeObjectId和MajorMinorRevisionObjectId设置为非空值,则设备标识对象被视为有效。对象仍然可以包含有效的对象ID和关联的数据。注意:默认构造的设备标识对象无效。    QList
QModbusDeviceIdentification::objectIds() const返回一个列表,其中包含对象中所有对象ID的QModbusDeviceIdentification升序排列。 void QModbusDeviceIdentification::remove(uint objectId)删除给定objectId的项目。 void QModbusDeviceIdentification::setConformityLevel(QModbusDeviceIdentification::ConformityLevel level)设置设备的标识一致性级别,并将支持的访问类型设置为level。 QByteArray QModbusDeviceIdentification::value(uint objectId) const 返回与objectId关联的值。如果没有带有objectId的项目,则该函数返回默认构造的值。

05. 预留

06. 附录

6.1 Qt教程汇总

网址:

转载地址:https://dengjin.blog.csdn.net/article/details/116922310 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:【Qt】QModbusExceptionResponse类
下一篇:【Qt】QModbusDevice类

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月19日 18时58分48秒