Utiliser les serveurs de découverte locaux OPC UA (LDS) pour l'enregistrement et la connexion efficaces
Les serveurs de découverte permettent aux clients OPC UA d'obtenir des détails sur un ou plusieurs serveurs OPC UA depuis un point unique.
Il existe deux types de serveurs de découverte OPC UA :
- Local Discovery Servers (LDS)
- Global Discovery Servers (GDS)
Cet article montre comment enregistrer un serveur OPC UA auprès d'un LDS, et comment un client OPC UA peut utiliser ce LDS pour se connecter au serveur.
Introduction
Comme son nom l'indique, un Local Discovery Server (LDS) peut s'exécuter sur le même périphérique qu'un ou plusieurs serveurs OPC UA. Par exemple, on peut installer un ou plusieurs serveurs OPC UA sur un contrôleur PLCnext Control, aux côtés du serveur OPC UA inclus dans le PLCnext Runtime. Si un LDS est aussi installé sur ce contrôleur, tous les serveurs OPC UA de ce périphérique peuvent s'enregistrer auprès du LDS. Un client OPC UA distant peut alors interroger le LDS pour obtenir les détails de tous les serveurs OPC UA sur ce contrôleur, et utiliser ces détails pour se connecter directement à l'un ou plusieurs d'entre eux.
Plus déroutant, un serveur OPC UA peut aussi s'enregistrer auprès d'un LDS sur une machine distante. Ainsi, un seul LDS permet à un client OPC UA de découvrir tous les serveurs OPC UA d'un réseau entier de périphériques.
Bonne introduction aux serveurs de découverte OPC UA chez Unified Automation :
https://documentation.unified-automation.com/uasdkdotnet/2.5.2/html/L2UaDiscoveryConnect.html
Prérequis
Avant de suivre les étapes, comprenez :
- Configuration de base d'un serveur OPC UA.
- Connexion d'un client au serveur OPC UA sur PLCnext Control.
- Stockage et gestion des certificats de sécurité sur PLCnext Control.
Procédure
Configuration réseau pour l'exemple :
Serveur OPC UA : AXC F 2152 FW 2020.6.1 IP: 192.168.1.10 DNS: axc-f-2152-1
Local Discovery Server : PC Windows 10 IP: 192.168.1.42 DNS: mypc.mycompany.com
Client OPC UA : PC Debian 10 IP: 192.168.1.3
Ces IP et DNS sont utilisés dans l'article, adaptez-les à votre cas.
Configurer les noms DNS
Sans serveur DNS, éditez le fichier hosts sur chaque périphérique.
- Windows :
C:\Windows\System32\drivers\etc\ - Linux :
/etc/
Ajoutez les entrées DNS (adaptez IP et noms) :
Sur le PLC, ajoutez le LDS :
192.168.1.42 mypc.mycompany.com
Sur la machine LDS, ajoutez le PLC :
192.168.1.10 axc-f-2152-1
Sur la machine client OPC UA, ajoutez les deux :
192.168.1.42 mypc.mycompany.com
192.168.1.10 axc-f-2152-1
Vérifiez en pingant les noms DNS (pas les IP) configurés sur chaque périphérique.
Installer le Local Discovery Server
L'OPC Foundation fournit un LDS sous forme d'exécutable Windows. Téléchargement gratuit (après inscription) :
Téléchargez et installez ce LDS sur la machine Windows.
Installer le client OPC UA
Exemple avec UaExpert de Unified Automation :
https://www.unified-automation.com/products/development-tools/uaexpert.html
Téléchargez et installez UaExpert sur la machine client.
Localiser les certificats
Les composants OPC UA (Serveur, Client, LDS) doivent se faire confiance pour des communications sécurisées. La confiance s'obtient en échangeant les certificats publics – placer le certificat public de chaque composant dans le « trust store » des composants qui doivent lui faire confiance.
Serveur OPC UA
Le certificat du périphérique se trouve par défaut dans l'Identity Store « OPC UA-self-signed ». Différent si vous utilisez votre propre certificat.
Téléchargez le certificat du serveur OPC UA depuis la page Web-Based Management du PLC. Convertissez-le de PEM vers DER pour les autres composants. De nombreux outils gratuits existent, dont openssl en ligne de commande Linux. Exemple :
openssl x509 -outform der -in "OPC UA-self-signed_certificate.crt" -out uaserver.der
Serveur LDS
Par défaut, le certificat LDS se trouve ici :
C:\ProgramData\OPC Foundation\UA\pki\own\certs\ualdscert.der
Client OPC UA
- Dans UaExpert, menu Settings > Manage Certificates.
- Cliquer « Copy Application Certificate To… ».
- Sauvegarder le certificat quelque part.
Copier les certificats dans les Trust Stores
Copiez chaque certificat (format .der) dans les trust stores des deux autres composants.
Serveur OPC UA (PLC)
Trust store : dossier /opt/plcnext/Security/TrustStores/Empty/trusted
LDS
Trust store : dossier C:\ProgramData\OPC Foundation\UA\pki\trusted\certs
Client OPC UA (UaExpert)
- Dans UaExpert, Settings > Manage Certificates.
- Cliquer « Open Certificate Location ». C'est le trust store d'UaExpert.
Vérifier tous les pare-feux
Au minimum, vérifiez que le pare-feu du serveur LDS autorise le trafic sur le port 4840.
Configurer le serveur OPC UA dans PLCnext Engineer
Dans PLCnext Engineer, fenêtre de configuration OPC UA :
- Vérifier que :
- Le nom DNS correspond à celui configuré plus haut.
- « Visibilité des variables » n'est pas « None ».
- Activer Discovery Registration
- Définir Server URL sur
opc.tcp://mypc.mycompany.com:4840(remplacez par le DNS de votre machine LDS)
Écrire le projet PLCnext Engineer sur le PLC.
Le PLC tentera maintenant automatiquement d'enregistrer le serveur OPC UA auprès du LDS.
Découvrir et se connecter au serveur OPC UA
- Dans UaExpert, cliquer le bouton + (plus) dans la barre d'outils.
- Clic droit sur la branche « Local » de l'arborescence, sélectionner « Edit Discovery URL ».
- Entrer
opc.tcp://mypc.mycompany.com:4840(DNS de votre machine LDS), cliquer OK.
Le serveur OPC UA doit apparaître dans la branche Local. Utilisez ces détails pour vous connecter normalement.
Dépannage
- Fichier log LDS :
C:\ProgramData\OPC Foundation\UA\Discovery\opcualds.log. Modifier LogLevel (et autres paramètres) dansC:\ProgramData\OPC Foundation\UA\Discovery\ualds.ini.LogLevel = debugpour logs détaillés. Après modification, redémarrer le LDS via la console Windows « Services » (nom d'affichage : « OPC UA Local Discovery Server »). - Le LDS peut retourner l'URL du serveur OPC UA avec
.local.ajouté au nom DNS. Ce nom doit être résolvable par un serveur mDNS multicast. Si non résoluble, une erreur avec l'URL apparaît dans la fenêtre log UaExpert. L'installation/configuration d'un serveur mDNS pour résoudre les suffixes.local.dépasse le cadre de ce tutoriel.
Conclusion
L'intérêt d'un LDS est limité avec un seul serveur OPC UA sur un réseau. Mais pour les réseaux avec de nombreux serveurs OPC UA, un LDS offre un moyen pratique de parcourir et se connecter à ces serveurs.
Technologie industrielle
- Comprendre les variables globales, locales et non locales en Python
- La solution IoT de Discovery transforme la gestion de la supply chain
- Comprendre la portée des variables en C++ : Variables locales vs globales
- Java 10 : Maîtriser l'inférence de type pour variables locales (var)
- Pourquoi s'associer à un fabricant métallique local améliore la fiabilité et la rentabilité
- Maîtriser la phase de découverte : pourquoi elle garantit le succès des projets de développement
- Contrôle de production local vs global : quel système favorise l'efficacité ?
- Stratégies SEO éprouvées pour entreprises B2B : visibilité et croissance
- Déploiement centralisé de certificats OPC UA via GDS Push Management