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.
Konstante | Wert | Beschreibung |
---|---|---|
QOpcUaMonitoringParameters::MonitoringMode::Disabled | 0 | Sampling ist deaktiviert und es werden keine Benachrichtigungen generiert. |
QOpcUaMonitoringParameters::MonitoringMode::Sampling | 1 | Sampling ist aktiviert, Benachrichtigungen werden generiert und in eine Warteschlange gestellt, aber die Berichterstattung ist deaktiviert. |
QOpcUaMonitoringParameters::MonitoringMode::Reporting | 2 | Sampling 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.
Konstante | Wert |
---|---|
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.
Konstante | Wert | Beschreibung |
---|---|---|
QOpcUaMonitoringParameters::SubscriptionType::Shared | 0 | Gemeinsames Abonnement mit anderen überwachten Elementen mit demselben Intervall |
QOpcUaMonitoringParameters::SubscriptionType::Exclusive | 1 | Ein 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.