Sur cette page

Qt OPC UA Présentation

OPC UA est un protocole destiné à la modélisation et à l'échange de données dans les applications industrielles.

Un serveur OPC UA permet d’accéder à des données organisées en un maillage de nœuds reliés par des références. L’utilisation de différents types de références et de nœuds contenant des métadonnées permet à un client de naviguer et d’interpréter les données sans en connaître la structure au préalable.

Chaque nœud possède un identifiant unique et des attributs pouvant être lus et écrits. Il existe notamment des nœuds « Variables » qui stockent des valeurs et des nœuds « Méthodes » pouvant être appelés, auxquels sont associés des nœuds décrivant les paramètres et les valeurs de retour. Des notifications en cas d’événements et la surveillance des nœuds « Variables » pour détecter les changements de valeur sont également proposées.

Des objets complexes peuvent être créés en combinant des nœuds à l’aide de références. L’héritage est également possible. OPC UA prend en charge des modèles prédéfinis pouvant être étendus pour répondre à des besoins spécifiques.

OPC UA est le successeur indépendant de toute plateforme d’OPC Classic, destiné à être utilisé à tous les niveaux, des capteurs embarqués jusqu’aux systèmes d’exécution de la production et de planification des ressources d’entreprise. Il dispose d’une architecture orientée services basée sur des messages standardisés pour les requêtes et les réponses de services. Il existe différentes méthodes pour encoder ces messages et les transporter sur le réseau. La méthode la plus courante est l’encodage binaire sur TCP.

Fonctionnalités implémentées du protocole OPC UA

Le tableau suivant résume les fonctionnalités d'OPC UA prises en charge par Qt OPC UA.

Fonctionnalité
Lecture
Lecture par lots
Lecture de l'historique (brute)
Écriture
Écriture par lots
Tableaux multidimensionnels
Parcourir
Abonnements aux modifications de données
Abonnements aux événements
Modifier les abonnements / les éléments surveillés
Appels de méthodes
Résolution du chemin de navigation
GetEndpoints
FindServers
Gestion des nœuds
RegisterNodes
Désenregistrer des nœuds

Types de données

Un sous-ensemble des types de données OPC UA est actuellement pris en charge dans Qt OPC UA.

Type de donnéesQt OPC UA type de données
Int16, Int32, Int64Utilisés directement
UInt16, UInt32, UInt64Utilisés directement
Octetquint8
SByteqint8
BooléenUtilisé directement
DoubleUtilisé directement
FloatUtilisé directement
ChaîneQString
Texte localiséQOpcUaLocalizedText
DateTimeQDateTime
Chaîne d'octetsQByteArray
Élément XMLQString
ID de nœudQString
GUIDQUuid
Nom qualifiéQOpcUaQualifiedName
Code d'étatQOpcUa::UaStatusCode
PlageQOpcUaRange
InformationsUEQOpcUaEUInformation
NombreComplexeQOpcUaComplexNumber
NombreComplexeDoubleQOpcUaDoubleComplexNumber
Informations sur l'axeQOpcUaAxisInformation
XVQOpcUaXValue
ArgumentQOpcUaArgument
ID du nœud développéQOpcUaExpandedNodeId
Objet d’extensionQOpcUaExtensionObject
Définition de structureQOpcUaStructureDefinition
ChampDeStructureQOpcUaStructureField
Définition d'énumérationQOpcUaEnumDefinition
Champ d'énumérationQOpcUaEnumField
Info de diagnosticQOpcUaDiagnosticInfo
Opérande d'attribut simpleQOpcUaSimpleAttributeOperand
Opérande d'attributQOpcUaAttributeOperand
Opérande littéralQOpcUaLiteralOperand
Opérande d'élémentQOpcUaElementOperand
Élément de chemin relatifQOpcUaRelativePathElement
Élément de filtre de contenuQOpcUaContentFilterElement
Filtre d’événementQOpcUaMonitoringParameters::EventFilter

Classes et propriété

Deux classes importantes sont mises à la disposition de l'utilisateur : QOpcUaClient et QOpcUaNode.

Les objets de ces deux classes sont la propriété de l'utilisateur et doivent être supprimés lorsqu'ils ne sont plus nécessaires.

Catégories de journalisation

Le tableau suivant récapitule les catégories de journalisation utilisées par Qt OPC UA.

Catégorie de journalisationDescription
qt.opcuaMessages indépendants des plugins générés par QOpcUaProvider et QOpcUaClient
qt.opcua.plugins.open62541Messages générés par le plugin open62541

Catégories de journalisation spécifiques à Open62541

Les catégories de journalisation du SDK open62541 dépendent du niveau de journalisation d'open62541, qui est configuré lors de la compilation. La valeur par défaut est 300, ce qui active les niveaux : info, avertissement, erreur et critique. Pour obtenir une sortie plus ou moins détaillée, le SDK open62541 doit être recompilé avec une configuration différente.

Le tableau suivant présente les catégories de journalisation utilisées par open62541 :

Catégorie de journalisation Open62541Description
qt.opcua.plugins.open62541.sdk.networkMessages générés par le réseau open62541
qt.opcua.plugins.open62541.sdk.securechannelMessages générés par le canal open62541
qt.opcua.plugins.open62541.sdk.sessionMessages générés par la session open62541
qt.opcua.plugins.open62541.sdk.serverMessages générés par les composants serveur open62541
qt.opcua.plugins.open62541.sdk.clientMessages générés par le client open62541
qt.opcua.plugins.open62541.sdk.userlandMessages générés par l'environnement utilisateur open62541
qt.opcua.plugins.open62541.sdk.securitypolicyMessages générés par les politiques de sécurité open62541

Licences

Le module « Qt OPC UA » est disponible sous licence commerciale auprès de The Qt Company. Il est également disponible sous licence de logiciel libre. Ces licences de logiciel libre sont la Licence publique générale restreinte GNU, version 3, ou la Licence publique générale GNU, version 2. Pour plus de détails, consultez la page Licences Qt.

Qt OPC UA Dans Qt 6.12.0, il peut contenir des modules tiers sous les licences permissives suivantes :

Open62541, version v1.5.7

la Licence publique Mozilla 2.0, la licence Creative Commons Zero v1.0 Universal, la licence Creative Commons Attribution Share Alike 4.0 International, la licence BSD à 3 clauses « New » ou « Revised », la licence Apache 2.0 et la licence MIT

La liaison à des bibliothèques externes implique les licences des fournisseurs de services en arrière-plan.

Open62541

Le plugin Open62541 est disponible sous les mêmes licences que Qt OPC UA. La bibliothèque Open62541 elle-même est sous licence Mozilla Public License v2.0.

La prise en charge de la sécurité est assurée par les plugins OpenSSL de la bibliothèque open62541. Si le plugin open62541 est compilé avec la prise en charge de la sécurité et qu’OpenSSL n’est pas disponible sur le système cible, le plugin open62541 ne pourra pas se charger.

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