QModbusDataUnit Class

QModbusDataUnit は Modbus レジスタのシングル・ビットと16 ビットのワード・エントリを表すコンテナ・クラスです。詳細...

Header: #include <QModbusDataUnit>
CMake: find_package(Qt6 REQUIRED COMPONENTS SerialBus)
target_link_libraries(mytarget PRIVATE Qt6::SerialBus)
qmake: QT += serialbus

パブリック・タイプ

enum RegisterType { Invalid, DiscreteInputs, Coils, InputRegisters, HoldingRegisters }

パブリック関数

QModbusDataUnit()
QModbusDataUnit(QModbusDataUnit::RegisterType type)
QModbusDataUnit(QModbusDataUnit::RegisterType type, int address, const QList<quint16> &data)
QModbusDataUnit(QModbusDataUnit::RegisterType type, int address, quint16 size)
bool isValid() const
QModbusDataUnit::RegisterType registerType() const
void setRegisterType(QModbusDataUnit::RegisterType type)
void setStartAddress(int address)
void setValue(qsizetype index, quint16 value)
void setValueCount(qsizetype newCount)
void setValues(const QList<quint16> &values)
int startAddress() const
quint16 value(qsizetype index) const
qsizetype valueCount() const
QList<quint16> values() const

詳細説明

QModbusDataUnit は、読み取りと書き込みの操作に使用できる。エントリは () と () 連続エントリ数によってアドレス指定される。() は、どのレジスタを操作に使用するかを決定する。一部のレジスタは読み出し専用レジスタであることに注意。startAddress valueCount registerType

実際のvalues ()は、シングルビットまたは16 ビットベースである。QModbusDataUnit::DiscreteInputsQModbusDataUnit::Coils はシングルビットしか受け付けない。したがって、00 と解釈され、それ以外は1 と解釈される。

メンバ型ドキュメント

enum QModbusDataUnit::RegisterType

この列挙型は、サポートされるすべてのレジスタ・タイプを記述する。

定数説明
QModbusDataUnit::Invalid0デフォルトのコンストラクタによって設定されます。
QModbusDataUnit::DiscreteInputs1このタイプのデータは、I/O システムによって提供される可能性があります。
QModbusDataUnit::Coils2このタイプのデータは、アプリケーション・プログラムによって変更可能である。
QModbusDataUnit::InputRegisters3このタイプのデータはI/Oシステムによって提供されることができる。
QModbusDataUnit::HoldingRegisters4この型のデータは、アプリケーション・プログラムによって変更可能である。

メンバ関数ドキュメント

[constexpr noexcept] QModbusDataUnit::QModbusDataUnit()

空の無効な QModbusDataUnit を構築します。開始アドレスは-1 に設定され、registerTypeQModbusDataUnit::Invalid に設定されます。

[explicit constexpr noexcept] QModbusDataUnit::QModbusDataUnit(QModbusDataUnit::RegisterType type)

レジスタtype のデータ・ユニットを構築します。開始アドレスは0 に設定され、データ範囲とデータ値は空です。

QModbusDataUnit::QModbusDataUnit(QModbusDataUnit::RegisterType type, int address, const QList<quint16> &data)

レジスタtype のデータ単位を構築する。データの開始アドレスはaddress に設定され、ユニットの値はdata に設定される。値カウントはdata サイズによって暗示される。

QModbusDataUnit::QModbusDataUnit(QModbusDataUnit::RegisterType type, int address, quint16 size)

レジスタtype のデータ単位を構築する。データの開始アドレスはaddress に、ユニットのサイズはsize に設定される。values() のエントリは0 で初期化される。

bool QModbusDataUnit::isValid() const

QModbusDataUnit が有効な場合はtrue を返し、そうでない場合はfalse を返す。registerType() がQModbusDataUnit::Invalid でなく、かつstartAddress() が0 以上の場合、QModbusDataUnit は有効であると見なされる。

QModbusDataUnit::RegisterType QModbusDataUnit::registerType() const

レジスタの型を返す。

setRegisterType() およびQModbusDataUnit::RegisterTypeも参照のこと

void QModbusDataUnit::setRegisterType(QModbusDataUnit::RegisterType type)

レジスタを設定するtype

registerType() およびQModbusDataUnit::RegisterType参照のこと

void QModbusDataUnit::setStartAddress(int address)

データ・ユニットの開始位置address を設定する。

startAddress() も参照

void QModbusDataUnit::setValue(qsizetype index, quint16 value)

位置index からvalue のレジスタを設定する。

value() も参照

void QModbusDataUnit::setValueCount(qsizetype newCount)

要求されたレジスタのデータ・ブロックのサイズをnewCount に設定する。

この関数はデータ要求のサイズを示すために使用されるため、values() のサイズとは異なる場合がある。データ要求が処理されると、valueCount() はvalues() のサイズに等しくなる。

valueCount()も参照のこと

void QModbusDataUnit::setValues(const QList<quint16> &values)

データ・ユニットのvalues を設定する。QModbusDataUnit::DiscreteInputs およびQModbusDataUnit::Coils テーブルはシングル・ビット値しか受け付けないため、00 と解釈され、それ以外は1 と解釈される。

values()も参照のこと

int QModbusDataUnit::startAddress() const

レジスタ内のデータ・ユニットの開始アドレスを返す。

setStartAddress() も参照の こと。

quint16 QModbusDataUnit::value(qsizetype index) const

位置index の値を返す。

setValue() も参照の こと。

qsizetype QModbusDataUnit::valueCount() const

要求されたレジスタのデータ・ブロックのサイズまたはデバイスから読み出されたデータのサ イズを返す。

この関数は、values() サイズに等しいカウントを返すとは限りません。このクラスはリモート・データ・レジスタからデータを要求するために使用されるので、 valueCount() を使用して、要求されたレジスタのデータ・ブロックのサイズを示すことができます。要求が処理されると、valueCount() はvalues() のサイズに等しくなります。

setValueCount()も参照

QList<quint16> QModbusDataUnit::values() const

QModbusDataUnit::DiscreteInputs およびQModbusDataUnit::Coils テーブルはシングル・ビット値しか受け付けないため、00 と解釈され、それ以外は1 と解釈される。

setValues()も参照

関連する非会員

QModbusDataUnitMap

QMap<QModbusDataUnit::RegisterType,QModbusDataUnit> のシノニムです。

©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。