Sur cette page

Qt OPC UA Vue d'ensemble

OPC UA est un protocole de modélisation et d'é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 connaître leur structure à l'avance.

Chaque nœud possède un identifiant unique et des attributs qui peuvent être lus et écrits. Il existe notamment des nœuds Variable qui stockent des valeurs et des nœuds Méthode appelables avec des nœuds attachés décrivant les paramètres et les valeurs de retour. Il est également possible de recevoir des notifications en cas d'événements et de surveiller les changements de valeur des nœuds variables.

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éétablis qui peuvent être étendus pour répondre à des besoins particuliers.

OPC UA est le successeur d'OPC Classic, indépendant de la plate-forme, destiné à être utilisé à tous les niveaux, depuis les capteurs intégrés jusqu'aux systèmes d'exécution de la fabrication et de planification des ressources de l'entreprise. Il possède une architecture orientée service basée sur des messages standardisés pour les demandes de service et les réponses. Ces messages peuvent être codés de différentes manières et transportés sur le réseau. La méthode la plus courante est le codage binaire sur TCP.

Fonctionnalités du protocole OPC UA mises en œuvre

Le tableau suivant résume les caractéristiques d'OPC UA qui sont prises en charge par Qt OPC UA.

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

Types de données

Un sous-ensemble de 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, Int64Directement utilisé
UInt16, UInt32, UInt64Directement utilisé
octetquint8
Octetqint8
BooléenDirectement utilisé
DoubleDirectement utilisé
FlottantDirectement utilisé
ChaîneQString
Texte localiséQOpcUaLocalizedText
DateTimeQDateTime
Chaîne d'octetsQByteArray
XmlElementQString
NodeIdQString
GUIDQUuid
Nom qualifiéQOpcUaQualifiedName
Code d'étatQOpcUa::UaStatusCode
PlageQOpcUaRange
EUInformationQOpcUaEUInformation
Numéro complexeQOpcUaComplexNumber
DoubleComplexNumberQOpcUaDoubleComplexNumber
Information sur l'axeQOpcUaAxisInformation
XVQOpcUaXValue
ArgumentQOpcUaArgument
ExpandedNodeIdQOpcUaExpandedNodeId
ExtensionObjectQOpcUaExtensionObject
StructureDefinitionQOpcUaStructureDefinition
StructureFieldQOpcUaStructureField
EnumDefinitionQOpcUaEnumDefinition
Champ d'énumérationQOpcUaEnumField
DiagnosticInfoQOpcUaDiagnosticInfo
SimpleAttributeOperandQOpcUaSimpleAttributeOperand
AttributOperandQOpcUaAttributeOperand
Commande littéraleQOpcUaLiteralOperand
ElementOperandQOpcUaElementOperand
RelativePathElementQOpcUaRelativePathElement
Élément ContentFilterQOpcUaContentFilterElement
Filtre d'événementQOpcUaMonitoringParameters::EventFilter

Classes et propriété

Deux classes importantes sont exposées à l'utilisateur : QOpcUaClient et QOpcUaNode.

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

Catégories de journalisation

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

Catégorie de journalisationDescription de la catégorie
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 pour open62541, qui est configuré au moment de la compilation. La valeur par défaut est 300, ce qui permet d'obtenir : info, warning, error et critical. Pour obtenir une sortie moins ou plus verbeuse, le sdk open62541 doit être reconstruit avec une configuration différente.

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

Catégorie de journalisation d'Open62541Catégorie de journalisation Description
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 du 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'open62541 userland
qt.opcua.plugins.open62541.sdk.securitypolicyMessages générés par les politiques de sécurité de l'open62541

Licences

Le module Qt OPC UA est disponible sous licence commerciale auprès de The Qt Company. En outre, il est disponible sous des licences de logiciel libre. Ces licences de logiciel libre sont la GNU Lesser General Public License, version 3, ou la GNU General Public License, version 2. Voir Qt Licensing pour plus de détails.

Qt OPC UA La version 6.11.0 de Qt peut contenir des modules de tierces parties sous les licences permissives suivantes :

Open62541, version 1.4.14

Mozilla Public License 2.0 et Creative Commons Zero v1.0 Universal et Creative Commons Attribution Share Alike 4.0 International et BSD 3-Clause "New" or "Revised" License et Apache License 2.0 et MIT License.

L'établissement de liens avec des bibliothèques externes implique l'obtention de licences auprès des fournisseurs de backend.

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 sécurité est assurée par les plugins OpenSSL de la bibliothèque open62541. Si le plugin open62541 est construit avec un support de sécurité et qu'OpenSSL n'est pas disponible sur le système cible, le plugin open62541 ne se chargera pas.

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