Sur cette page

QOpcUaMonitoringParameters Class

QOpcUaMonitoringParameters permet de définir et de récupérer des paramètres pour les abonnements et les éléments surveillés. Plus d'informations...

En-tête : #include <QOpcUaMonitoringParameters>
CMake : find_package(Qt6 REQUIRED COMPONENTS OpcUa)
target_link_libraries(mytarget PRIVATE Qt6::OpcUa)
qmake : QT += opcua

Types publics

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 }

Fonctions publiques

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)

Description détaillée

Cette classe est utilisée dans les requêtes QOpcUaNode::enableMonitoring() et comme valeur de retour pour QOpcUaNode::monitoringStatus(). Dans ce cas, elle contient les valeurs révisées du serveur.

Utilisation

Dans la plupart des cas d'utilisation, seul l'intervalle de publication est nécessaire.

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

Si un abonnement à exclusive est nécessaire, utilisez le deuxième paramètre.

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

Pour ajouter des éléments supplémentaires à un abonnement existant, utilisez le troisième paramètre pour les prochains appels à QOpcUaNode::enableMonitoring().

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

Si d'autres paramètres sont nécessaires, ils doivent être définis à l'aide des méthodes setter.

Documentation sur les types de membres

enum class QOpcUaMonitoringParameters::MonitoringMode

Cette énumération est utilisée pour définir le mode de surveillance d'un élément surveillé.

ConstanteValeurDescription du mode de surveillance
QOpcUaMonitoringParameters::MonitoringMode::Disabled0L'échantillonnage est désactivé et aucune notification n'est générée.
QOpcUaMonitoringParameters::MonitoringMode::Sampling1L'échantillonnage est activé, des notifications sont générées et mises en file d'attente, mais les rapports sont désactivés.
QOpcUaMonitoringParameters::MonitoringMode::Reporting2L'échantillonnage est activé, les notifications sont générées et mises en file d'attente, les rapports sont activés.

enum class QOpcUaMonitoringParameters::Parameter
flags QOpcUaMonitoringParameters::Parameters

Enumère les paramètres qui peuvent être modifiés à l'exécution à l'aide de QOpcUaNode::modifyMonitoring(). Il n'est pas garanti que toutes les valeurs soient prises en charge par tous les plugins. L'absence de prise en charge sera signalée dans le signal QOpcUaNode::monitoringStatusChanged.

ConstanteValeur
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)

Le type Parameters est un typedef pour QFlags<Parameter>. Il stocke une combinaison OU de valeurs de paramètres.

enum class QOpcUaMonitoringParameters::SubscriptionType

Cette énumération est utilisée pour déterminer si l'élément surveillé peut être ajouté à un abonnement partagé ou si un nouvel abonnement doit être créé.

ConstanteValeurDescription
QOpcUaMonitoringParameters::SubscriptionType::Shared0Partage de l'abonnement avec d'autres éléments surveillés ayant le même intervalle
QOpcUaMonitoringParameters::SubscriptionType::Exclusive1Demande d'un nouvel abonnement pour cet attribut

Documentation des fonctions membres

QOpcUaMonitoringParameters::QOpcUaMonitoringParameters()

Le constructeur par défaut de QOpcUaMonitoringParameters.

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

Il s'agit du constructeur qui couvre la plupart des cas d'utilisation de l'utilisateur Qt OPC UA. publishingInterval doit être fourni, shared et subscriptionId sont facultatifs.

QOpcUaMonitoringParameters::QOpcUaMonitoringParameters(const QOpcUaMonitoringParameters &other)

Construit un objet QOpcuaMonitoringParameters à partir de la valeur de other.

[noexcept] QOpcUaMonitoringParameters::~QOpcUaMonitoringParameters()

Le destructeur de QOpcUaMonitoringParameters.

void QOpcUaMonitoringParameters::clearFilter()

Supprime le filtre actuel des paramètres de surveillance.

Voir également filter() et setFilter().

void QOpcUaMonitoringParameters::clearFilterResult()

Supprime le résultat du filtre actuel des paramètres de surveillance.

Voir aussi filterResult() et setFilterResult().

bool QOpcUaMonitoringParameters::discardOldest() const

Renvoie le paramètre discardOldest de l'élément surveillé.

Voir aussi setDiscardOldest().

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

