Spec-Zone.ru › Qt

Класс QModbusDevice

Класс QModbusDevice — базовый класс для классов Modbus, QModbusServer и QModbusClient. Подробнее...

Заголовок: #include <QModbusDevice>
qmake: QT += serialbus
С момента: Qt 5.8
Наследует: QObject
Наследуется в:

QModbusClient и QModbusServer

  • Список всех членов, включая наследуемые

Типы Public

перечисление ConnectionParameter { SerialPortNameParameter, SerialParityParameter, SerialBaudRateParameter, SerialDataBitsParameter, SerialStopBitsParameter, …, NetworkAddressParameter }
перечисление Error { NoError, ReadError, WriteError, ConnectionError, ConfigurationError, …, UnknownError }
перечисление IntermediateError { ResponseCrcError, ResponseRequestMismatch }
перечисление State { UnconnectedState, ConnectingState, ConnectedState, ClosingState }

Функции Public

QModbusDevice(QObject *parent = nullptr)
virtual ~QModbusDevice()
bool connectDevice()
QVariant connectionParameter(QModbusDevice::ConnectionParameter parameter) const
QIODevice * device() const
void disconnectDevice()
QModbusDevice::Error error() const
QString errorString() const
void setConnectionParameter(QModbusDevice::ConnectionParameter parameter, const QVariant &value)
QModbusDevice::State state() const

Сигналы

void errorOccurred(QModbusDevice::Error error)
void stateChanged(QModbusDevice::State state)

Защищенные функции

virtual void close() = 0
virtual bool open() = 0
void setError(const QString &errorText, QModbusDevice::Error error)
void setState(QModbusDevice::State newState)

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

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

перечисление QModbusDevice::ConnectionParameter

Это перечисление описывает возможные значения, которые могут быть установлены для подключения устройства Modbus.

Общее значение (и соответствующие типы) —

Постоянная Значение Описание
QModbusDevice::SerialPortNameParameter 0 Это параметр, содержащий последовательный порт, используемый для связи с устройством, например, COM1. QString
QModbusDevice::SerialParityParameter 1 Этот параметр содержит режим проверки четности. QSerialPort::Parity
QModbusDevice::SerialBaudRateParameter 2 Этот параметр содержит скорость передачи данных для связи. QSerialPort::BaudRate
QModbusDevice::SerialDataBitsParameter 3 Этот параметр содержит биты данных в кадре. QSerialPort::DataBits
QModbusDevice::SerialStopBitsParameter 4 Этот параметр содержит количество стоп-битов в кадре. QSerialPort::StopBits
QModbusDevice::NetworkPortParameter 5 Этот параметр содержит сетевой порт. int
QModbusDevice::NetworkAddressParameter 6 Этот параметр содержит адрес хоста для сетевого взаимодействия. QString

перечисление QModbusDevice::Error

Это перечисление описывает все возможные условия возникновения ошибок.

Постоянная Значение Описание
QModbusDevice::NoError 0 Ошибок не произошло.
QModbusDevice::ReadError 1 Во время операции чтения произошла ошибка.
QModbusDevice::WriteError 2 Во время операции записи произошла ошибка.
QModbusDevice::ConnectionError 3 Произошла ошибка при попытке открыть бэкенд.
QModbusDevice::ConfigurationError 4 Произошла ошибка при попытке установить параметр конфигурации.
QModbusDevice::TimeoutError 5 Произошло истечение времени ожидания во время операций ввода-вывода. Операция ввода-вывода не завершилась в заданный промежуток времени.
QModbusDevice::ProtocolError 6 Произошла ошибка протокола Modbus.
QModbusDevice::ReplyAbortedError 7 Ответ был прерван из-за отключения устройства.
QModbusDevice::UnknownError 8 Произошла неизвестная ошибка.

[since 6.0] перечисление QModbusDevice::IntermediateError

Это перечисление описывает возможные ошибки, которые могут возникнуть во время полного цикла отправки и получения ответа Modbus.

Постоянная Значение Описание
QModbusDevice::ResponseCrcError 0 Получен ответ Modbus с неправильной контрольной суммой CRC.
QModbusDevice::ResponseRequestMismatch 1 Получен ответ Modbus, но он не соответствует открытому запросу, вероятно, из-за того, что код функции PDU не совпадает.

Если любая из указанных промежуточных ошибок произошла, кадр, вероятно, будет переслан до достижения максимального числа попыток.

Список промежуточных ошибок можно проверить с помощью функции QModbusReply промежуточных ошибок.

Это перечисление было введено или изменено в Qt 6.0.

См. также QModbusClient::numberOfRetries() и QModbusReply::intermediateErrors().

перечисление QModbusDevice::State

