Lokale OPC UA-Erkennung
Erkennungsserver ermöglichen es OPC UA-Clients, Details über einen oder mehrere OPC UA-Server von einem einzigen Punkt aus zu erhalten.
Es gibt zwei Arten von OPC UA-Discovery-Servern:
- Lokale Erkennungsserver (LDS)
- Global Discovery Server (GDS)
Dieser Artikel zeigt, wie ein OPC UA-Server bei einem LDS registriert wird und wie ein OPC UA-Client diesen LDS verwenden kann, um sich mit dem OPC UA-Server zu verbinden.
Einführung
Wie der Name schon sagt, kann ein Local Discovery Server (LDS) auf demselben Gerät wie ein oder mehrere OPC UA-Server ausgeführt werden. Beispielsweise ist es möglich, neben dem OPC UA-Server, der in der PLCnext Runtime enthalten ist, einen oder mehrere OPC UA-Server auf einem PLCnext Control-Gerät zu installieren. Wenn auf diesem PLCnext Control-Gerät auch ein LDS installiert ist, können sich alle OPC UA-Server auf diesem Gerät beim LDS registrieren. Dann kann ein Remote-OPC-UA-Client einfach den LDS nach den Details aller OPC-UA-Server abfragen, die auf diesem PLCnext Control-Gerät ausgeführt werden, und diese Details verwenden, um sich direkt mit einem oder mehreren dieser OPC-UA-Server zu verbinden.
Etwas verwirrenderweise ist es auch möglich, dass sich ein OPC UA-Server bei einem LDS registriert, das auf einer Remote läuft Maschine. Auf diese Weise kann ein einzelner LDS von einem OPC UA-Client verwendet werden, um alle OPC UA-Server zu erkennen, die in einem gesamten Netzwerk von Geräten ausgeführt werden.
Eine gute Einführung in OPC UA Discovery Server finden Sie in diesem Artikel von Unified Automation:
https://documentation.unified-automation.com/uasdkdotnet/2.5.2/html/L2UaDiscoveryConnect.html
Hintergrund
Bevor Sie die Schritte in diesem Artikel ausführen, sollten Sie Folgendes verstehen:
- Grundlegende OPC UA-Serverkonfiguration.
- So verbinden Sie einen Client mit dem OPC UA-Server auf einem PLCnext Control-Gerät.
- Wie Sicherheitszertifikate auf einem PLCnext Control-Gerät gespeichert und verwaltet werden.
Verfahren
Für dieses Beispiel sieht die Netzwerkkonfiguration wie folgt aus:
OPC UA Server: AXC F 2152 FW 2020.6.1
IP address: 192.168.1.10
DNS name: axc-f-2152-1
Local Discovery Server: Windows 10 PC
IP address: 192.168.1.42
DNS name: mypc.mycompany.com
OPC UA Client: Debian 10 PC
IP address: 192.168.1.3
Diese IP-Adressen und DNS-Namen werden in diesem Artikel verwendet, aber natürlich sollten Sie diese für Ihre eigene Anwendung ändern.
DNS-Namen einrichten
Wenn Ihr Netzwerk keinen DNS-Server enthält, bearbeiten Sie hosts
Datei auf jedem Gerät.
Die hosts-Datei befindet sich im folgenden Verzeichnis:
- Windows:
C:\Windows\System32\drivers\etc\
- Linux:
/etc/
Fügen Sie die folgenden neuen DNS-Einträge hinzu (ersetzen Sie die IP-Adressen und DNS-Namen für Ihre Anwendung):
Fügen Sie auf der SPS den LDS:
hinzu192.168.1.42 mypc.mycompany.com
Fügen Sie auf dem LDS-Computer die SPS hinzu:
192.168.1.10 axc-f-2152-1
Fügen Sie auf dem OPC UA Client-Computer sowohl den LDS als auch die SPS hinzu:
192.168.1.42 mypc.mycompany.com
192.168.1.10 axc-f-2152-1
Prüfen Sie, ob alle Einträge korrekt sind, indem Sie die DNS-Namen anpingen (nicht die IP-Adressen), die Sie auf jedem Gerät eingerichtet haben.
Installieren Sie den Local Discovery Server
Die OPC Foundation stellt einen Local Discovery Server in Form einer Windows-basierten ausführbaren Datei bereit. Diese kann kostenlos (nach Registrierung) von dieser Seite heruntergeladen werden:
https://opcfoundation.org/developer-tools/samples-and-tools-unified-architecture/local-discovery-server-lds/
Laden Sie dieses LDS herunter und installieren Sie es auf dem Windows-Rechner.
Installieren Sie den OPC UA-Client
Dieses Beispiel verwendet UaExpert von Unified Automation:
https://www.unified-automation.com/products/development-tools/uaexpert.html
Laden Sie UaExpert herunter und installieren Sie es auf dem OPC UA Client-Rechner.
Zertifikate suchen
Die verschiedenen OPC UA-Komponenten – Server, Client und LDS – müssen einander vertrauen, um eine sichere Kommunikation zu gewährleisten. Vertrauen kann erreicht werden, indem öffentliche Zertifikate ausgetauscht werden – das heißt, indem das öffentliche Zertifikat jeder Komponente in den „Trust Store“ für Komponenten gestellt wird, die ihm vertrauen müssen.
Das öffentliche Zertifikat für jede Komponente finden Sie wie folgt:
OPC UA-Server
Das Gerätezertifikat befindet sich standardmäßig im „OPC UA-self-signed“ Identity Store. Dies ist anders, wenn Sie Ihr eigenes Zertifikat verwenden.
Das OPC UA-Serverzertifikat kann von der Web Based Management-Seite der SPS heruntergeladen werden. Das Zertifikat muss dann vom PEM-Format in das DER-Format konvertiert werden, um von den anderen Komponenten verwendet zu werden. Es gibt eine große Anzahl kostenloser Tools, die für diese Konvertierung verwendet werden können, einschließlich openssl
Linux-Befehlszeilentool. Ein Beispiel für den Bash-Befehl, den Sie verwenden könnten, ist:
openssl x509 -outform der -in OPC\ UA-self-signed_certificate.crt -out uaserver.der
LDS-Server
Standardmäßig befindet sich das Zertifikat für den LDS hier:
C:\ProgramData\OPC Foundation\UA\pki\own\certs\ualdscert.der
OPC UA-Client
- Wählen Sie in UaExpert den Menüpunkt Einstellungen -> Zertifikate verwalten.
- Klicken Sie auf die Schaltfläche „Anwendungszertifikat kopieren nach…“.
- Speichern Sie das Zertifikat an einem griffbereiten Ort.
Zertifikate in Trust Stores kopieren
Kopieren Sie jedes Zertifikat (im .der-Format) in die Truststores für die anderen beiden Komponenten.
Der Trust Store für jede Komponente kann wie folgt gefunden werden:
OPC UA-Server (SPS)
Der Vertrauensspeicher ist der Ordner /opt/plcnext/Security/TrustStores/Empty/trusted
LDS
Der Vertrauensspeicher ist der Ordner C:\ProgramData\OPC Foundation\UA\pki\trusted\certs
OPC UA-Client (UaExpert)
- Wählen Sie in UaExpert den Menüpunkt Einstellungen -> Zertifikate verwalten.
- Klicken Sie auf die Schaltfläche „Zertifikatspeicherort öffnen“. Dies ist der Vertrauensspeicher für UaExpert.
Alle Firewalls prüfen
Überprüfen Sie zumindest, ob die Firewall auf dem LDS-Server Datenverkehr auf Port 4840 zulässt.
Konfigurieren Sie den OPC UA Server in PLCnext Engineer
In PLCnext Engineer im OPC UA Konfigurationsfenster:
- Überprüfen Sie Folgendes:
- Der DNS-Name ist derselbe wie der zuvor konfigurierte.
- „Sichtbarkeit von Variablen“ ist nicht „Keine“.
- Discovery-Registrierung aktivieren
- Setzen Sie die Server-URL auf
opc.tcp://mypc.mycompany.com:4840
(durch den DNS-Namen Ihres LDS-Rechners ersetzen)
Schreiben Sie das PLCnext Engineer-Projekt auf die SPS.
Die SPS wird nun automatisch versuchen, den OPC UA Server beim LDS zu registrieren.
Erkennen und verbinden Sie sich mit dem OPC UA-Server
- Klicken Sie in UaExpert auf die Schaltfläche + (Plus) in der Symbolleiste.
- Klicken Sie mit der rechten Maustaste auf den Zweig „Lokal“ der Baumansicht und wählen Sie „Discovery-URL bearbeiten“ aus.
- Geben Sie im Textfeld
opc.tcp://mypc.mycompany.com:4840
ein (Ersetzen Sie den DNS-Namen Ihres LDS-Rechners) und klicken Sie auf OK.
Der OPC UA-Server sollte im lokalen Zweig der Baumstruktur erscheinen. Mit diesen Angaben können Sie sich nun wie gewohnt mit dem OPC UA Server verbinden.
Fehlerbehebung
- Die LDS-Protokolldatei befindet sich hier:
C:\ProgramData\OPC Foundation\UA\Discovery\opcualds.log
Es ist möglich, den LogLevel (und viele andere Parameter) in der folgenden Datei zu ändern:C:\ProgramData\OPC Foundation\UA\Discovery\ualds.ini
LogLevel = debug
enthält die detailliertesten Protokollinformationen. Nach dem Ändern der LDS-Einstellungen kann es erforderlich sein, den LDS über die Windows-Konsole „Dienste“ neu zu starten. Der Anzeigename des LDS lautet „OPC UA Local Discovery Server“. - Beachten Sie, dass der LDS die URL des OPC UA-Servers möglicherweise mit
.local.
zurückgibt an den DNS-Namen angehängt. Dieser DNS-Name sollte von einem Multicast-mDNS-Server auflösbar sein. Wenn dieser DNS-Name nicht aufgelöst werden kann, erscheint eine Fehlermeldung mit der URL im UaExpert-Protokollfenster. Es würde den Rahmen dieses Tutorials sprengen, zu beschreiben, wie ein Multicast-DNS-Server installiert und konfiguriert wird, um DNS-Namen mit einem.local.
aufzulösen Suffix.
Schlussfolgerung
Offensichtlich bringt die Verwendung eines LDS keinen großen Vorteil, wenn es nur einen OPC UA-Server in einem Netzwerk gibt. Aber für Netzwerke, die eine große Anzahl von OPC UA-Servern umfassen, bietet ein LDS eine bequeme Möglichkeit, diese Server zu durchsuchen und sich mit ihnen zu verbinden.
Industrietechnik
- Python Globale, lokale und nicht lokale Variablen
- Die Antwort von Discovery auf Herausforderungen in der Lieferkette
- Variablenbereich in C++
- Java 10 – Inferenz lokaler Variablentypen
- Welche Vorteile bietet die Zusammenarbeit mit einem örtlichen Metallverarbeiter?
- Der Prozess der Entdeckung und warum ist er wichtig für Ihre Entwicklungsprojekte?
- Lokale vs. globale Systeme zur Produktionssteuerung
- Wie B2B-Unternehmen ihre SEO verbessern können
- OPC UA Zertifikat „Push Management“
- So rufen Sie einen Funktionsblock von einem OPC UA-Client mithilfe eines Informationsmodells auf