Renvoie les codes d'état de tous les éléments déclenchés à partir de setTriggeredItemIds() qui n'ont pas pu être ajoutés avec succès.

Cette fonction a été introduite dans Qt 6.7.

Voir aussi setFailedTriggeredItemsStatus().

QVariant QOpcUaMonitoringParameters::filter() const

Renvoie le filtre actuel.

Voir aussi setFilter().

QVariant QOpcUaMonitoringParameters::filterResult() const

Renvoie le résultat du filtre.

Cette valeur est vide pour la surveillance d'un attribut. Dans le cas d'une surveillance d'événement, le résultat du filtre peut être vide si le serveur n'a détecté aucune erreur dans le filtre.

Voir aussi setFilterResult().

QString QOpcUaMonitoringParameters::indexRange() const

Renvoie l'intervalle d'indexation de l'élément surveillé.

Voir également setIndexRange().

bool QOpcUaMonitoringParameters::isPublishingEnabled() const

Renvoie le mode de publication de l'abonnement.

quint32 QOpcUaMonitoringParameters::lifetimeCount() const

Renvoie le nombre de vies de l'abonnement.

Voir aussi setLifetimeCount().

quint32 QOpcUaMonitoringParameters::maxKeepAliveCount() const

Renvoie le nombre maximum de keepalive de l'abonnement.

Voir aussi setMaxKeepAliveCount().

quint32 QOpcUaMonitoringParameters::maxNotificationsPerPublish() const

Renvoie la valeur maximale des notifications par publication de l'abonnement.

Voir aussi setMaxNotificationsPerPublish().

quint32 QOpcUaMonitoringParameters::monitoredItemId() const

Renvoie l'identifiant de l'élément surveillé attribué par le serveur. Si l'identifiant de l'élément surveillé est 0, l'élément surveillé n'a pas pu être créé avec succès.

Voir aussi setMonitoredItemId().

QOpcUaMonitoringParameters::MonitoringMode QOpcUaMonitoringParameters::monitoringMode() const

Renvoie le mode de surveillance de l'élément surveillé.

Voir aussi setMonitoringMode().

quint8 QOpcUaMonitoringParameters::priority() const

Renvoie la priorité de l'abonnement utilisé pour l'élément surveillé.

Voir également setPriority().

double QOpcUaMonitoringParameters::publishingInterval() const

Renvoie l'intervalle de publication de l'abonnement. L'intervalle est exprimé en millisecondes.

Voir aussi setPublishingInterval().

quint32 QOpcUaMonitoringParameters::queueSize() const

Renvoie la taille de la file d'attente de l'élément surveillé.

Voir aussi setQueueSize().

double QOpcUaMonitoringParameters::samplingInterval() const

Renvoie l'intervalle d'échantillonnage révisé de l'élément surveillé. L'intervalle est exprimé en millisecondes.

Voir également setSamplingInterval().

void QOpcUaMonitoringParameters::setDiscardOldest(bool discardOldest)

Définir discardOldest comme paramètre discardOldest pour l'élément contrôlé.

Voir également discardOldest().

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

Définit les codes d'état de tous les éléments déclenchés qui n'ont pas pu être ajoutés avec succès à status. Définir cette valeur en tant que client n'a aucun effet.

Cette fonction a été introduite dans Qt 6.7.

Voir également failedTriggeredItemsStatus().

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

Définit DataChangeFilter filter comme filtre pour l'élément surveillé. Si un autre filtre de changement de données ou un filtre d'événement est présent, il sera remplacé.

Si le serveur n'accepte pas le filtre, cela sera indiqué par le code d'état après la fin de la requête QOpcUaNode::enableMonitoring().

Voir aussi filter().

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

Demande à eventFilter de servir de filtre pour l'élément surveillé. Si un autre filtre d'événement ou un filtre de changement de données est présent, il sera remplacé. Si le serveur n'accepte pas le filtre, cela sera indiqué par le code d'état et le résultat du filtre d'événement après la fin de la requête QOpcUaNode::enableMonitoring().

Voir aussi filter().

void QOpcUaMonitoringParameters::setFilterResult(const QOpcUaEventFilterResult &eventFilterResult)

Définit le résultat du filtre d'événement à eventFilterResult.

Cette méthode ne doit être utilisée que par le backend, la définition d'un résultat de filtre d'événement en tant qu'utilisateur n'a aucun effet.

Voir aussi filterResult().

