Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Industrietechnik

OPC UA Client auf PLCnext Control konfigurieren: Schritt-für-Schritt-Anleitung

Firmware-Version 2023.0 enthält die lang erwartete OPC UA Client-Komponente. Das PLCnext Info Center enthält eine gute technische Referenz für diese Funktion.

Dieses Tutorial ist eine Schritt-für-Schritt-Anleitung, die zeigt, wie man den OPC UA Client in einem PLCnext Control Gerät konfiguriert, damit er Daten mit einem OPC UA Server austauscht.

Sie benötigen:

Einer der wichtigsten Punkte bei der Konfiguration von OPC UA-Kommunikation ist, dass der OPC UA Client und der OPC UA Server aus Sicherheitsgründen einander vertrauen müssen. Daher müssen Sicherheitszertifikate zwischen Client- und Server-Geräten ausgetauscht werden. Dieses Verfahren beinhaltet das Hin- und Herspringen zwischen Client- und Server-Gerät, was etwas verwirrend sein kann. Wenn Sie Vorschläge haben, wie das Verfahren vereinfacht werden kann (ohne die Sicherheitsprüfungen zu deaktivieren!), fühlen Sie sich frei, diese in den Kommentaren hinzuzufügen.

Vorgehensweise

OPC UA Server-Gerät

  1. Öffnen Sie die webbasierte Management-Oberfläche (WBM), indem Sie die IP-Adresse der SPS im Browser aufrufen.

  2. Wählen Sie den Menüpunkt Systemdienste aus dem Konfigurationsmenü.

  3. Aktivieren Sie den OPC UA Server-Dienst, falls er nicht bereits aktiviert ist.

  4. Drücken Sie ggf. die Schaltfläche Anwenden und neu starten.

  5. Öffnen Sie PLCnext Engineer.

  6. Erstellen Sie ein neues PLCnext Engineer Projekt mit der Vorlage für Ihr PLCnext Control Gerät.

  7. Legen Sie die IP-Adresse der SPS im PLCnext Engineer Projekt fest.

  8. Auf der OPC UA Server-Konfigurationsseite:

    • Setzen Sie DNS-Name / IP-Adresse auf den DNS-Namen oder die IP-Adresse der SPS, je nachdem, ob der OPC UA Client über einen DNS-Namen oder die IP-Adresse des Servers auf den Server zugreift. Diese Information wird im OPC UA Server-Sicherheitszertifikat enthalten sein. Viele OPC UA Clients werden das Serverzertifikat ablehnen, wenn diese Information im Zertifikat nicht mit der Server-URL übereinstimmt.

    • Setzen Sie Sichtbarkeit von Variablen auf Markiert. Das bedeutet, dass alle Variablen, die mit dem OPC-Attribut markiert sind, über den OPC UA Server zugänglich sind.

  9. Erstellen Sie Variablen, die vom OPC UA Server bereitgestellt werden. Stellen Sie sicher, dass das OPC-Kontrollkästchen für diese Variablen aktiviert ist. Im folgenden Beispiel wurden zwei Variablen im Hauptprogramm erstellt.

  10. Fügen Sie Logik hinzu, um die Output-Variable zu ändern, wenn ein neuer Input-Wert empfangen wird. In diesem Beispiel führt das Hauptprogramm den folgenden Code aus:

    Server_Data_Out := Server_Data_In + 1;

  11. Schreiben und starten Sie das Projekt.

    Hinweis: PLCnext Engineer Version 2025.0 und höher enthält eine „Browse“-Funktion, die verwendet werden kann, um Variableneinträge im OPC UA Client zu erstellen. Wenn diese Browse-Funktion verwendet wird, ist es nicht notwendig, UaExpert zu verwenden, um Informationen über Servervariablen zu erhalten, und die nächsten drei Schritte können übersprungen werden.

  12. Verwenden Sie UaExpert, um eine Verbindung zum OPC UA Server mit dem SPS-Benutzernamen und -Passwort herzustellen. Sie sollten eine Warnung sehen, dass das Zertifikat „Nicht vertrauenswürdig“ ist, aber es sollten keine anderen Warnungen auftreten.

  13. Vertrauen Sie dem Serverzertifikat, entweder dauerhaft oder nur für diese Sitzung.

  14. Notieren Sie für jede Servervariable den Namen der Node ID und den Namespace für diese Variable.

  15. Öffnen Sie die WBM-Seite für die Server-SPS erneut.

  16. Wählen Sie den Menüpunkt Zertifikatsauthentifizierung aus dem Sicherheitsmenü.

  17. Wählen Sie den Reiter Identity Stores.

  18. Laden Sie das Zertifikat aus dem OPC UA-self-signed [Server] Identity Store herunter. Der Schlüsselpaar muss nicht heruntergeladen werden.

