Класс QOpcUaMonitoringParameters
Класс QOpcUaMonitoringParameters предоставляет способ установки и получения параметров для подписок и отслеживаемых элементов. Подробнее...
| Заголовок: | #include <QOpcUaMonitoringParameters> |
| qmake: | QT += opcua |
Открытые типы
| класс | DataChangeFilter |
| класс | EventFilter |
| перечисление | MonitoringMode { Disabled, Sampling, Reporting } |
| перечисление | Parameter { PublishingEnabled, PublishingInterval, LifetimeCount, MaxKeepAliveCount, MaxNotificationsPerPublish, …, MonitoringMode } |
| флаги | Parameters |
| перечисление | SubscriptionType { Shared, Exclusive } |
Открытые функции
| QOpcUaMonitoringParameters(const QOpcUaMonitoringParameters &other) | |
| QOpcUaMonitoringParameters(double publishingInterval, QOpcUaMonitoringParameters::SubscriptionType shared = SubscriptionType::Shared, quint32 subscriptionId = 0) | |
| QOpcUaMonitoringParameters() | |
| QOpcUaMonitoringParameters & | operator=(const QOpcUaMonitoringParameters &other) |
| ~QOpcUaMonitoringParameters() | |
| void | clearFilter() |
| void | clearFilterResult() |
| bool | discardOldest() const |
| QVariant | filter() const |
| QVariant | filterResult() const |
| QString | indexRange() const |
| bool | isPublishingEnabled() const |
| quint32 | lifetimeCount() const |
| quint32 | maxKeepAliveCount() const |
| quint32 | maxNotificationsPerPublish() const |
| quint32 | monitoredItemId() const |
| QOpcUaMonitoringParameters::MonitoringMode | monitoringMode() const |
| quint8 | priority() const |
| double | publishingInterval() const |
| quint32 | queueSize() const |
| double | samplingInterval() const |
| void | setDiscardOldest(bool discardOldest) |
| void | setFilter(const QOpcUaMonitoringParameters::DataChangeFilter &filter) |
| void | setFilter(const QOpcUaMonitoringParameters::EventFilter &eventFilter) |
| void | setFilterResult(const QOpcUaEventFilterResult &eventFilterResult) |
| void | setIndexRange(const QString &indexRange) |
| void | setLifetimeCount(quint32 lifetimeCount) |
| void | setMaxKeepAliveCount(quint32 maxKeepAliveCount) |
| void | setMaxNotificationsPerPublish(quint32 maxNotificationsPerPublish) |
| void | setMonitoredItemId(quint32 monitoredItemId) |
| void | setMonitoringMode(QOpcUaMonitoringParameters::MonitoringMode monitoringMode) |
| void | setPriority(quint8 priority) |
| void | setPublishingEnabled(bool publishingEnabled) |
| void | setPublishingInterval(double publishingInterval) |
| void | setQueueSize(quint32 queueSize) |
| void | setSamplingInterval(double samplingInterval) |
| void | setStatusCode(QOpcUa::UaStatusCode statusCode) |
| void | setSubscriptionId(quint32 subscriptionId) |
| void | setSubscriptionType(QOpcUaMonitoringParameters::SubscriptionType shared) |
| QOpcUa::UaStatusCode | statusCode() const |
| quint32 | subscriptionId() const |
| QOpcUaMonitoringParameters::SubscriptionType | subscriptionType() const |
Подробное описание
Этот класс используется в запросах QOpcUaNode::enableMonitoring() и в качестве значения возвращаемого результата для QOpcUaNode::monitoringStatus(), в этом случае он содержит пересмотренные значения с сервера.
Использование
Для большинства случаев использования требуется только интервал публикации.
QOpcUaMonitoringParameters p(100); // Set a publishing interval of 100ms and share the subscription. node->enableMonitoring(QOpcUa::NodeAttribute::Value, p);
Если требуется подписка исключительного типа, используйте второй параметр.
QOpcUaMonitoringParameters p(100, QOpcUaMonitoringParameters::SubscriptionType::Exclusive); // Create a new subscription
Для добавления дополнительных элементов в существующую подписку используйте третий параметр для последующих вызовов QOpcUaNode::enableMonitoring().
quint32 subscriptionId = node->monitoringStatus(QOpcUa::NodeAttribute::Value).subscriptionId(); QOpcUaMonitoringParameters p(100, QOpcUaMonitoringParameters::SubscriptionType::Shared, subscriptionId); // Add the monitored item to this subscription
Если требуются другие параметры, их необходимо установить с помощью методов-сеттеров.
Поддержка бэкенда
Не все параметры в этом классе поддерживаются всеми бэкендами.
| Параметр | Плагин Open62541 | Плагин UACpp |
|---|---|---|
| PublishingInterval | X | X |
| SamplingInterval | X | X |
| LifetimeCount | X | X |
| MaxKeepAliveCount | X | X |
| Priority | X | X |
| IndexRange | X | X |
| Shared | X | X |
| SubscriptionId | X | X |
| PublishingEnabled | X | X |
| Filter | X | X |
| QueueSize | X | X |
| DiscardOldest | X | X |
| MonitoringMode | X | X |
| IndexRange | X | X |
| MaxNotificationsPerPublish | X | X |
Документация по типам членов
Перечисление QOpcUaMonitoringParameters::MonitoringMode
Это перечисление используется для установки режима мониторинга отслеживаемого элемента.
| Константа | Значение | Описание |
|---|---|---|
QOpcUaMonitoringParameters::MonitoringMode::Disabled |
0 |
Выборка отключена, и уведомления не генерируются. |
QOpcUaMonitoringParameters::MonitoringMode::Sampling |
1 |
Выборка включена, уведомления генерируются и помещаются в очередь, но отчеты отключены. |
QOpcUaMonitoringParameters::MonitoringMode::Reporting |
2 |
Выборка включена, уведомления генерируются и помещаются в очередь, отчеты включены. |
Перечисление QOpcUaMonitoringParameters::Parameterфлаги QOpcUaMonitoringParameters::Parameters
Перечисляет параметры, которые можно изменить во время выполнения с помощью QOpcUaNode::modifyMonitoring(). Не все значения гарантированно поддерживаются всеми плагинами. Отсутствие поддержки будет сообщено в сигнале QOpcUaNode::monitoringStatusChanged.
| Константа | Значение |
|---|---|
QOpcUaMonitoringParameters::Parameter::PublishingEnabled |
(1 << 0) |
QOpcUaMonitoringParameters::Parameter::PublishingInterval |
(1 << 1) |
QOpcUaMonitoringParameters::Parameter::LifetimeCount |
(1 << 2) |
QOpcUaMonitoringParameters::Parameter::MaxKeepAliveCount |
(1 << 3) |
QOpcUaMonitoringParameters::Parameter::MaxNotificationsPerPublish |
(1 << 4) |
QOpcUaMonitoringParameters::Parameter::Priority |
(1 << 5) |
QOpcUaMonitoringParameters::Parameter::SamplingInterval |
(1 << 6) |
QOpcUaMonitoringParameters::Parameter::Filter |
(1 << 7) |
QOpcUaMonitoringParameters::Parameter::QueueSize |
(1 << 8) |
QOpcUaMonitoringParameters::Parameter::DiscardOldest |
(1 << 9) |
QOpcUaMonitoringParameters::Parameter::MonitoringMode |
(1 << 10) |
Тип Parameters — это псевдоним для QFlags<Parameter>. Он хранит логическое ИЛИ сочетание значений Parameter.
Перечисление QOpcUaMonitoringParameters::SubscriptionType
Это перечисление используется для определения, можно ли добавить отслеживаемый элемент в общую подписку, или необходимо создать новую подписку.
| Константа | Значение | Описание |
|---|---|---|
QOpcUaMonitoringParameters::SubscriptionType::Shared |
0 |
Поделиться подпиской с другими отслеживаемыми элементами с тем же интервалом |
QOpcUaMonitoringParameters::SubscriptionType::Exclusive |
1 |
Запросить новую подписку для этого атрибута |
Документация по функциям-членам
QOpcUaMonitoringParameters::QOpcUaMonitoringParameters(const QOpcUaMonitoringParameters &other)
Создаёт объект QOpcuaMonitoringParameters из значения other.
QOpcUaMonitoringParameters::QOpcUaMonitoringParameters(double publishingInterval, QOpcUaMonitoringParameters::SubscriptionType shared = SubscriptionType::Shared, quint32 subscriptionId = 0)
Этот конструктор охватывает большинство случаев использования для пользователя Qt OPC UA. publishingInterval должен быть указан, shared и subscriptionId — необязательны.
QOpcUaMonitoringParameters::QOpcUaMonitoringParameters()
Конструктор по умолчанию для QOpcUaMonitoringParameters.
QOpcUaMonitoringParameters &QOpcUaMonitoringParameters::operator=(const QOpcUaMonitoringParameters &other)
Присваивает значение other этому объекту.
QOpcUaMonitoringParameters::~QOpcUaMonitoringParameters()
Деструктор для QOpcUaMonitoringParameters.
void QOpcUaMonitoringParameters::clearFilter()
Удаляет текущий фильтр из параметров мониторинга.
См. также filter() и setFilter().
void QOpcUaMonitoringParameters::clearFilterResult()
Удаляет текущий результат фильтра из параметров мониторинга.
См. также filterResult() и setFilterResult().
bool QOpcUaMonitoringParameters::discardOldest() const
Возвращает значение discardOldest отслеживаемого элемента.
См. также setDiscardOldest().
QVariant QOpcUaMonitoringParameters::filter() const
Возвращает текущий фильтр.
См. также setFilter().
QVariant QOpcUaMonitoringParameters::filterResult() const
Возвращает результат фильтра.
Это значение пустое для мониторинга атрибута. В случае мониторинга событий результат фильтра может быть пустым, если сервер не обнаружил ошибок в фильтре.
См. также setFilterResult().
QString QOpcUaMonitoringParameters::indexRange() const
Возвращает диапазон индексов для отслеживаемого элемента.
См. также setIndexRange().
bool QOpcUaMonitoringParameters::isPublishingEnabled() const
Возвращает режим публикации для подписки.
quint32 QOpcUaMonitoringParameters::lifetimeCount() const
Возвращает счётчик времени жизни подписки.
См. также setLifetimeCount().
quint32 QOpcUaMonitoringParameters::maxKeepAliveCount() const
Возвращает максимальное количество keep-alive для подписки.
См. также setMaxKeepAliveCount().
quint32 QOpcUaMonitoringParameters::maxNotificationsPerPublish() const
Возвращает максимальное количество уведомлений на публикацию подписки.
См. также setMaxNotificationsPerPublish().
quint32 QOpcUaMonitoringParameters::monitoredItemId() const
Возвращает идентификатор отслеживаемого элемента, назначенный сервером. Если идентификатор отслеживаемого элемента равен 0, отслеживаемый элемент не был успешно создан.
См. также setMonitoredItemId().
QOpcUaMonitoringParameters::MonitoringMode QOpcUaMonitoringParameters::monitoringMode() const
Возвращает режим мониторинга для отслеживаемого элемента.
См. также setMonitoringMode().
quint8 QOpcUaMonitoringParameters::priority() const
Возвращает приоритет подписки, используемой для отслеживаемого элемента.
См. также setPriority().
double QOpcUaMonitoringParameters::publishingInterval() const
Возвращает интервал публикации подписки. Интервал выражен в миллисекундах.
См. также setPublishingInterval().
quint32 QOpcUaMonitoringParameters::queueSize() const
Возвращает размер очереди отслеживаемого элемента.
См. также setQueueSize().
double QOpcUaMonitoringParameters::samplingInterval() const
Возвращает пересмотренный интервал выборки отслеживаемого элемента. Интервал выражен в миллисекундах.
См. также setSamplingInterval().
void QOpcUaMonitoringParameters::setDiscardOldest(bool discardOldest)
Устанавливает discardOldest в качестве параметра discardOldest для отслеживаемого элемента.
См. также discardOldest().
void QOpcUaMonitoringParameters::setFilter(const QOpcUaMonitoringParameters::DataChangeFilter &filter)
Устанавливает DataChangeFilter filter в качестве фильтра для отслеживаемого элемента. Если присутствует другой фильтр изменения данных или фильтр событий, он будет заменён.
Если сервер не принимает фильтр, это будет указано кодом состояния после завершения запроса QOpcUaNode::enableMonitoring().
См. также filter().
void QOpcUaMonitoringParameters::setFilter(const QOpcUaMonitoringParameters::EventFilter &eventFilter)
Запрашивает eventFilter в качестве фильтра для отслеживаемого элемента. Если присутствует другой фильтр событий или фильтр изменения данных, он будет заменён. Если сервер не принимает фильтр, это будет указано кодом состояния и результатом фильтра событий после завершения запроса QOpcUaNode::enableMonitoring().
См. также filter().
void QOpcUaMonitoringParameters::setFilterResult(const QOpcUaEventFilterResult &eventFilterResult)
Устанавливает результат фильтра событий в eventFilterResult.
Этот метод должен использоваться только бэкендом, установка результата фильтра событий пользователем не оказывает никакого эффекта.
См. также filterResult().
void QOpcUaMonitoringParameters::setIndexRange(const QString &indexRange)
Запрашивает indexRange в качестве диапазона индексов для отслеживаемого элемента. Подробнее о строке диапазона индексов см. QOpcUaNode::readAttributeRange().
См. также indexRange().
void QOpcUaMonitoringParameters::setLifetimeCount(quint32 lifetimeCount)
Запрос lifetimeCount в качестве счётчика срока службы подписки.
См. также lifetimeCount().
void QOpcUaMonitoringParameters::setMaxKeepAliveCount(quint32 maxKeepAliveCount)
Запрос maxKeepAliveCount в качестве максимального счётчика keep-alive для подписки.
См. также maxKeepAliveCount().
void QOpcUaMonitoringParameters::setMaxNotificationsPerPublish(quint32 maxNotificationsPerPublish)
Устанавливает maxNotificationsPerPublish в качестве максимального количества уведомлений на публикацию для подписки.
См. также maxNotificationsPerPublish().
void QOpcUaMonitoringParameters::setMonitoredItemId(quint32 monitoredItemId)
Устанавливает идентификатор отслеживаемого элемента в monitoredItemId.
Установка этого значения клиентом не имеет эффекта.
См. также monitoredItemId().
void QOpcUaMonitoringParameters::setMonitoringMode(QOpcUaMonitoringParameters::MonitoringMode monitoringMode)
Устанавливает monitoringMode в качестве режима мониторинга для отслеживаемого элемента.
См. также monitoringMode().
void QOpcUaMonitoringParameters::setPriority(quint8 priority)
Устанавливает priority в качестве приоритета подписки.
См. также priority().
void QOpcUaMonitoringParameters::setPublishingEnabled(bool publishingEnabled)
Устанавливает publishingEnabled в качестве режима публикации для подписки.
См. также isPublishingEnabled().
void QOpcUaMonitoringParameters::setPublishingInterval(double publishingInterval)
Запрашивает publishingInterval в качестве интервала публикации для подписки. Интервал выражен в миллисекундах.
См. также publishingInterval().
void QOpcUaMonitoringParameters::setQueueSize(quint32 queueSize)
Запрашивает queueSize в качестве размера очереди для отслеживаемого элемента.
См. также queueSize().
void QOpcUaMonitoringParameters::setSamplingInterval(double samplingInterval)
Запрашивает samplingInterval в качестве интервала выборки для отслеживаемого элемента. Интервал выражен в миллисекундах.
См. также samplingInterval().
void QOpcUaMonitoringParameters::setStatusCode(QOpcUa::UaStatusCode statusCode)
Устанавливает код состояния в statusCode.
См. также statusCode().
void QOpcUaMonitoringParameters::setSubscriptionId(quint32 subscriptionId)
Запрашивает создание отслеживаемых элементов на известной подписке с subscriptionId.
См. также subscriptionId().
void QOpcUaMonitoringParameters::setSubscriptionType(QOpcUaMonitoringParameters::SubscriptionType shared)
Запрашивает shared в качестве типа подписки для подписки.
См. также subscriptionType().
QOpcUa::UaStatusCode QOpcUaMonitoringParameters::statusCode() const
Возвращает код состояния создания отслеживаемого элемента.
См. также setStatusCode().
quint32 QOpcUaMonitoringParameters::subscriptionId() const
Возвращает назначенный идентификатор подписки.
См. также setSubscriptionId().
QOpcUaMonitoringParameters::SubscriptionType QOpcUaMonitoringParameters::subscriptionType() const
Возвращает тип подписки.
См. также setSubscriptionType().
© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.2/qopcuamonitoringparameters.html