QOpcUaMonitoringParameters Class

QOpcUaMonitoringParameters bietet eine Möglichkeit, Parameter für Abonnements und überwachte Elemente zu setzen und abzurufen. Mehr...

Kopfzeile: #include <QOpcUaMonitoringParameters>
CMake: find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake: QT += opcua

Öffentliche Typen

class DataChangeFilter
class EventFilter
enum class MonitoringMode { Disabled, Sampling, Reporting }
enum class Parameter { PublishingEnabled, PublishingInterval, LifetimeCount, MaxKeepAliveCount, MaxNotificationsPerPublish, …, TriggeredItemIds }
flags Parameters
enum class SubscriptionType { Shared, Exclusive }

Öffentliche Funktionen

QOpcUaMonitoringParameters()
QOpcUaMonitoringParameters(double publishingInterval, QOpcUaMonitoringParameters::SubscriptionType shared = SubscriptionType::Shared, quint32 subscriptionId = 0)
QOpcUaMonitoringParameters(const QOpcUaMonitoringParameters &other)
~QOpcUaMonitoringParameters()
void clearFilter()
void clearFilterResult()
bool discardOldest() const
(since 6.7) QHash<quint32, QOpcUa::UaStatusCode> failedTriggeredItemsStatus() 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)
(since 6.7) void setFailedTriggeredItemsStatus(const QHash<quint32, QOpcUa::UaStatusCode> &status)
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)
(since 6.7) void setTriggeredItemIds(const QSet<quint32> &ids)
QOpcUa::UaStatusCode statusCode() const
quint32 subscriptionId() const
QOpcUaMonitoringParameters::SubscriptionType subscriptionType() const
(since 6.7) QSet<quint32> triggeredItemIds() const
QOpcUaMonitoringParameters &operator=(const QOpcUaMonitoringParameters &other)

Detaillierte Beschreibung

Diese Klasse wird in QOpcUaNode::enableMonitoring()-Anfragen und als Rückgabewert für QOpcUaNode::monitoringStatus() verwendet. In diesem Fall enthält sie die überarbeiteten Werte vom Server.

Verwendung

Für die meisten Anwendungsfälle ist nur das Veröffentlichungsintervall erforderlich.

QOpcUaMonitoringParameters p(100); // Set a publishing interval of 100ms and share the subscription.
node->enableMonitoring(QOpcUa::NodeAttribute::Value, p);

Wenn ein exclusive Abonnement erforderlich ist, verwenden Sie den zweiten Parameter.

QOpcUaMonitoringParameters p(100, QOpcUaMonitoringParameters::SubscriptionType::Exclusive); // Create a new subscription

Um zusätzliche Elemente zu einem bestehenden Abonnement hinzuzufügen, verwenden Sie den dritten Parameter für die nächsten Aufrufe von QOpcUaNode::enableMonitoring().

quint32 subscriptionId = node->monitoringStatus(QOpcUa::NodeAttribute::Value).subscriptionId();
QOpcUaMonitoringParameters p(100, QOpcUaMonitoringParameters::SubscriptionType::Shared, subscriptionId); // Add the monitored item to this subscription

Wenn andere Parameter erforderlich sind, müssen sie mit den Setter-Methoden gesetzt werden.

Dokumentation der Mitgliedstypen

enum class QOpcUaMonitoringParameters::MonitoringMode

Diese Aufzählung wird verwendet, um den Überwachungsmodus für ein überwachtes Element festzulegen.

KonstanteWertBeschreibung
QOpcUaMonitoringParameters::MonitoringMode::Disabled0Sampling ist deaktiviert und es werden keine Benachrichtigungen generiert.
QOpcUaMonitoringParameters::MonitoringMode::Sampling1Sampling ist aktiviert, Benachrichtigungen werden generiert und in eine Warteschlange gestellt, aber die Berichterstattung ist deaktiviert.
QOpcUaMonitoringParameters::MonitoringMode::Reporting2Sampling ist aktiviert, Benachrichtigungen werden generiert und in eine Warteschlange gestellt, das Reporting ist aktiviert.

enum class QOpcUaMonitoringParameters::Parameter
flags QOpcUaMonitoringParameters::Parameters

Aufzählung von Parametern, die zur Laufzeit mit QOpcUaNode::modifyMonitoring() geändert werden können. Es wird nicht garantiert, dass alle Werte von allen Plugins unterstützt werden. Fehlende Unterstützung wird im QOpcUaNode::monitoringStatusChanged Signal gemeldet.

