Verbindung einer Datenquelle OPC UA Client zu einem OPC UA Server herstellen
Ein OPC UA Server steht zur Verfügung. Eine Beschreibung für den OPC UA Server, der in der Standardinstallation von CODESYS enthalten ist, finden Sie unter OPC UA Server.
In CODESYS haben Sie das Add-on CODESYS Security Agent installiert.
CODESYS ist geöffnet.
Für Ihre Steuerung ist im Geräteeditor im Dialog Kommunikationsrichtlinie ändern die Option Anonymes Einloggen erlauben aktiviert (Registerkarte Kommunikation, Befehl Kommunikationsrichtlinie ändern im Menü Gerät). Oder die Benutzerverwaltung wurde explizit deaktiviert (zum Beispiel durch Umschalten auf Optionale Benutzerverwaltung im Dialog Kommunikationsrichtlinie ändern und anschließendem Reset Ursprung).
HINWEIS: Wenn eine Benutzerverwaltung auf der Steuerung aktiv ist, ist für eine Verbindung vom Client zum OPC UA Server eine Anmeldung mit Benutzernamen und Passwort erforderlich. Sehen Sie für den Fall, dass die Kommunikation über eine Datenquelle erfolgt, die Einstellung Benutzername unter Authentifikation im Editor der Datenquelle.
Starten Sie den OPC UA Server.
Erstellen Sie ein neues CODESYS-Projekt.
Fügen Sie der Applikation ein Objekt Datenquellenverwalter hinzu.
Fügen Sie dem Datenquellenverwalter eine Datenquelle OPC UA-Server hinzu.
Der Dialog Datenquelle initialisieren öffnet sich.
Im Dialog Datenquelle initialisieren konfigurieren Sie im Folgenden die Datenquelle hinsichtlich der Kommunikation.
Tipp
Sie haben die Möglichkeit, mit der Option Verbindungseinstellungen aus IEC-Variable lesen die Verbindungseinstellungen dynamisch zu konfigurieren, anstelle sie hier im Dialog fest zu definieren. Sehen Sie für weitere Informationen: Dynamische Verbindung zu einem OPC UA Server verwenden
Die Einstellungen aus diesem Dialog finden sich entsprechend in der Registerkarte Kommunikation des Datenquellenverwalters wieder:
Legen Sie bei Wie wird das Server-Layout ermittelt fest, wie die Information über die existierenden Variablen und Typen ermittelt werden soll. Wenn Sie die Option Live-Server durchsuchen wählen, verbindet sich der OPC UA Client zu diesem Zweck mit dem OPC UA Server und liest die Information dort aus. Wenn Sie Von Informationsmodell wählen, liest der Client die Information aus dem eingestellten Informationsmodell und benötigt hierfür keinen laufenden OPC UA Server.
Tragen Sie bei Server-URL die URL des gestarteten OPC UA Servers ein.
Öffnen Sie über Schaltfläche Alle Endpunkte zeigen den Dialog Verfügbare Endpunkte.
Wählen Sie einen Endpunkt, der einen Nachrichtensicherheitsmodus Verschlüsseln & Signieren und eine entsprechende Security-Strategie definiert. Nach Schließen des Dialogs werden diese Einstellungen in die Sektion Security des Dialogs Datenquelle initialisieren übernommen.
Wählen Sie ein passendes Client-Zertifikat für den Zugriff auf den Server zum Zweck des Browsens. Wenn noch kein Zertifikat zur Auswahl vorliegt, können Sie unmittelbar eines erzeugen lassen. Öffnen Sie dazu über die Schaltfläche
den Dialog Selbstsigniertes Zertifiktat erzeugen. Definieren Sie ein Passwort für Ihren privaten Schlüssel und einen Dateinamen für das Zertifikat. Mit OK wird das Zertifikat erzeugt und automatisch im Zertifkatsstore eingetragen. Die Zertifikatsdateien *.cer und *.pfx werden neben der Projektdatei abgelegt. Somit können Sie das Zertifikat mit dem öffentlichen Schlüssel (*.cer) dem Server "geben", damit er das Zertifikat "kennt". Sie können auch den privaten Schlüssel (*.pfx) weitergeben, damit das Projekt auch auf einem anderen Rechner (zum Browsen) verwendbar ist.
Beachten Sie, dass dieses Zertifikat nur für das Durchsuchen des Servers nach Variablen und Datentypen verwendet werden kann. Für den Datenaustausch im Onlinebetrieb wird ein weiteres Zertifikat benötigt. Dessen Erstellung wird nachfolgend noch beschrieben.
Klicken Sie auf Weiter. Der Client durchsucht jetzt den OPC UA Server, um die Variablen und Typen des OPC UA Servers zu finden. Dazu muss der OPC UA Server im Onlinebetrieb sein.
Wählen Sie nun eine oder mehrere Variablen aus.
Diese Variablen können später über verschlüsselte Kommunikation zwischen OPC UA Client zum OPC UA Server ausgetauscht werden. Für die Variablen werden dann in der Ansicht Geräte im Ordner DataSources_Objects Komponeten erzeugt. Die Variablen können in der Applikation verwendet werden.
Hinweis: Solange kein Wert gelesen wurde, haben die Variablen ihren Standardwert nach IEC. Für weitere Informationen siehe: Standard-Initialisierungswerte
In den nächsten Schritten erstellen Sie ein Zertifikat für die verschlüsselte Kommunikation vom OPC UA Client zum OPC UA Server.
Wechseln Sie zur Registerkarte Geräte.
Selektieren Sie in der linken Ansicht die Steuerung.
In der rechten Ansicht werden alle Dienste der Steuerung angezeigt, die ein Zertifikat erfordern.
Selektieren Sie den Dienst CmpOPCUAClient.
Erzeugen Sie ein neues Zertifikat für das Gerät. Dazu klicken Sie auf das Icon
.
Der Dialog Zertifikatseinstellungen öffnet sich.
Definieren Sie die Parameter des Zertifikats und schließen Sie den Dialog mit OK.
Das Zertifikat wird auf der Steuerung erzeugt.
Klicken Sie auf die Schaltfläche
und speichern Sie das Zertifikat im lokalen Dateiverzeichnis des OPC UA Servers im Ordner
certs
.Wenn Sie nun den OPC UA Server neu starten, wird das Client-Zertifikat dem Server bekannt gegeben. Anschließend sendet der Server sein Zertifikat dem Client. In den folgenden Schritten wird dieses Zertifikat dem Client als „vertrauenswürdig“ bekannt gemacht werden.
Klicken Sie dazu in der Ansicht Security Screen in der Registerkarte Geräte im linken Bereich auf den Ordner Zertifikate in Quarantäne.
Das Zertifikat wird im rechten Bereich angezeigt.
Verschieben Sie dieses Zertifikat nun per Drag&Drop in den Ordner Vertrauenswürdige Zertifikate.
Das Serverzertifikat ist jetzt dem Client als „vertrauenswürdig“ bekannt.
Wenn Sie sich nun mit der Steuerung verbinden und die Applikation starten, können die Datenquellenvariablen des OPC UA Clients mit dem OPC UA Server über die verschlüsselte Verbindung ausgetauscht werden.
Für weitere Informationen siehe: Registerkarte: Kommunikation, über OPC UA Server und OPC UA Server