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é.
| Constante | Valeur | Description du mode de surveillance |
|---|---|---|
QOpcUaMonitoringParameters::MonitoringMode::Disabled | 0 | L'échantillonnage est désactivé et aucune notification n'est générée. |
QOpcUaMonitoringParameters::MonitoringMode::Sampling | 1 | L'é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::Reporting | 2 | L'é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.
| Constante | Valeur |
|---|---|
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éé.
| Constante | Valeur | Description |
|---|---|---|
QOpcUaMonitoringParameters::SubscriptionType::Shared | 0 | Partage de l'abonnement avec d'autres éléments surveillés ayant le même intervalle |
QOpcUaMonitoringParameters::SubscriptionType::Exclusive | 1 | Demande 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.