Sur cette page

QOpcUaMonitoringParameters Class

QOpcUaMonitoringParameters permet de définir et de récupérer les paramètres des abonnements et des éléments surveillés. En savoir plus...

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(), auquel cas elle contient les valeurs mises à jour provenant du serveur.

Utilisation

Dans la plupart des cas, seul l'intervalle de publication est requis.

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

Si un abonnement exclusive est requis, 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 lors des 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 requis, ils doivent être définis à l’aide des méthodes de définition.

Documentation sur les types de membres

enum class QOpcUaMonitoringParameters::MonitoringMode

Cette énumération sert à définir le mode de surveillance d'un élément surveillé.

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

enum class QOpcUaMonitoringParameters::Parameter
flags QOpcUaMonitoringParameters::Parameters

Énumère les paramètres pouvant être modifiés à l'exécution à l'aide de la fonction ` 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 via 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 type « Parameter ».

enum class QOpcUaMonitoringParameters::SubscriptionType

Cette énumération sert à déterminer si l'élément surveillé peut être ajouté à un abonnement partagé ou s'il faut créer un nouvel abonnement.

ConstanteValeurDescription
QOpcUaMonitoringParameters::SubscriptionType::Shared0Partager l'abonnement avec d'autres éléments surveillés ayant le même intervalle
QOpcUaMonitoringParameters::SubscriptionType::Exclusive1Demander 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 pour l'utilisateur de Qt OPC UA. Le paramètre « publishingInterval » doit être fourni, tandis que « shared » et « subscriptionId » sont facultatifs.

QOpcUaMonitoringParameters::QOpcUaMonitoringParameters(const QOpcUaMonitoringParameters &other)

Crée 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 actuel du filtre des paramètres de surveillance.

Voir également 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 par la fonction ` setTriggeredItemIds()` qui n'ont pas pu être ajoutés correctement.

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

Cette valeur est vide dans le cas d'une surveillance d'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 également setFilterResult().

QString QOpcUaMonitoringParameters::indexRange() const

Renvoie la plage d'index 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 total d'abonnements créés depuis sa création.

Voir également setLifetimeCount().

quint32 QOpcUaMonitoringParameters::maxKeepAliveCount() const

Renvoie le nombre maximal de tentatives de connexion de l'abonnement.

Voir également setMaxKeepAliveCount().

quint32 QOpcUaMonitoringParameters::maxNotificationsPerPublish() const

Renvoie le nombre maximal de notifications par publication pour 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 égal à 0, cela signifie que la création de l'élément surveillé a échoué.

Voir également setMonitoredItemId().

QOpcUaMonitoringParameters::MonitoringMode QOpcUaMonitoringParameters::monitoringMode() const

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

Voir également 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 également 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éfinissez « discardOldest » (Dernière modification) comme paramètre « discardOldest » (Date de modification) pour l'élément surveillé.

Voir également discardOldest().

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

Définit les codes d'état pour tous les éléments déclenchés qui n'ont pas pu être ajoutés correctement à status. La définition de 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 modification des données ou un filtre d'événement est présent, celui-ci sera remplacé.

Si le serveur n'accepte pas le filtre, cela sera indiqué par le code d'état une fois la requête QOpcUaNode::enableMonitoring() terminée.

Voir également filter().

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

Demandez « eventFilter » comme filtre pour l'élément surveillé. Si un autre filtre d'événement ou un filtre de modification 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 une fois la requête QOpcUaNode::enableMonitoring() terminée.

Voir également filter().

void QOpcUaMonitoringParameters::setFilterResult(const QOpcUaEventFilterResult &eventFilterResult)

Définit le résultat du filtre d'événement sur « 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 par un utilisateur n'a aucun effet.

Voir également filterResult().

void QOpcUaMonitoringParameters::setIndexRange(const QString &indexRange)

Demande indexRange comme plage d'index pour l'élément surveillé. Pour plus d'informations sur la chaîne de caractères de la plage d'index, consultez QOpcUaNode::readAttributeRange().

Voir également indexRange().

void QOpcUaMonitoringParameters::setLifetimeCount(quint32 lifetimeCount)

Définir « lifetimeCount » comme nombre total d'abonnements.

Voir également lifetimeCount().

void QOpcUaMonitoringParameters::setMaxKeepAliveCount(quint32 maxKeepAliveCount)

Définissez la valeur « maxKeepAliveCount » comme nombre maximal de tentatives de connexion pour l'abonnement.

Voir également maxKeepAliveCount().

void QOpcUaMonitoringParameters::setMaxNotificationsPerPublish(quint32 maxNotificationsPerPublish)

Définissez la valeur « maxNotificationsPerPublish » comme nombre maximal de notifications par publication pour l'abonnement.

Voir également maxNotificationsPerPublish().

void QOpcUaMonitoringParameters::setMonitoredItemId(quint32 monitoredItemId)

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

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

Voir également monitoredItemId().

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

Définissez « monitoringMode » comme mode de surveillance pour l'élément surveillé.

Voir également monitoringMode().

void QOpcUaMonitoringParameters::setPriority(quint8 priority)

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

Voir également priority().

void QOpcUaMonitoringParameters::setPublishingEnabled(bool publishingEnabled)

Définissez « publishingEnabled » comme mode de publication pour l'abonnement.

Voir également isPublishingEnabled().

void QOpcUaMonitoringParameters::setPublishingInterval(double publishingInterval)

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

Voir également la fonction ` publishingInterval()`.

void QOpcUaMonitoringParameters::setQueueSize(quint32 queueSize)

Définissez la taille de la file d'attente de l'élément surveillé sur « queueSize ».

Voir également queueSize().

void QOpcUaMonitoringParameters::setSamplingInterval(double samplingInterval)

Demandez un intervalle d’échantill samplingInterval pour l’élément surveillé. L’intervalle est exprimé en millisecondes.

Voir également samplingInterval().

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

Définissez le code d'état sur « statusCode ».

Voir également statusCode().

void QOpcUaMonitoringParameters::setSubscriptionId(quint32 subscriptionId)

Demandez la création des éléments surveillés sur un abonnement connu à l'aide de la commande « subscriptionId ».

Voir également subscriptionId().

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

Spécifiez « shared » comme type d’abonnement pour cet abonnement.

Voir également 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 », conformément à la description fournie dans la spécification OPC UA 1.05, section 5.12.1.6.

Les valeurs de ` ids ` doivent correspondre aux 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 « Échantillonnage », leurs notifications de modification de données seront transmises au client chaque fois que cette surveillance détectera une modification de données.

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

La modification de ce paramètre pour le vider supprimera tous les liens de déclenchement.

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 également setStatusCode().

quint32 QOpcUaMonitoringParameters::subscriptionId() const

Renvoie l'identifiant d'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 également setTriggeredItemIds().

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

Attribue la valeur « 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.