void QOpcUaMonitoringParameters::setIndexRange(const QString &indexRange)

Demande indexRange comme plage d'index pour l'élément surveillé. Pour plus de détails sur la chaîne d'index, voir QOpcUaNode::readAttributeRange().

Voir aussi indexRange().

void QOpcUaMonitoringParameters::setLifetimeCount(quint32 lifetimeCount)

Demande lifetimeCount en tant que durée de vie de l'abonnement.

Voir aussi lifetimeCount().

void QOpcUaMonitoringParameters::setMaxKeepAliveCount(quint32 maxKeepAliveCount)

Demande maxKeepAliveCount comme nombre maximum de keepalive pour l'abonnement.

Voir aussi maxKeepAliveCount().

void QOpcUaMonitoringParameters::setMaxNotificationsPerPublish(quint32 maxNotificationsPerPublish)

Définir maxNotificationsPerPublish comme valeur maximale de notifications par publication pour l'abonnement.

Voir aussi maxNotificationsPerPublish().

void QOpcUaMonitoringParameters::setMonitoredItemId(quint32 monitoredItemId)

Définit l'identifiant de l'élément surveillé à monitoredItemId.

La définition de cette valeur en tant que client n'a aucun effet.

Voir aussi monitoredItemId().

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

Définir monitoringMode comme mode de surveillance pour l'élément surveillé.

Voir aussi monitoringMode().

void QOpcUaMonitoringParameters::setPriority(quint8 priority)

Définir priority comme priorité pour l'abonnement.

Voir aussi priority().

void QOpcUaMonitoringParameters::setPublishingEnabled(bool publishingEnabled)

Définir publishingEnabled comme mode de publication pour l'abonnement.

Voir aussi isPublishingEnabled().

void QOpcUaMonitoringParameters::setPublishingInterval(double publishingInterval)

Demande publishingInterval comme intervalle de publication pour l'abonnement. L'intervalle est exprimé en millisecondes.

Voir aussi publishingInterval().

void QOpcUaMonitoringParameters::setQueueSize(quint32 queueSize)

Demande queueSize comme taille de la file d'attente pour l'élément surveillé.

Voir aussi queueSize().

void QOpcUaMonitoringParameters::setSamplingInterval(double samplingInterval)

Demande samplingInterval comme intervalle d'échantillonnage pour l'élément surveillé. L'intervalle est exprimé en millisecondes.

Voir aussi samplingInterval().

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

Définir le code d'état à statusCode.

Voir aussi statusCode().

void QOpcUaMonitoringParameters::setSubscriptionId(quint32 subscriptionId)

Demander la création des éléments surveillés sur un abonnement connu avec subscriptionId.

Voir également subscriptionId().

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

Demander shared comme type d'abonnement pour l'abonnement.

Voir aussi subscriptionType().

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

Ajoute des liens de déclenchement à tous les éléments surveillés dans ids comme décrit dans OPC UA 1.05, 5.12.1.6.

Les valeurs dans ids doivent être les identifiants d'éléments surveillés d'autres éléments surveillés sur le même abonnement. Si le mode de surveillance de ces éléments est défini sur Sampling, leurs notifications de changement de données seront envoyées au client chaque fois que cette surveillance détectera un changement de données.

Les identifiants qui n'ont pas pu être ajoutés ne seront pas inclus dans l'état de la surveillance, mais apparaîtront à l'adresse failedTriggeredItemsStatus().

La modification de ce paramètre en un ensemble vide supprimera tous les liens déclencheurs.

Cette fonction a été introduite dans Qt 6.7.

Voir également triggeredItemIds().

QOpcUa::UaStatusCode QOpcUaMonitoringParameters::statusCode() const

Renvoie le code d'état de la création de l'élément surveillé.

Voir aussi setStatusCode().

quint32 QOpcUaMonitoringParameters::subscriptionId() const

Renvoie l'identifiant de l'abonnement attribué.

Voir aussi setSubscriptionId().

QOpcUaMonitoringParameters::SubscriptionType QOpcUaMonitoringParameters::subscriptionType() const

Renvoie le type d'abonnement.

Voir aussi setSubscriptionType().

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

Renvoie les identifiants des éléments surveillés déclenchés par cet élément surveillé.

Cette fonction a été introduite dans Qt 6.7.

Voir aussi setTriggeredItemIds().

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

Attribue la valeur de other à cet objet.

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