KonstanteWert
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)
QOpcUaMonitoringParameters::Parameter::TriggeredItemIds (since Qt 6.7)(1 << 11)

Der Typ Parameters ist ein Typedef für QFlags<Parameter>. Er speichert eine ODER-Kombination von Parameterwerten.

enum class QOpcUaMonitoringParameters::SubscriptionType

Diese Aufzählung wird verwendet, um festzustellen, ob das überwachte Element zu einem gemeinsamen Abonnement hinzugefügt werden kann oder ob ein neues Abonnement erstellt werden muss.

KonstanteWertBeschreibung
QOpcUaMonitoringParameters::SubscriptionType::Shared0Gemeinsames Abonnement mit anderen überwachten Elementen mit demselben Intervall
QOpcUaMonitoringParameters::SubscriptionType::Exclusive1Ein neues Abonnement für dieses Attribut anfordern

Dokumentation der Mitgliedsfunktionen

QOpcUaMonitoringParameters::QOpcUaMonitoringParameters()

Der Standardkonstruktor für QOpcUaMonitoringParameters.

QOpcUaMonitoringParameters::QOpcUaMonitoringParameters(double publishingInterval, QOpcUaMonitoringParameters::SubscriptionType shared = SubscriptionType::Shared, quint32 subscriptionId = 0)

Dies ist der Konstruktor, der die meisten Anwendungsfälle für den Benutzer Qt OPC UA abdeckt. publishingInterval muss angegeben werden, shared und subscriptionId sind optional.

QOpcUaMonitoringParameters::QOpcUaMonitoringParameters(const QOpcUaMonitoringParameters &other)

Konstruiert ein QOpcuaMonitoringParameters-Objekt aus dem Wert von other.

[noexcept] QOpcUaMonitoringParameters::~QOpcUaMonitoringParameters()

Der Destruktor für QOpcUaMonitoringParameters.

void QOpcUaMonitoringParameters::clearFilter()

Entfernt den aktuellen Filter aus den Überwachungsparametern.

Siehe auch filter() und setFilter().

void QOpcUaMonitoringParameters::clearFilterResult()

Entfernt das aktuelle Filterergebnis aus den Überwachungsparametern.

Siehe auch filterResult() und setFilterResult().

bool QOpcUaMonitoringParameters::discardOldest() const

Gibt die Einstellung discardOldest des überwachten Elements zurück.

Siehe auch setDiscardOldest().

[since 6.7] QHash<quint32, QOpcUa::UaStatusCode> QOpcUaMonitoringParameters::failedTriggeredItemsStatus() const

Gibt die Statuscodes für alle ausgelösten Elemente von setTriggeredItemIds() zurück, die nicht erfolgreich hinzugefügt werden konnten.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch setFailedTriggeredItemsStatus().

QVariant QOpcUaMonitoringParameters::filter() const

Gibt den aktuellen Filter zurück.

Siehe auch setFilter().

QVariant QOpcUaMonitoringParameters::filterResult() const

Gibt das Filterergebnis zurück.

Dieser Wert ist bei einer Attributüberwachung leer. Im Falle einer Ereignisüberwachung kann das Filterergebnis leer sein, wenn der Server keine Fehler im Filter entdeckt hat.

Siehe auch setFilterResult().

QString QOpcUaMonitoringParameters::indexRange() const

Gibt den Indexbereich für das überwachte Element zurück.

Siehe auch setIndexRange().

bool QOpcUaMonitoringParameters::isPublishingEnabled() const

Gibt den Veröffentlichungsmodus für das Abonnement zurück.

quint32 QOpcUaMonitoringParameters::lifetimeCount() const

Gibt die Anzahl der Lebensdauer des Abonnements zurück.

Siehe auch setLifetimeCount().

quint32 QOpcUaMonitoringParameters::maxKeepAliveCount() const

Gibt die maximale Keepalive-Anzahl des Abonnements zurück.

Siehe auch setMaxKeepAliveCount().

quint32 QOpcUaMonitoringParameters::maxNotificationsPerPublish() const

Gibt den maximalen Wert der Benachrichtigungen pro Veröffentlichung des Abonnements zurück.

Siehe auch setMaxNotificationsPerPublish().