OPC UA Client-Gerät

  1. Öffnen Sie die webbasierte Management-Oberfläche (WBM), indem Sie die IP-Adresse der SPS im Browser aufrufen.

  2. Wählen Sie den Menüpunkt Systemdienste aus dem Konfigurationsmenü.

  3. Aktivieren Sie den OPC UA Client-Dienst, falls er nicht bereits aktiviert ist.

  4. Drücken Sie ggf. die Schaltfläche Anwenden und neu starten.

  5. Wenn der Neustart abgeschlossen ist, melden Sie sich wieder an der WBM an und wählen Sie den Menüpunkt Zertifikatsauthentifizierung aus dem Sicherheitsmenü.

  6. Wählen Sie den Reiter Trust Stores.

  7. Fügen Sie das OPC UA-self-signed [Server] Zertifikat (vorher heruntergeladen) zum Trust Store namens OPC UA Client hinzu. Jetzt vertraut der OPC UA Client dem Sicherheitszertifikat, das der OPC UA Server zur Verifizierung seiner Identität verwendet. Dieser Schritt muss jedes Mal wiederholt werden, wenn sich das Serverzertifikat ändert.

  8. Wählen Sie den Reiter Identity Stores.

  9. Laden Sie das Zertifikat aus dem OPC UA Client self-signed Identity Store herunter. Der Schlüsselpaar muss nicht heruntergeladen werden.

OPC UA Server-Gerät

  1. Öffnen Sie die webbasierte Management-Oberfläche (WBM), indem Sie die IP-Adresse der SPS im Browser aufrufen.

  2. Wählen Sie den Menüpunkt Zertifikatsauthentifizierung aus dem Sicherheitsmenü.

  3. Wählen Sie den Reiter Trust Stores.

  4. Fügen Sie das OPC UA Client self-signed Zertifikat (vorher heruntergeladen) zum Trust Store namens OPC UA-konfigurierbar hinzu. Jetzt vertraut der OPC UA Server dem Sicherheitszertifikat, das der OPC UA Client zur Verifizierung seiner Identität verwendet. Dieser Schritt muss jedes Mal wiederholt werden, wenn sich das Clientzertifikat ändert.

OPC UA Client-Gerät

  1. Öffnen Sie PLCnext Engineer.

  2. Erstellen Sie ein neues PLCnext Engineer Projekt mit der Vorlage für Ihr PLCnext Control Gerät. Wenn Sie dasselbe Gerät für sowohl OPC UA Client als auch OPC UA Server verwenden, wird dasselbe PLCnext Engineer Projekt verwendet.

  3. Legen Sie die IP-Adresse der SPS im PLCnext Engineer Projekt fest.

  4. Nur erforderlich für SPS mit Firmware-Versionen vor 2023.6: Auf der OPC UA Server-Konfigurationsseite setzen Sie Sichtbarkeit von Variablen auf Markiert. Ja, es scheint seltsam, diese OPC UA Server-Einstellung für den OPC UA Client zu verlangen. Dies ist in Firmware-Versionen 2023.6 und höher behoben.

  5. Erstellen Sie Variablen, die mit Variablen im OPC UA Server verbunden werden. Nur erforderlich für SPS mit Firmware-Versionen vor 2023.6: Stellen Sie sicher, dass das OPC-Kontrollkästchen für diese Variablen aktiviert ist (das Kontrollkästchen muss für SPS mit Firmware-Version 2023.6 oder höher nicht aktiviert sein).

    Im folgenden Beispiel wurden zwei Variablen im Hauptprogramm erstellt.

  6. Im Reiter OPC UA Client Connections fügen Sie einen Server und zwei Variablengruppen hinzu, wie unten gezeigt.

    Die Server-URL, der Benutzername und das Passwort sollten an den OPC UA Server angepasst werden, den Sie verwenden.

  7. In der Variablengruppe „Subscribe“ fügen Sie eine Variablenzuordnung hinzu, wie unten gezeigt.

    Dies überträgt den Wert automatisch von der Remote-Variable (auf dem OPC UA Server) auf die lokale Variable im PLCnext Engineer Projekt.

  8. In der Variablengruppe „Write“ fügen Sie eine Variablenzuordnung hinzu, wie unten gezeigt.

    Dies überträgt den Wert automatisch von der lokalen Variable im PLCnext Engineer Projekt auf die Remote-Variable (auf dem OPC UA Server).

  9. Schreiben und starten Sie das PLCnext Engineer Projekt.

  10. Im Debug-Modus ändern Sie den Wert der Variable Client_Data_out. Der Wert wird in die Variable Server_Data_In auf dem OPC UA Server geschrieben. Dieser Wert wird vom Server inkrementiert und in die Variable Server_Data_Out geschrieben. Der Wert dieser Variable wird dann in die Variable Client_Data_In auf dem Client übertragen.

