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ées | Qt OPC UA type de données |
|---|---|
| Int16, Int32, Int64 | Directement utilisé |
| UInt16, UInt32, UInt64 | Directement utilisé |
| octet | quint8 |
| Octet | qint8 |
| Booléen | Directement utilisé |
| Double | Directement utilisé |
| Flottant | Directement utilisé |
| Chaîne | QString |
| Texte localisé | QOpcUaLocalizedText |
| DateTime | QDateTime |
| Chaîne d'octets | QByteArray |
| XmlElement | QString |
| NodeId | QString |
| GUID | QUuid |
| Nom qualifié | QOpcUaQualifiedName |
| Code d'état | QOpcUa::UaStatusCode |
| Plage | QOpcUaRange |
| EUInformation | QOpcUaEUInformation |
| Numéro complexe | QOpcUaComplexNumber |
| DoubleComplexNumber | QOpcUaDoubleComplexNumber |
| Information sur l'axe | QOpcUaAxisInformation |
| XV | QOpcUaXValue |
| Argument | QOpcUaArgument |
| ExpandedNodeId | QOpcUaExpandedNodeId |
| ExtensionObject | QOpcUaExtensionObject |
| StructureDefinition | QOpcUaStructureDefinition |
| StructureField | QOpcUaStructureField |
| EnumDefinition | QOpcUaEnumDefinition |
| Champ d'énumération | QOpcUaEnumField |
| DiagnosticInfo | QOpcUaDiagnosticInfo |
| SimpleAttributeOperand | QOpcUaSimpleAttributeOperand |
| AttributOperand | QOpcUaAttributeOperand |
| Commande littérale | QOpcUaLiteralOperand |
| ElementOperand | QOpcUaElementOperand |
| RelativePathElement | QOpcUaRelativePathElement |
| Élément ContentFilter | QOpcUaContentFilterElement |
| Filtre d'événement | QOpcUaMonitoringParameters::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 journalisation | Description de la catégorie |
|---|---|
| qt.opcua | Messages indépendants des plugins générés par QOpcUaProvider et QOpcUaClient |
| qt.opcua.plugins.open62541 | Messages 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'Open62541 | Catégorie de journalisation Description |
|---|---|
| qt.opcua.plugins.open62541.sdk.network | Messages générés par le réseau open62541 |
| qt.opcua.plugins.open62541.sdk.securechannel | Messages générés par le canal open62541 |
| qt.opcua.plugins.open62541.sdk.session | Messages générés par la session open62541 |
| qt.opcua.plugins.open62541.sdk.server | Messages générés par les composants du serveur open62541 |
| qt.opcua.plugins.open62541.sdk.client | Messages générés par le client open62541 |
| qt.opcua.plugins.open62541.sdk.userland | Messages générés par l'open62541 userland |
| qt.opcua.plugins.open62541.sdk.securitypolicy | Messages 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 :
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.