quint32 QOpcUaMonitoringParameters::monitoredItemId() const

Gibt die vom Server zugewiesene ID des überwachten Objekts zurück. Ist die Id des überwachten Objekts 0, konnte das überwachte Objekt nicht erfolgreich erstellt werden.

Siehe auch setMonitoredItemId().

QOpcUaMonitoringParameters::MonitoringMode QOpcUaMonitoringParameters::monitoringMode() const

Gibt den Überwachungsmodus für das überwachte Element zurück.

Siehe auch setMonitoringMode().

quint8 QOpcUaMonitoringParameters::priority() const

Gibt die Priorität des für das überwachte Element verwendeten Abonnements zurück.

Siehe auch setPriority().

double QOpcUaMonitoringParameters::publishingInterval() const

Gibt das Veröffentlichungsintervall des Abonnements zurück. Das Intervall wird in Millisekunden angegeben.

Siehe auch setPublishingInterval().

quint32 QOpcUaMonitoringParameters::queueSize() const

Gibt die Größe der Warteschlange des überwachten Elements zurück.

Siehe auch setQueueSize().

double QOpcUaMonitoringParameters::samplingInterval() const

Gibt das überarbeitete Abtastintervall des überwachten Elements zurück. Das Intervall wird in Millisekunden angegeben.

Siehe auch setSamplingInterval().

void QOpcUaMonitoringParameters::setDiscardOldest(bool discardOldest)

Legen Sie discardOldest als discardOldest Einstellung für das überwachte Element fest.

Siehe auch discardOldest().

[since 6.7] void QOpcUaMonitoringParameters::setFailedTriggeredItemsStatus(const QHash<quint32, QOpcUa::UaStatusCode> &status)

Setzt die Statuscodes für alle ausgelösten Elemente, die nicht erfolgreich zu status hinzugefügt werden konnten. Das Setzen dieses Wertes als Client hat keinen Effekt.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch failedTriggeredItemsStatus().

void QOpcUaMonitoringParameters::setFilter(const QOpcUaMonitoringParameters::DataChangeFilter &filter)

Setzt DataChangeFilter filter als Filter für das überwachte Element. Wenn ein anderer Datenänderungsfilter oder ein Ereignisfilter vorhanden ist, wird dieser ersetzt.

Wenn der Server den Filter nicht akzeptiert, wird dies durch den Statuscode angezeigt, nachdem die Anfrage QOpcUaNode::enableMonitoring() beendet wurde.

Siehe auch filter().

void QOpcUaMonitoringParameters::setFilter(const QOpcUaMonitoringParameters::EventFilter &eventFilter)

Fordern Sie eventFilter als Filter für das überwachte Element an. Wenn ein anderer Ereignisfilter oder ein Datenänderungsfilter vorhanden ist, wird dieser ersetzt. Wenn der Server den Filter nicht akzeptiert, wird dies durch den Statuscode und das Ergebnis des Ereignisfilters angezeigt, nachdem die Anfrage QOpcUaNode::enableMonitoring() beendet ist.

Siehe auch filter().

void QOpcUaMonitoringParameters::setFilterResult(const QOpcUaEventFilterResult &eventFilterResult)

Setzt das Ergebnis des Ereignisfilters auf eventFilterResult.

Diese Methode darf nur vom Backend verwendet werden, das Setzen eines Ereignisfilterergebnisses als Benutzer hat keine Auswirkungen.

Siehe auch filterResult().

void QOpcUaMonitoringParameters::setIndexRange(const QString &indexRange)

Fordert indexRange als Indexbereich für das überwachte Element an. Einzelheiten zur Indexbereichszeichenkette finden Sie unter QOpcUaNode::readAttributeRange().

Siehe auch indexRange().

void QOpcUaMonitoringParameters::setLifetimeCount(quint32 lifetimeCount)

Fordern Sie lifetimeCount als Lebensdauerzählung für das Abonnement an.

Siehe auch lifetimeCount().

void QOpcUaMonitoringParameters::setMaxKeepAliveCount(quint32 maxKeepAliveCount)

Fordern Sie maxKeepAliveCount als maximale Keepalive-Anzahl für das Abonnement an.

Siehe auch maxKeepAliveCount().

void QOpcUaMonitoringParameters::setMaxNotificationsPerPublish(quint32 maxNotificationsPerPublish)

