QModbusDataUnit Class
QModbusDataUnit is a container class representing single bit and 16
bit word entries in the Modbus register. More...
Header: | #include <QModbusDataUnit> |
qmake: | QT += serialbus |
Since: | Qt 5.8 |
Public Types
enum | RegisterType { Invalid, DiscreteInputs, Coils, InputRegisters, HoldingRegisters } |
Public Functions
QModbusDataUnit() | |
QModbusDataUnit(QModbusDataUnit::RegisterType type) | |
QModbusDataUnit(QModbusDataUnit::RegisterType type, int newStartAddress, quint16 newValueCount) | |
QModbusDataUnit(QModbusDataUnit::RegisterType type, int newStartAddress, const QVector<quint16> &newValues) | |
bool | isValid() const |
QModbusDataUnit::RegisterType | registerType() const |
void | setRegisterType(QModbusDataUnit::RegisterType type) |
void | setStartAddress(int newAddress) |
void | setValue(int index, quint16 newValue) |
void | setValueCount(uint newCount) |
void | setValues(const QVector<quint16> &newValues) |
int | startAddress() const |
quint16 | value(int index) const |
uint | valueCount() const |
QVector<quint16> | values() const |
Related Non-Members
typedef | QModbusDataUnitMap |
Detailed Description
QModbusDataUnit is a container class representing single bit and 16
bit word entries in the Modbus register.
QModbusDataUnit can be used for read and write operations. The entries are addressed via startAddress() and the valueCount() number of contiguous entries. registerType() determines which register is used for the operations. Note that some registers are read-only registers.
The actual values() are either single bit or 16
bit based. QModbusDataUnit::DiscreteInputs and QModbusDataUnit::Coils only accept single bits. Therefore 0
is interpreted as 0
and anything else 1
.
Member Type Documentation
enum QModbusDataUnit::RegisterType
This enum describes all supported register types.
Constant | Value | Description |
---|---|---|
QModbusDataUnit::Invalid | 0 | Set by the default constructor, do not use. |
QModbusDataUnit::DiscreteInputs | 1 | This type of data can be provided by an I/O system. |
QModbusDataUnit::Coils | 2 | This type of data can be alterable by an application program. |
QModbusDataUnit::InputRegisters | 3 | This type of data can be provided by an I/O system. |
QModbusDataUnit::HoldingRegisters | 4 | This type of data can be alterable by an application program. |
Member Function Documentation
QModbusDataUnit::QModbusDataUnit()
Default constructs an instance of QModbusDataUnit.
QModbusDataUnit::QModbusDataUnit(QModbusDataUnit::RegisterType type)
Default constructs an instance of QModbusDataUnit.
QModbusDataUnit::QModbusDataUnit(QModbusDataUnit::RegisterType type, int newStartAddress, quint16 newValueCount)
Default constructs an instance of QModbusDataUnit.
QModbusDataUnit::QModbusDataUnit(QModbusDataUnit::RegisterType type, int newStartAddress, const QVector<quint16> &newValues)
Default constructs an instance of QModbusDataUnit.
bool QModbusDataUnit::isValid() const
QModbusDataUnit::RegisterType QModbusDataUnit::registerType() const
See also setRegisterType().
void QModbusDataUnit::setRegisterType(QModbusDataUnit::RegisterType type)
See also registerType().
void QModbusDataUnit::setStartAddress(int newAddress)
See also startAddress().
void QModbusDataUnit::setValue(int index, quint16 newValue)
See also value().
void QModbusDataUnit::setValueCount(uint newCount)
See also valueCount().
void QModbusDataUnit::setValues(const QVector<quint16> &newValues)
See also values().
int QModbusDataUnit::startAddress() const
See also setStartAddress().
quint16 QModbusDataUnit::value(int index) const
See also setValue().
uint QModbusDataUnit::valueCount() const
See also setValueCount().
QVector<quint16> QModbusDataUnit::values() const
See also setValues().
Related Non-Members
typedef QModbusDataUnitMap
Synonym for QMap<QModbusDataUnit::RegisterType, QModbusDataUnit>.
This typedef was introduced in Qt 5.8.