QModbusDataUnit Class
QModbusDataUnit は Modbus レジスタのシングル・ビットと16
ビットのワード・エントリを表すコンテナ・クラスです。詳細...
ヘッダー | #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::DiscreteInputs とQModbusDataUnit::Coils はシングルビットしか受け付けない。したがって、0
は0
と解釈され、それ以外は1
と解釈される。
メンバー型ドキュメント
enum QModbusDataUnit::RegisterType
この列挙型は、サポートされるすべてのレジスタ・タイプを記述する。
定数 | 値 | 説明 |
---|---|---|
QModbusDataUnit::Invalid | 0 | デフォルトのコンストラクタによって設定されます。 |
QModbusDataUnit::DiscreteInputs | 1 | このタイプのデータは、I/O システムによって提供される可能性があります。 |
QModbusDataUnit::Coils | 2 | このタイプのデータは、アプリケーション・プログラムによって変更可能である。 |
QModbusDataUnit::InputRegisters | 3 | このタイプのデータはI/Oシステムによって提供されることができる。 |
QModbusDataUnit::HoldingRegisters | 4 | この型のデータは、アプリケーション・プログラムによって変更可能である。 |
メンバー関数ドキュメント
[constexpr noexcept]
QModbusDataUnit::QModbusDataUnit()
空の無効な QModbusDataUnit を構築する。開始アドレスは-1
に設定され、registerType はQModbusDataUnit::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 0
0
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 テーブルはシングルビット値しか受け付けないので、0
は0
と解釈され、それ以外は1
と解釈される。
setValues()も参照のこと 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.