dimanche 5 février 2023

[IT] OPC-UA

 

Plus connu sous l’acronyme OPC UA, le protocole 'OPen Connectivity – Unified Architecture' est un standard d’échange de données adapté aux besoins des systèmes industriels. Il est particulièrement dédié à l’Internet Industriel des Objets (IoT ou IIoT).

1. Historique :

La norme OPC est maintenue par la fondation OPC, consortium industriel regroupant un ensemble hétéroclite de constructeurs qui crée et maintient les standards et les normes de l’automation.

Hormis la standardisation du dialogue entre machines et systèmes d’information, le protocole OPC-UA est d’abord élaboré pour la sécurisation des flux de données lors des échanges intra et/ou inter-équipements d’automatisme industriel.

Il est important de préciser que c’est un standard ouvert. Il est par exemple possible de partir du projet Open62541 directement disponible sur la plateforme de gestion de code source github. Cette version est écrite en C99 et C++. Mais il existe aussi des partages plus officiel comme l’OPC Foundation qui propose des librairies en .NET.

2. Architecture :

Ce protocole repose sur le principe de client-serveur. Un serveur OPC est un logiciel adapté à un ou plusieurs constructeurs d’automates/machines. Un serveur OPC "sert" des données au client qui les "réclame".

Le plus souvent installé sur le même serveur que l’application, ce serveur client se connecte aux automates par l’intermédiaire d’un réseaux Ethernet "classique".

Le client va sélectionner, trier et traduire les informations renvoyées par l’automate pour les traiter dans son logiciel.

Comme les serveurs peuvent à la fois être des clients eux-mêmes, ils peuvent aussi collecter et compiler des données d’autres serveurs à leurs propres clients, et ainsi de suite. Les informations échangées s’adaptent à chaque équipement.

3. Avantages :

  • Un standard ouvert
  • Il est conçu pour l’interopérabilité
  • Son concept de "Publisher/subscriber"
  • Il est conçu sur une architecture orientée service appelée SOA (Service oriented Architecture)
  • La sécurité de transmission a été intégrée dès sa conception que ce soit au niveau de l’authentification ou lors des échanges de données
  • Il est flexible et évolutif grâce aux nombreuses implémentations que ce soit en C/C++ mais aussi en Java, .NET, NodeJS ou encore Python
  • Une large compatibilité dans l'industrie actuelle
  • De grands industriels ont dores et déjà implémentés cette norme

Aucun commentaire:

Enregistrer un commentaire