Это перечисление описывает все возможные состояния устройства.

Константа Значение Описание
QModbusDevice::UnconnectedState 0 Устройство отключено.
QModbusDevice::ConnectingState 1 Устройство подключается.
QModbusDevice::ConnectedState 2 Устройство подключено к сети Modbus.
QModbusDevice::ClosingState 3 Устройство закрывается.

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

QModbusDevice::QModbusDevice(QObject *parent = nullptr)

Конструирует устройство Modbus со указанным parent.

[signal] void QModbusDevice::errorOccurred(QModbusDevice::Error error)

Этот сигнал испускается, когда возникает ошибка типа error.

[signal] void QModbusDevice::stateChanged(QModbusDevice::State state)

Этот сигнал испускается каждый раз, когда состояние устройства меняется. Новое состояние представлено параметром state.

См. также setState() и state().

[virtual] QModbusDevice::~QModbusDevice()

Удаляет экземпляр QModbusDevice.

[pure virtual protected] void QModbusDevice::close()

Эта функция отвечает за закрытие подключения Modbus. Реализация должна гарантировать, что состояние экземпляра state() установлено в QModbusDevice::UnconnectedState.

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

bool QModbusDevice::connectDevice()

Подключает устройство к сети Modbus. Возвращает true если процесс подключения успешно инициирован; в противном случае false. Окончательное подтверждение успешного подключения требует, чтобы state() изменилось на QModbusDevice::ConnectedState.

Эта функция вызывает open() как часть своей реализации.

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

QVariant QModbusDevice::connectionParameter(QModbusDevice::ConnectionParameter parameter) const

Возвращает значение, связанное с заданным параметром подключения parameter. Возвращаемое значение может быть пустым.

По умолчанию QModbusDevice инициализируется некоторыми общими значениями. Параметры последовательного порта: чётность, скорость 19200 бит в секунду, 8 битов данных и 1 стоп-бит. Параметры сетевого подключения: адрес хоста - локальный хост, порт - 502.

Примечание: Для успешного подключения по последовательному каналу, параметр SerialPortNameParameter должен быть установлен на корректный коммуникационный порт. Информация о корректных последовательных портах может быть получена из QSerialPortInfo.

Примечание: Если устройство уже подключено, настройки учитываются после повторного подключения устройства.

См. также setConnectionParameter() и ConnectionParameter.

[since 5.14] QIODevice *QModbusDevice::device() const

Возвращает базовое QIODevice, используемое для связи ModBus, или nullptr если устройство еще не полностью инициализировано.

Примечание: Не сохраняйте указатель на базовое устройство, так как он может стать недействительным в любой момент.

Эта функция была добавлена в Qt 5.14.

void QModbusDevice::disconnectDevice()

Отключает устройство.

Эта функция вызывает close() как часть своей реализации.

QModbusDevice::Error QModbusDevice::error() const

Возвращает состояние ошибки устройства.

См. также setError() и QModbusDevice::Error.

QString QModbusDevice::errorString() const

Возвращает описательный текст ошибки для ошибки устройства.

См. также QModbusDevice::Error.

[pure virtual protected] bool QModbusDevice::open()

Эта функция вызывается connectDevice(). Подклассы должны предоставить реализацию, возвращающую true при успешном подключении Modbus или инициализации подключения; в противном случае возвращает false.

Реализация должна гарантировать, что состояние экземпляра state() установлено в QModbusDevice::ConnectingState или QModbusDevice::ConnectedState при успехе; в противном случае QModbusDevice::UnconnectedState. Обычно QModbusDevice::ConnectingState используется, когда процесс подключения сообщает об этом асинхронно, а QModbusDevice::ConnectedState - в случае синхронного поведения подключения.

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

void QModbusDevice::setConnectionParameter(QModbusDevice::ConnectionParameter parameter, const QVariant &value)

Устанавливает значение parameter в value. Если parameter уже существует, предыдущее значение перезаписывается. Активное или работающее подключение не затрагивается такими изменениями параметров.

См. также ConnectionParameter и connectionParameter().

[protected] void QModbusDevice::setError(const QString &errorText, QModbusDevice::Error error)

Устанавливает состояние ошибки устройства. Реализации устройств ModBus должны использовать эту функцию в случае ошибки, чтобы установить тип error и описательный текст errorText.

См. также error() и QModbusDevice::Error.

[protected] void QModbusDevice::setState(QModbusDevice::State newState)

Устанавливает состояние устройства в newState. Реализации устройств Modbus должны использовать эту функцию для обновления состояния устройства.

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

QModbusDevice::State QModbusDevice::state() const

Возвращает текущее состояние устройства.

См. также setState() и stateChanged().

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

Spec-Zone.ru

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