Spec-Zone.ru › Qt

Класс QModbusDataUnit

Класс QModbusDataUnit — это контейнерный класс, представляющий записи однобитовых и 16-битовых слов в регистре Modbus. Подробнее...

Заголовок: #include <QModbusDataUnit>
qmake: QT += serialbus
С момента: Qt 5.8
  • Список всех членов, включая унаследованные

Типы публичного интерфейса

Перечисление RegisterType { Invalid, DiscreteInputs, Coils, InputRegisters, HoldingRegisters }

Функции публичного интерфейса

QModbusDataUnit(QModbusDataUnit::RegisterType type, int address, const QList<quint16> &data)
QModbusDataUnit(QModbusDataUnit::RegisterType type, int address, quint16 size)
QModbusDataUnit(QModbusDataUnit::RegisterType type)
QModbusDataUnit()
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

Связанные нечлены

QModbusDataUnitMap

Подробное описание

QModbusDataUnit может использоваться для операций чтения и записи. Записи адресуются через startAddress() и количество непрерывных записей valueCount(). registerType() определяет, какой регистр используется для операций. Обратите внимание, что некоторые регистры являются только для чтения.

Фактические значения values() — это либо однобитовые, либо 16-битовые. QModbusDataUnit::DiscreteInputs и QModbusDataUnit::Coils принимают только однобитовые значения. Поэтому 0 интерпретируется как 0, а всё остальное 1.

Документация по типам членов

Перечисление QModbusDataUnit::RegisterType

Это перечисление описывает все поддерживаемые типы регистров.

Константа Значение Описание
QModbusDataUnit::Invalid 0 Устанавливается конструктором по умолчанию, не использовать.
QModbusDataUnit::DiscreteInputs 1 Этот тип данных может быть предоставлен системой ввода/вывода.
QModbusDataUnit::Coils 2 Этот тип данных может быть изменён программой приложения.
QModbusDataUnit::InputRegisters 3 Этот тип данных может быть предоставлен системой ввода/вывода.
QModbusDataUnit::HoldingRegisters 4 Этот тип данных может быть изменён программой приложения.

Документация по функциям-членам

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.

QModbusDataUnit::QModbusDataUnit(QModbusDataUnit::RegisterType type)

Конструирует блок данных для регистра type. Начальный адрес установлен в 0, диапазон данных и значения данных пусты.

QModbusDataUnit::QModbusDataUnit()

Конструирует пустой, невалидный QModbusDataUnit. Начальный адрес установлен в -1, и registerType установлен в QModbusDataUnit::Invalid.

bool QModbusDataUnit::isValid() const

Возвращает true, если QModbusDataUnit является валидным; в противном случае false. QModbusDataUnit считается валидным, если registerType() не равно QModbusDataUnit::Invalid и startAddress() больше или равно 0.

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)

Устанавливает значения единицы данных. Таблицы 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().

Связанные нечленные функции

[since 5.8] QModbusDataUnitMap

Синоним для QMap<QModbusDataUnit::RegisterType, QModbusDataUnit>.

Этот typedef был введен в Qt 5.8.

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qmodbusdataunit.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API