Intégration · Communication industrielle

Relier les machines OPC UA de votre atelier à votre logiciel métier

OPC UA est un standard de communication industrielle publié par l'OPC Foundation : un logiciel métier s'y connecte en client du serveur OPC UA intégré à l'automate ou à la machine, lit et écrit des variables, appelle des méthodes et s'abonne aux changements de valeur et aux alarmes. Le standard prévoit aussi un modèle de publication et d'abonnement (PubSub) sur UDP ou via un broker MQTT ou AMQP.

L'essentiel

  • La spécification OPC UA de l'OPC Foundation compte 26 parties ; les parties 1 à 5 décrivent les concepts de base et sont à lire en premier.
  • OPC UA propose trois modes de sécurité des messages, None, Sign et SignAndEncrypt ; le profil None n'apporte aucune sécurité et doit être désactivé par défaut.
  • Chaque application OPC UA possède un certificat X.509 d'instance d'application, échangé et vérifié à l'ouverture du canal sécurisé.
  • Avec un abonnement OPC UA, le logiciel métier ne reçoit une notification que lorsqu'une valeur surveillée change ou qu'une alarme survient.
  • Selon la partie 6 de la spécification, l'adresse bien connue du serveur de découverte local OPC UA est opc.tcp://localhost:4840/UADiscovery, soit le port 4840.

Ce qu'un logiciel peut lire, écrire et recevoir d'une machine OPC UA

Un serveur OPC UA expose la machine sous la forme d'un espace d'adressage : un ensemble de nœuds (objets, variables, méthodes) reliés entre eux, que le client parcourt comme une arborescence. La vitesse d'un convoyeur est une variable, le démarrage d'un cycle peut être une méthode, une température hors tolérance déclenche un événement. La spécification de l'OPC Foundation, publiée en 26 parties dans sa version 1.05, découpe ces fonctions ainsi :

Besoin du logiciel métierMécanisme OPC UAPartie de la spécification
Parcourir ce que la machine exposeEspace d'adressage, vuesPartie 3 (Address Space Model)
Lire ou écrire une valeurAttribute Service SetPartie 4 (Services)
Lancer une action sur la machineMethod Service SetPartie 4
Être prévenu d'un changementMonitoredItems et SubscriptionsPartie 4
Recevoir alarmes et acquittementsAlarms and ConditionsPartie 9
Relire un historiqueHistorical AccessPartie 11
Diffuser sans connexion directePubSubPartie 14

Les échanges utilisent l'encodage binaire OPC UA, XML ou JSON, sur OPC UA TCP, HTTPS ou WebSockets, d'après la partie 6. Il n'existe ni clé d'API ni compte chez un éditeur : l'accès se règle entre votre logiciel et chaque machine, par certificats et identités d'utilisateur.

Abonnements ou PubSub : deux façons de recevoir les données

Dans le modèle client-serveur, le logiciel ouvre une session sur la machine et crée des MonitoredItems, un par donnée à surveiller. Chaque MonitoredItem échantillonne sa variable à sa propre cadence, qui peut être plus rapide que la cadence de publication, et garde en file soit toutes les notifications, soit seulement la dernière. Une Subscription publie périodiquement ces notifications vers le client. Résultat : le logiciel n'interroge pas la machine en boucle, il reçoit les changements.

Le modèle PubSub, décrit dans la partie 14, supprime la connexion directe. La machine publie ses données vers un intermédiaire sans savoir qui les lit, et les abonnés s'y intéressent sans connaître la machine. Deux variantes existent :

  • sans broker : les messages circulent sur le réseau en datagrammes, par exemple en UDP multicast, adapté à un réseau d'atelier ;
  • avec broker : les messages passent par AMQP ou MQTT, vers des files ou des sujets que les abonnés écoutent.

La charge d'une machine qui publie ne dépend pas du nombre de lecteurs : utile quand l'ERP, la supervision et un tableau de bord veulent les mêmes données. Notre page MQTT détaille le fonctionnement d'un broker.

Comment OPC UA sécurise-t-il les échanges ?