Legen Sie maxNotificationsPerPublish als maximalen Wert für Benachrichtigungen pro Veröffentlichung für das Abonnement fest.

Siehe auch maxNotificationsPerPublish().

void QOpcUaMonitoringParameters::setMonitoredItemId(quint32 monitoredItemId)

Setzt die Id des überwachten Elements auf monitoredItemId.

Die Einstellung dieses Wertes als Client hat keine Auswirkungen.

Siehe auch monitoredItemId().

void QOpcUaMonitoringParameters::setMonitoringMode(QOpcUaMonitoringParameters::MonitoringMode monitoringMode)

Stellen Sie monitoringMode als Überwachungsmodus für das überwachte Element ein.

Siehe auch monitoringMode().

void QOpcUaMonitoringParameters::setPriority(quint8 priority)

Setzen Sie priority als Priorität für das Abonnement.

Siehe auch priority().

void QOpcUaMonitoringParameters::setPublishingEnabled(bool publishingEnabled)

Legen Sie publishingEnabled als Veröffentlichungsmodus für das Abonnement fest.

Siehe auch isPublishingEnabled().

void QOpcUaMonitoringParameters::setPublishingInterval(double publishingInterval)

Fordern Sie publishingInterval als Veröffentlichungsintervall für das Abonnement an. Das Intervall wird in Millisekunden angegeben.

Siehe auch publishingInterval().

void QOpcUaMonitoringParameters::setQueueSize(quint32 queueSize)

Fordern Sie queueSize als Warteschlangengröße für das überwachte Element an.

Siehe auch queueSize().

void QOpcUaMonitoringParameters::setSamplingInterval(double samplingInterval)

Fordern Sie samplingInterval als Abtastintervall für das überwachte Element an. Das Intervall wird in Millisekunden angegeben.

Siehe auch samplingInterval().

void QOpcUaMonitoringParameters::setStatusCode(QOpcUa::UaStatusCode statusCode)

Setzen Sie den Statuscode auf statusCode.

Siehe auch statusCode().

void QOpcUaMonitoringParameters::setSubscriptionId(quint32 subscriptionId)

Beantragen Sie, dass die überwachten Elemente auf einem bekannten Abonnement mit subscriptionId erstellt werden.

Siehe auch subscriptionId().

void QOpcUaMonitoringParameters::setSubscriptionType(QOpcUaMonitoringParameters::SubscriptionType shared)

Fordern Sie shared als Abonnementtyp für das Abonnement an.

Siehe auch subscriptionType().

[since 6.7] void QOpcUaMonitoringParameters::setTriggeredItemIds(const QSet<quint32> &ids)

Fügt auslösende Links zu allen überwachten Objekten in ids hinzu, wie in OPC UA 1.05, 5.12.1.6 beschrieben.

Die Werte in ids müssen die Überwachungselement-IDs anderer Überwachungselemente desselben Abonnements sein. Wenn der Überwachungsmodus dieser Items auf Sampling eingestellt ist, werden ihre Datenänderungsbenachrichtigungen an den Client geliefert, sobald diese Überwachung eine Datenänderung feststellt.

Alle IDs, die nicht hinzugefügt werden konnten, werden nicht in den Überwachungsstatus aufgenommen, sondern werden stattdessen in failedTriggeredItemsStatus() angezeigt.

Wird diese Einstellung auf eine leere Menge geändert, werden alle auslösenden Links entfernt.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch triggeredItemIds().

QOpcUa::UaStatusCode QOpcUaMonitoringParameters::statusCode() const

Gibt den Statuscode der überwachten Elementerstellung zurück.

Siehe auch setStatusCode().

quint32 QOpcUaMonitoringParameters::subscriptionId() const

Gibt die zugewiesene Abonnement-ID zurück.

Siehe auch setSubscriptionId().

QOpcUaMonitoringParameters::SubscriptionType QOpcUaMonitoringParameters::subscriptionType() const

Gibt den Abonnementtyp zurück.

Siehe auch setSubscriptionType().

[since 6.7] QSet<quint32> QOpcUaMonitoringParameters::triggeredItemIds() const

Gibt die IDs der überwachten Elemente zurück, die von diesem überwachten Element ausgelöst wurden.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch setTriggeredItemIds().

QOpcUaMonitoringParameters &QOpcUaMonitoringParameters::operator=(const QOpcUaMonitoringParameters &other)

Weist diesem Objekt den Wert von other zu.

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.