Auf dieser Seite

QOpcUaMonitoringParameters Class

QOpcUaMonitoringParameters bietet die Möglichkeit, Parameter für Abonnements und überwachte Elemente festzulegen 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 sowie als Rückgabewert für QOpcUaNode::monitoringStatus() verwendet; in diesem Fall enthält sie die vom Server übermittelten aktualisierten Werte.

Verwendung

In den meisten Anwendungsfällen ist lediglich 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 einem bestehenden Abonnement weitere Elemente hinzuzufügen, verwenden Sie den dritten Parameter bei den nächsten Aufrufen 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

Falls weitere Parameter erforderlich sind, müssen diese über die Setter-Methoden festgelegt werden.

Dokumentation zu den Mitgliedstypen

enum class QOpcUaMonitoringParameters::MonitoringMode

Diese Enumeration dient dazu, den Überwachungsmodus für ein überwachtes Element festzulegen.

KonstanteWertBeschreibung
QOpcUaMonitoringParameters::MonitoringMode::Disabled0Die Erfassung ist deaktiviert und es werden keine Benachrichtigungen generiert.
QOpcUaMonitoringParameters::MonitoringMode::Sampling1Die Erfassung ist aktiviert, Benachrichtigungen werden generiert und in die Warteschlange gestellt, die Berichterstellung ist jedoch deaktiviert.
QOpcUaMonitoringParameters::MonitoringMode::Reporting2Die Stichprobenentnahme ist aktiviert, Benachrichtigungen werden generiert und in die Warteschlange gestellt, die Berichterstellung ist aktiviert.

enum class QOpcUaMonitoringParameters::Parameter
flags QOpcUaMonitoringParameters::Parameters

Listet Parameter auf, die zur Laufzeit mithilfe von ` QOpcUaNode::modifyMonitoring()` geändert werden können. Es kann nicht garantiert werden, dass alle Werte von allen Plugins unterstützt werden. Eine fehlende Unterstützung wird über das Signal ` QOpcUaNode::monitoringStatusChanged ` 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 Enumeration dient dazu, festzustellen, ob das überwachte Element einem gemeinsamen Abonnement hinzugefügt werden kann oder ob ein neues Abonnement angelegt werden muss.

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

Dokumentation der Member-Funktionen

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 von „ Qt OPC UA “ abdeckt. „ publishingInterval “ muss angegeben werden, „ shared “ und „ subscriptionId “ sind optional.

QOpcUaMonitoringParameters::QOpcUaMonitoringParameters(const QOpcUaMonitoringParameters &other)

Erstellt ein „QOpcuaMonitoringParameters“-Objekt anhand des Werts 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 durch ` setTriggeredItemIds()` ausgelösten Elemente 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.

Bei der Attributüberwachung ist dieser Wert leer. Bei der Ereignisüberwachung kann das Filterergebnis leer sein, wenn der Server keine Fehler im Filter festgestellt 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 Gesamtanzahl der 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 Wert für die maximale Anzahl an Benachrichtigungen pro Veröffentlichung des Abonnements zurück.

Siehe auch „ setMaxNotificationsPerPublish()“.

quint32 QOpcUaMonitoringParameters::monitoredItemId() const

Gibt die vom Server zugewiesene ID des überwachten Elements zurück. Wenn die ID des überwachten Elements 0 ist, konnte das überwachte Element nicht erfolgreich angelegt 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 Abonnements zurück, das für das überwachte Element verwendet wird.

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 Warteschlangengröße des überwachten Elements zurück.

Siehe auch „ setQueueSize()“.

double QOpcUaMonitoringParameters::samplingInterval() const

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

Siehe auch „ setSamplingInterval()“.

void QOpcUaMonitoringParameters::setDiscardOldest(bool discardOldest)

Legen Sie für das überwachte Element die Einstellung „ discardOldest “ auf „ discardOldest “ fest.

Siehe auch discardOldest().

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

