QModbusDataUnit Class

QModbusDataUnit은 모드버스 레지스터의 단일 비트 및 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::DiscreteInputsQModbusDataUnit::Coils 는 단일 비트만 허용합니다. 따라서 00 으로 해석되고 그 외의 모든 것은 1 으로 해석됩니다.

멤버 타입 문서

enum QModbusDataUnit::RegisterType

이 열거형은 지원되는 모든 레지스터 유형을 설명합니다.

Constant설명
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)

위치 indexvalue 로 설정합니다.

value()도 참조하세요 .

void QModbusDataUnit::setValueCount(qsizetype newCount)

요청된 레지스터의 데이터 블록 크기를 newCount 로 설정합니다.

이 함수는 데이터 요청의 크기를 나타내는 데 사용되므로 values() 크기와 다를 수 있습니다. 데이터 요청이 처리된 경우에만 valueCount()는 values()의 크기와 같습니다.

valueCount()도 참조하세요 .

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

데이터 단위의 values 를 설정합니다. QModbusDataUnit::DiscreteInputsQModbusDataUnit::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::DiscreteInputsQModbusDataUnit::Coils 테이블은 단일 비트 값만 허용하므로 00 으로, 그 외 모든 값은 1 으로 해석됩니다.

setValues()도 참조하세요 .

관련 비회원

QModbusDataUnitMap

QMap<QModbusDataUnit::RegisterType, QModbusDataUnit>의 동의어입니다.

© 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.