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

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

00. 目录

文章目录

01. 概述

QModbusDataUnit是一个容器类,在Modbus寄存器中的单个位和16位条目。

可用于读取和写入操作。这些条目通过()和()数量的连续条目来寻址。()确定哪个寄存器用于操作。请注意,某些寄存器是只读寄存器。

实际的()可以是单个位或16位。和仅接受单个位。因此0被解释为0和其他任何东西1

Header: #include

qmake: QT += serialbus

Since: Qt 5.8

02. 开发环境

Windows系统:Windows10

Qt版本:Qt5.15或者Qt6

03. 共有类型

QModbusDataUnit :: RegisterType类型

enum RegisterType {
Invalid, DiscreteInputs, Coils, InputRegisters, HoldingRegisters }
常量 描述
QModbusDataUnit::Invalid 0 由默认构造函数设置,请勿使用。
QModbusDataUnit::DiscreteInputs 1 此类数据可以由I / O系统提供。
QModbusDataUnit::Coils 2 此类数据可以由应用程序更改。
QModbusDataUnit::InputRegisters 3 此类数据可以由I / O系统提供。
QModbusDataUnit::HoldingRegisters 4 此类数据可以由应用程序更改。

04. 成员方法

QModbusDataUnit::QModbusDataUnit(QModbusDataUnit::RegisterType type, int address, const QVector
&data)为寄存器类型构造一个数据单元。数据的起始地址设置为address,本机的值设置为data。数值大小由数据大小隐含。 QModbusDataUnit::QModbusDataUnit(QModbusDataUnit::RegisterType type, int address, quint16 size) 为寄存器类型构造一个数据单元。数据的起始地址设置为address,单位的大小设置为size。value()的条目使用初始化0。 QModbusDataUnit::QModbusDataUnit(QModbusDataUnit::RegisterType type) 为寄存器类型构造一个数据单元。起始地址设置为0,数据范围和数据值为空。 QModbusDataUnit::QModbusDataUnit()构造一个空的无效QModbusDataUnit。起始地址设置为-1,registerType设置为QModbusDataUnit :: Invalid。 bool QModbusDataUnit::isValid() const返回,true如果QModbusDataUnit有效。否则false。QModbusDataUnit如果registerType()不是QModbusDataUnit :: Invalid并且startAddress()大于或等于,则认为ModbusDataUnit有效0。 QModbusDataUnit::RegisterType QModbusDataUnit::registerType() const 返回寄存器的类型。 void QModbusDataUnit::setRegisterType(QModbusDataUnit::RegisterType type)设置寄存器类型。 void QModbusDataUnit::setStartAddress(int address)设置数据单元的起始地址。 void QModbusDataUnit::setValue(int index, quint16 value) 将位置索引处的寄存器设置为value。 void QModbusDataUnit::setValueCount(uint newCount) 将请求的寄存器的数据块的大小设置为newCount。 void QModbusDataUnit::setValues(const QVector
&values) 设置数据单位的值。QModbusDataUnit :: DiscreteInputs和QModbusDataUnit :: Coils表仅接受单个位值,因此0被解释为0和1。 int QModbusDataUnit::startAddress() const返回寄存器中数据单元的起始地址。 quint16 QModbusDataUnit::value(int index) const 返回位置index处的值。 uint QModbusDataUnit::valueCount() const 返回请求的寄存器的数据块的大小或从设备读取的数据的大小。 QVector
QModbusDataUnit::values() const 返回数据单元中的数据。

05. 预留

06. 附录

6.1 Qt教程汇总

网址:

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

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

发表评论

最新留言

很好
[***.229.124.182]2024年04月10日 17时49分30秒