Legt die Statuscodes für alle ausgelösten Elemente fest, die nicht erfolgreich zu „ status “ hinzugefügt werden konnten. Die Einstellung dieses Werts als Client hat keine Auswirkung.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch failedTriggeredItemsStatus().

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

Legt „ DataChangeFilter filter “ als Filter für das überwachte Element fest. Falls bereits 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()“ abgeschlossen ist.

Siehe auch filter().

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

Fordern Sie „ eventFilter “ als Filter für das überwachte Element an. Falls 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()“ abgeschlossen 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 Festlegen eines Ereignisfilterergebnisses durch einen Benutzer hat keinerlei Auswirkungen.

Siehe auch „ filterResult()“.

void QOpcUaMonitoringParameters::setIndexRange(const QString &indexRange)

Fordert „ indexRange “ als Indexbereich für das überwachte Element an. Weitere Informationen zur Zeichenfolge für den Indexbereich finden Sie unter QOpcUaNode::readAttributeRange().

Siehe auch indexRange().

void QOpcUaMonitoringParameters::setLifetimeCount(quint32 lifetimeCount)

Legen Sie „ lifetimeCount “ als Gesamtanzahl für das Abonnement fest.

Siehe auch lifetimeCount().

void QOpcUaMonitoringParameters::setMaxKeepAliveCount(quint32 maxKeepAliveCount)

Legen Sie „ maxKeepAliveCount “ als maximale Keepalive-Anzahl für das Abonnement fest.

Siehe auch maxKeepAliveCount().

void QOpcUaMonitoringParameters::setMaxNotificationsPerPublish(quint32 maxNotificationsPerPublish)

Legen Sie „ maxNotificationsPerPublish “ als Wert für die maximale Anzahl von 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 “.

Das Setzen dieses Werts als Client hat keine Auswirkung.

Siehe auch monitoredItemId().

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

Legen Sie „ monitoringMode “ als Überwachungsmodus für das überwachte Element fest.

Siehe auch monitoringMode().

void QOpcUaMonitoringParameters::setPriority(quint8 priority)

Legen Sie „ priority “ als Priorität für das Abonnement fest.

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)

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

Siehe auch ` publishingInterval()`.

void QOpcUaMonitoringParameters::setQueueSize(quint32 queueSize)

Legen Sie als Warteschlangengröße für das überwachte Element „ queueSize “ fest.

Siehe auch queueSize().

void QOpcUaMonitoringParameters::setSamplingInterval(double samplingInterval)

Legen Sie „ samplingInterval “ als Abtastintervall für das überwachte Element fest. 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)

Fordern Sie mit dem Befehl „ subscriptionId “ an, dass die überwachten Elemente in einem bekannten Abonnement angelegt werden.

Siehe auch ` subscriptionId()`.

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

Geben Sie als Abonnementtyp „ shared “ für das Abonnement an.

Siehe auch subscriptionType().

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

Fügt Trigger-Links zu allen überwachten Elementen in „ ids “ hinzu, wie in OPC UA 1.05, 5.12.1.6 beschrieben.

Die Werte in „ ids “ müssen die IDs anderer überwachter Elemente desselben Abonnements sein. Ist der Überwachungsmodus dieser Elemente auf „Sampling“ eingestellt, werden ihre Datenänderungsbenachrichtigungen an den Client gesendet, sobald diese Überwachung eine Datenänderung feststellt.

IDen, die nicht hinzugefügt werden konnten, werden nicht in den Überwachungsstatus aufgenommen, sondern erscheinen stattdessen in „ failedTriggeredItemsStatus “ ().

Wenn diese Einstellung auf eine leere Menge gesetzt wird, werden alle auslösenden Verknüpfungen entfernt.

Diese Funktion wurde in Qt 6.7 eingeführt.

Siehe auch „ triggeredItemIds“ ().

QOpcUa::UaStatusCode QOpcUaMonitoringParameters::statusCode() const

Gibt den Statuscode der Erstellung des überwachten Elements 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 durch dieses überwachte 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 „ other “ zu.

© 2026 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.