Es funktioniert nicht?

Bitte prüfen Sie den Troubleshooting Guide im PLCnext Info Center (am Ende der Seite).

Häufig gestellte Fragen

F: Kann der Client über Zertifikat/Schlüssel-Authentifizierung mit einem OPC UA Server verbinden?

A: Nein, derzeit nicht.

F: Wie speichert der OPC UA Client das Server-Passwort?

A: Derzeit wird das OPC UA Server-Passwort als Klartext in der Client-Konfigurationsdatei gespeichert, aber die PLCnext Runtime-Entwickler arbeiten an einer sichereren Passwortspeichermethode.

F: Kann ich Qualitätsinformationen (z. B. Status Code, Timestamp) für Daten erhalten, die von einem OPC UA Server gelesen werden?

A: Derzeit nicht, tut uns leid.

Dieser Artikel wurde am 24.03.2025 aktualisiert, um Informationen zur Server-Browse-Funktion einzuschließen, die nun in PLCnext Engineer verfügbar ist.

Anhang: Dateibasierte Konfiguration

Die OPC UA Client-Konfiguration in PLCnext Engineer wird auf dem Controller im XML-Format gespeichert. Für Applikationen, die PLCnext Engineer nicht verwenden, ist es möglich, den OPC UA Client durch direktes Schreiben der XML-Konfiguration auf dem Controller zu konfigurieren.

