Spec-Zone.ru › Qt 5.6

Класс QModbusDataUnit

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

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

Типы общедоступные

Перечисление RegisterType { Недействительный, Дискретные входы, Обмотки, Регистры ввода, Регистры хранения }

Общедоступные функции

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

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

typedef QModbusDataUnitMap

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

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

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 Этот тип данных может изменяться программой приложения.

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

[default] QModbusDataUnit::QModbusDataUnit()

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

QModbusDataUnit::QModbusDataUnit(RegisterType type)

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

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

Создаёт единицу данных для регистраtype. Начальный адрес данных установлен в address, а размер единицы в size. Элементы values() инициализируются 0.

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

Создаёт единицу данных для регистраtype. Начальный адрес данных установлен в address, а значения единицы в data. Количество значений подразумевается размером data.

bool QModbusDataUnit::isValid() const

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

RegisterType QModbusDataUnit::registerType() const

Возвращает тип регистра.

См. также setRegisterType() и QModbusDataUnit::RegisterType.

void QModbusDataUnit::setRegisterType(RegisterType type)

Устанавливает тип регистра type.

См. также registerType() и QModbusDataUnit::RegisterType.

void QModbusDataUnit::setStartAddress(int address)

Устанавливает начальный address единицы данных.

См. также startAddress().

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

Устанавливает регистр в позиции index на значение value.

См. также value().

void QModbusDataUnit::setValueCount(uint newCount)

Устанавливает размер блока данных запрошенного регистра в newCount.

Это может отличаться от размера values(), поскольку эта функция используется для указания размера запроса данных. Только после обработки запроса данных valueCount() равно размеру values().

См. также valueCount().

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

Устанавливает значения единицы данных. Таблицы QModbusDataUnit::DiscreteInputs и QModbusDataUnit::Coils принимают только значения одного бита, поэтому 0 интерпретируется как 0, а всё остальное как 1.

См. также values().

int QModbusDataUnit::startAddress() const

Возвращает начальный адрес единицы данных в регистре.

См. также setStartAddress().

quint16 QModbusDataUnit::value(int index) const

Возвращает значение в позиции index.

См. также setValue().

uint QModbusDataUnit::valueCount() const

Возвращает размер блока данных запрошенного регистра или размер данных, считанных с устройства.

Эта функция может не всегда возвращать значение, равное размеру values(). Поскольку этот класс используется для запроса данных из удаленного регистра данных, значение valueCount() может использоваться для указания размера запрошенного блока данных регистра. После обработки запроса значение valueCount() равно размеру values().

См. также setValueCount().

QVector<quint16> QModbusDataUnit::values() const

Возвращает данные в единице данных. Таблицы QModbusDataUnit::DiscreteInputs и QModbusDataUnit::Coils принимают только значения одного бита, поэтому 0 интерпретируется как 0, а всё остальное как 1.

См. также setValues().

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

typedef QModbusDataUnitMap

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

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

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

Spec-Zone.ru

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