La partie 2 de la spécification (Security Model, version 1.05.06) couvre notamment l'authentification des applications et des utilisateurs, l'autorisation, l'intégrité et la confidentialité des messages, et la traçabilité.

  • Applications : chaque application OPC UA reçoit un certificat X.509 version 3 qui l'identifie de façon unique. Il est échangé à l'ouverture du canal sécurisé, et chaque partie le compare à sa liste de confiance.
  • Messages : trois modes, None, Sign (signature, pour l'intégrité) et SignAndEncrypt (signature et chiffrement). Selon la partie 2, Sign suffit quand la confidentialité n'est pas requise, et le profil None, qui n'offre aucune sécurité, sert aux tests et doit être désactivé par défaut.
  • Utilisateurs : l'identité est transmise une fois, à l'ouverture de la session, sur un canal déjà sécurisé.
  • Droits : l'autorisation peut s'appuyer sur des rôles standard, de l'observateur (Observer) à l'administrateur de sécurité (SecurityAdmin), en passant par l'opérateur et l'ingénieur.
  • Traçabilité : le modèle prévoit des journaux d'audit reliant les traces du client et du serveur.

La spécification cite la norme ISA/IEC 62443-4-2 parmi ses références et rappelle le rôle des protections de périmètre comme les pare-feux. OPC UA sécurise le dialogue, pas le réseau : la segmentation reste indispensable.

Quatre liaisons utiles entre l'atelier et la gestion

  1. La déclaration de production sans ressaisie. Le logiciel s'abonne aux compteurs de pièces bonnes et de rebuts. À chaque fin de poste, le service d'intégration calcule les quantités et les déclare sur l'ordre de fabrication dans l'ERP. Le chef d'atelier ne recopie plus de feuille.
  2. L'alarme qui crée la demande d'intervention. Une condition d'alarme passe à l'état actif ; le logiciel crée une demande dans la GMAO avec la machine, le code et l'heure. L'acquittement côté machine est consigné dans la demande. Les budgets de ce type d'outil sont détaillés sur la page prix d'une GMAO sur mesure.
  3. La recette envoyée depuis l'ordre de fabrication. L'ERP lance un OF ; le logiciel écrit les paramètres de la recette dans les variables prévues, ou appelle une méthode de chargement si la machine en expose une, puis relit les valeurs pour vérifier. L'opérateur confirme sur l'écran de la machine avant le démarrage.
  4. Le dossier de lot complet. À chaque cycle, le numéro de lot et les paramètres du procédé (température, pression, durée) sont horodatés et rattachés au lot dans la base de traçabilité, consultable lors d'une réclamation client. Voir notre page pour tracer vos lots de production.

Déroulé d'un raccordement OPC UA

  1. Inventaire des machines : lesquelles ont un serveur OPC UA activé, quels nœuds elles exposent, quelles politiques de sécurité elles acceptent. La liste des variables utiles est demandée au constructeur.
  2. Échange des certificats avec le responsable maintenance : le certificat du logiciel est ajouté à la liste de confiance de chaque machine, et inversement.
  3. Lecture seule d'abord : abonnements aux compteurs et aux états, sur une machine pilote, sans rien écrire.
  4. Écriture ensuite, testée machine à l'arrêt, avec l'accord du constructeur quand la machine est sous garantie.
  5. Généralisation machine par machine, puis branchement à l'ERP et au tableau de bord.

La démarche d'ensemble, de l'automate au logiciel de gestion, figure sur la page relier automates et supervision à votre ERP.

Les risques propres au monde industriel

  • Coupure réseau : le collecteur installé côté atelier garde les valeurs en mémoire tampon et les renvoie au retour de la liaison, sans trou dans l'historique.
  • Reconnexion et doublons : après une coupure, la session est rétablie et les abonnements recréés ; les valeurs reçues deux fois sont écartées grâce à leur horodatage.
  • Certificats expirés : un certificat arrivé à échéance coupe la liaison du jour au lendemain. Les dates d'expiration sont suivies et le renouvellement planifié.
  • Port de découverte exposé : le port 4840, utilisé par le serveur de découverte local selon la partie 6, ne doit jamais être ouvert vers Internet. Une passerelle dans une zone réseau dédiée fait la liaison avec le bureau.
  • Écritures dangereuses : aucune écriture ne doit pouvoir contourner les sécurités de la machine ; les droits du compte utilisé par le logiciel se limitent aux variables prévues.
  • Données personnelles : les identifiants d'opérateurs dans les journaux relèvent du RGPD, avec une durée de conservation définie.

Passerelle du marché ou développement : ce que YMHB Web propose

Si le constructeur fournit une supervision qui exporte déjà ce dont vous avez besoin, ou si un MES du marché couvre votre suivi de production, ils passent avant un développement. Le sur-mesure prend le relais quand les données doivent rejoindre un ERP ou un logiciel métier spécifique, avec vos règles de calcul.

YMHB Web programme aussi des automates (par exemple Kinco avec KincoBuilder) et des interfaces opérateur (par exemple avec DTools) : quand une donnée manque dans la machine, elle peut être ajoutée au programme plutôt que contournée. Le collecteur et le service d'intégration sont livrés avec leur code, la liste des nœuds lus ou écrits, la procédure de renouvellement des certificats et des alertes en cas de liaison coupée. Pour des équipements plus anciens, voir notre page Modbus, et l'offre complète sur automates, IHM et supervision.

Questions fréquentes

Faut-il une licence ou un compte pour utiliser OPC UA ?

OPC UA ne passe pas par un compte chez un éditeur ni par une clé d'API. La spécification est publiée par l'OPC Foundation, et la liaison se règle directement entre votre logiciel et le serveur OPC UA de chaque machine, par l'échange de certificats X.509 et une identité d'utilisateur. Reste à vérifier auprès du constructeur que le serveur OPC UA de chaque machine est disponible et activé.

Quelle différence entre OPC UA client-serveur et OPC UA PubSub ?

En client-serveur, le logiciel ouvre une session sur la machine et s'abonne aux variables qui l'intéressent ; les échanges se font par requêtes et réponses. En PubSub, défini dans la partie 14 de la spécification, la machine publie ses données vers un intermédiaire (réseau UDP ou broker MQTT ou AMQP) sans connaître ses lecteurs, et sa charge ne dépend pas de leur nombre.

Le mode de sécurité None d'OPC UA est-il acceptable en production ?

Non. Selon la partie 2 de la spécification OPC UA, le profil None n'apporte aucune sécurité, sert aux tests et doit être désactivé par défaut. En production, on utilise au minimum le mode Sign, qui garantit l'intégrité des messages, ou SignAndEncrypt quand la confidentialité des données compte. Les certificats des applications sont alors vérifiés à chaque ouverture de canal.

Quel port utilise OPC UA ?

La partie 6 de la spécification OPC UA définit pour le serveur de découverte local l'adresse bien connue opc.tcp://localhost:4840/UADiscovery, soit le port 4840 en OPC UA TCP, et le port 443 pour les variantes HTTPS et WebSockets. La partie 6 demande que ces adresses restent modifiables par l'administrateur. Aucun de ces ports ne doit être ouvert directement vers Internet.

Une machine ancienne sans OPC UA peut-elle être reliée au logiciel ?

Souvent oui. Si l'équipement parle Modbus, un collecteur sait lire ses registres, et une passerelle peut aussi exposer ses données en OPC UA. Quand l'automate est fermé, des capteurs ajoutés prennent le relais sans toucher au programme. Le choix se fait après l'inventaire de l'atelier, machine par machine.

À lire aussi

Sources

  1. OPC Foundation, OPC 10000-1 (Overview and Concepts, v1.05.06), section 3 : structure de la série en 26 parties
  2. OPC Foundation, OPC 10000-1, section 4.4.1 : Security model (authentification, session, audit, sécurité du transport)
  3. OPC Foundation, OPC 10000-1, section 5.3.5 : MonitoredItems et Subscriptions
  4. OPC Foundation, OPC 10000-1, section 6.9 : MonitoredItem Service Set (échantillonnage, file d'attente)
  5. OPC Foundation, OPC 10000-1, section 5.5 : Publish-Subscribe (UDP multicast, AMQP, MQTT)
  6. OPC Foundation, OPC 10000-2 Security Model (v1.05.06) : objectifs de sécurité, modes de sécurité, certificats, rôles, profil None, pare-feux, ISA/IEC 62443-4-2
  7. OPC Foundation, OPC 10000-6 Mappings : encodages binaire, XML et JSON, transports TCP, HTTPS et WebSockets
  8. OPC Foundation, OPC 10000-6, section 7.6 : Well known addresses (opc.tcp://localhost:4840/UADiscovery, port 443 pour HTTPS et WebSockets, adresses modifiables)

Prêt à démarrer ?

Décrivez-nous votre situation, pas une liste de fonctionnalités.

Réponse sous un jour ouvré, en général par téléphone. Si un outil du marché suffit, nous vous le dirons.

Premier échange sans engagementCadrage avant chiffrage

AppelerDécrire mon problème