Die in diesem Beispiel erstellte Konfiguration wird in den folgenden XML-Dateien dargestellt:

  1. Alle erforderlichen Änderungen an den Standard-OPC-UA-Client-Einstellungen sind in der Datei /opt/plcnext/projects/current/Services/OpcUA/Modules/Client/client.module.config definiert:

    <?xml version="1.0" encoding="utf-8" standalone="yes"?> <OpcUAClientModuleConfigurationDocument schemaVersion="1.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://www.phoenixcontact.com/schema/opcuaclientmoduleconfig" xmlns="https://www.phoenixcontact.com/schema/opcuaclientmoduleconfig"> <Application> <CertificateStore> <SelfSignedIdentityStoreName>OPC UA Client self-signed</SelfSignedIdentityStoreName> <GivenIdentityStoreName>OPC UA Client</GivenIdentityStoreName> <TrustStoreName>OPC UA Client</TrustStoreName> </CertificateStore> <SessionSecurity> <ApplicationAuthentication>false</ApplicationAuthentication> <ApplicationUriCheck>true</ApplicationUriCheck> <CertificateHostnameCheck>true</CertificateHostnameCheck> <CertificateTimeCheck>true</CertificateTimeCheck> <CertificateIssuerTimeCheck>true</CertificateIssuerTimeCheck> <PasswordEncryptionCheck>true</PasswordEncryptionCheck> </SessionSecurity> <Timeouts> <SessionTimeout>1200000</SessionTimeout> <ConnectTimeout>5000</ConnectTimeout> <WatchdogTimeout>5000</WatchdogTimeout> <CallTimeout>10000</CallTimeout> </Timeouts> </Application> </OpcUAClientModuleConfigurationDocument> 
  2. OPC UA Client-Verbindungen sind in der Datei /opt/plcnext/projects/current/Services/OpcUA/Modules/Client/Configs/clientconnections.xml definiert:

    <?xml version="1.0" encoding="utf-8"?> <eUAClientConfigurationDocument xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xmlns:uax="https://opcfoundation.org/UA/2008/02/Types.xsd" xmlns="https://phoenixcontact.com/OpcUA/PLCnext/UAClientConfig/Types.xsd"> <eUAClientConfiguration> <Name>ClientConnectionsConfiguration</Name> <NamespaceArray> <uax:String>https://phoenixcontact.com/OpcUA/PLCnext/GlobalDataSpace/</uax:String> </NamespaceArray> <ServerConnections> <eUAClientServerConnection> <EncodingMask>3</EncodingMask> <Endpoint> <uax:EndpointUrl>opc.tcp://192.168.1.10:4840</uax:EndpointUrl> <uax:SecurityMode>Sign_2</uax:SecurityMode> <uax:SecurityPolicyUri>https://opcfoundation.org/UA/SecurityPolicy#Basic256Sha256</uax:SecurityPolicyUri> </Endpoint> <UserTokenType>UserName_1</UserTokenType> <UserName>admin</UserName> <Password>xxxxxxxx</Password> </eUAClientServerConnection> </ServerConnections> <VariableGroups> <eUAClientVariableGroup> <GroupType>Write_1</GroupType> <CycleTime>100</CycleTime> <NodeMappings> <eUAClientNodeMapping> <LocalVariable> <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Client_Data_Out</uax:Identifier> </LocalVariable> <RemoteVariableDescriptor> <EncodingMask>2</EncodingMask> <ServerIndex>1</ServerIndex> <NodeId> <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Server_Data_In</uax:Identifier> </NodeId> </RemoteVariableDescriptor> </eUAClientNodeMapping> </NodeMappings> </eUAClientVariableGroup> <eUAClientVariableGroup> <GroupType>Subscribe_0</GroupType> <CycleTime>100</CycleTime> <NodeMappings> <eUAClientNodeMapping> <LocalVariable> <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Client_Data_In</uax:Identifier> </LocalVariable> <RemoteVariableDescriptor> <EncodingMask>2</EncodingMask> <ServerIndex>1</ServerIndex> <NodeId> <uax:Identifier>ns=1;s=Arp.Plc.Eclr/MainInstance.Server_Data_Out</uax:Identifier> </NodeId> </RemoteVariableDescriptor> </eUAClientNodeMapping> </NodeMappings> </eUAClientVariableGroup> </VariableGroups> </eUAClientConfiguration> </eUAClientConfigurationDocument> 

    Diese Datei verwendet die Namespace- und Node ID-Informationen, die zuvor (mit UaExpert) aufgezeichnet wurden, um anzugeben, auf welche Servervariablen der Client zugreifen wird.

  3. In der obigen Datei ändern Sie Folgendes passend zu Ihrer Applikation:

    • Das Element uax:EndpointUrl muss die IP-Adresse (oder den DNS-Namen) Ihres OPC UA Servers enthalten.

    • Die Elemente Username und Password müssen die für den OPC UA Server erforderlichen Anmeldedaten enthalten.

    WICHTIG: In diesem Beispiel enthielten die Node ID-Strings in UaExpert den Text ns=6. In der obigen XML-Datei wurde dies in ns=1 geändert, da der „namespace“-Parameter (ns) ein Index in die Liste der Namespaces auf dem lokalen Client ist. In diesem Beispiel ist der Namespace-Name, der aus UaExpert kopiert wurde, der erste (und einzige) Namespace in der Liste der Namespaces in unserer clientconfig.xml-Datei.

Die PLCnext Runtime muss nach Änderungen an den OPC UA Client-Konfigurationsdateien neu gestartet werden.

Industrietechnik

  1. Die Evolution präventiver Wartungssysteme in CMMS-Software
  2. 4-Kanal IR-Fernbedienung selbst bauen: Haushaltsgeräte steuern
  3. Energiesparen mit Elektromotoren: 4 bewährte Strategien
  4. Agilent 8890 GC: Präzise Schwefelanalyse in Diesel & Schweröl
  5. Einstieg in Industrie 4.0: Praktischer Leitfaden für Hersteller
  6. Verborgene Gefahr: Wie Smartphone-Akkus persönliche Daten ausspähen können
  7. Warum Consumer-Product-Marken ihre Digital-Budgets verschwenden
  8. Wann On-Demand-Fertigung auslagern für optimale Ergebnisse
  9. Fortgeschrittene Motorkontrollschaltungen: Selbsthaltung, Stopp und Zeitverzögerung
  10. LM723 meistern: Umfassender Leitfaden zur einstellbaren Spannungsregelung