Erfordernis:
-
Ein OPC UA Server ist verfügbar.
-
Sie haben das Add-on CODESYS Security Agent in CODESYS installiert.
-
CODESYS ist geöffnet.
-
Die Option „Anonyme Anmeldung zulassen“ ist für Ihren Controller im Dialog „Kommunikationsrichtlinie ändern“ des Geräte-Editors ausgewählt („Registerkarte Kommunikationseinstellungen“, Befehl „Kommunikationsrichtlinie ändern“, Menü „Gerät“ ). Oder die Benutzerverwaltung wurde explizit deaktiviert (z. B. durch Umschalten auf „Optionale Benutzerverwaltung“ im Dialog „Kommunikationsrichtlinie ändern“ und dann „Ursprung zurücksetzen“).
-
HINWEIS: Wenn auf der Steuerung eine Benutzerverwaltung aktiv ist, ist für eine Verbindung vom Client zum OPC UA Server eine Anmeldung mit Benutzernamen und Passwort erforderlich. Für den Fall, dass die Kommunikation über eine Datenquelle hergestellt wird, siehe die folgende Einstellung „Benutzername“ ⮫ Authentifizierung im Datenquelleneditor.
-
Starten Sie den OPC UA Server.
-
Erstellen Sie ein neues CODESYS Projekt.
-
Hinzufügen einer ⮫ Data Sources Manager Objekt zur Anwendung.
-
Fügen Sie eine „Datenquelle“ „OPC UA-Server“ zum „Datenquellenmanager“ hinzu.
Die ⮫ Datasource wird geöffnet.
-
Konfigurieren Sie im Dialog „Initialize Data Source“ die Datenquelle für die Kommunikation wie folgt.
Mit der Option ⮫ Verbindungseinstellungen aus IEC-Variable lesen können Sie die Verbindungseinstellungen dynamisch konfigurieren, anstatt sie hier im Dialog zu definieren. Für weitere Informationen siehe: ⮫ „Verwendung einer dynamischen Verbindung zu einem OPC UA Server “
Die Einstellungen aus diesem Dialog werden entsprechend auf der Registerkarte „Kommunikation“ des Datenquellenmanagers wiedergegeben:
-
Unter „Where to find the server layout“ können Sie festlegen, wie die Informationen über die vorhandenen Variablen und Typen ermittelt werden sollen. Wenn Sie die Option „Browse Live Server“ auswählen, verbindet sich der OPC UA Client zu diesem Zweck mit dem OPC UA Server und liest die Informationen dort aus. Wenn Sie „From Information Model“ wählen, liest der Client die gleichen Informationen aus einem installierten Informationsmodell und benötigt dazu keinen laufenden OPC UA Server.
-
Unter „Server URL“ geben Sie die URL des gestarteten OPC UA Servers an.
-
Klicken Sie auf die Schaltfläche „Alle Endpunkte anzeigen“, um das Dialogfeld „Verfügbare Endpunkte“ zu öffnen.
-
Wählen Sie einen Endpunkt aus, der einen „Encrypt & Sign“ Nachrichten-Sicherheitsmodus und eine entsprechende Sicherheitsstrategie definiert. Nach dem Schließen des Dialogs werden diese Einstellungen in den Abschnitt „Sicherheit“ des Dialogs „Datenquelle initialisieren“ übernommen.
-
Wählen Sie ein geeignetes „Client-Zertifikat“ für den Zugriff auf den Server zu Browsing-Zwecken. Wenn noch kein Zertifikat zur Auswahl steht, können Sie es sofort erstellen lassen. Klicken Sie dazu auf die Schaltfläche
, um das Dialogfeld „Selbstsigniertes Zertifikat generieren“ zu öffnen. Definieren Sie ein Passwort für Ihren privaten Schlüssel und einen Dateinamen für das Zertifikat. Wenn Sie auf „OK“ klicken, wird das Zertifikat erstellt und automatisch in den Zertifikatspeicher aufgenommen. Die Zertifikatsdateien *.cer und *.pfx werden zusammen mit der Projektdatei gespeichert. So können Sie dem Server das Zertifikat mit dem öffentlichen Schlüssel (*.cer) "geben", damit er das Zertifikat "kennt". Sie können auch den privaten Schlüssel (*.pfx) weitergeben, um das Projekt auf einem anderen Rechner nutzbar zu machen (zum Browsen).
Beachten Sie, dass dieses Zertifikat nur zum Durchsuchen des Servers nach Variablen und Datentypen verwendet werden kann. Für den Datenaustausch im Online-Modus ist ein zusätzliches Zertifikat erforderlich. Seine Erstellung wird im Folgenden beschrieben.
-
-
Klicken Sie auf „Weiter“. Nun scannt der Client den OPC UA Server, um die Variablen und Typen des OPC UA Servers zu finden. Der OPC UA Server muss dazu im Online-Modus sein.
-
Wählen Sie nun eine oder mehrere Variablen aus.
Diese Variablen können später über eine verschlüsselte Kommunikation zwischen dem OPC UA Client und dem OPC UA Server ausgetauscht werden. Für die Variablen werden die Komponenten in der Ansicht „Devices“ im Ordner „DataSources_Objects“ erstellt. Die Variablen können in der Anwendung verwendet werden.
-
In den nächsten Schritten erstellen Sie ein Zertifikat für die verschlüsselte Kommunikation vom OPC UA Client zum OPC UA Server.
-
Klicken Sie auf ⮫ Ansicht → Sicherheitsbildschirm.
-
Wechseln Sie zur Registerkarte „Geräte“.
-
Wählen Sie in der Ansicht auf der linken Seite den Controller aus.
In der rechten Ansicht werden alle Dienste des Controllers angezeigt, die ein Zertifikat benötigen.
-
Wählen Sie den Dienst „CmpOPCUAClient“.
-
Erstellen Sie ein neues Zertifikat für das Gerät. Klicken Sie dazu auf das Symbol
.
Das Dialogfeld „Zertifikatseinstellungen“ wird geöffnet.
-
Definieren Sie die Zertifikatsparameter und klicken Sie auf „OK“, um das Dialogfeld zu schließen.
Das Zertifikat wird auf dem Controller erstellt.
-
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 er das Client-Zertifikat erkennen. Der Server sendet sein Zertifikat an den Client. In den folgenden Schritten wird dieses Zertifikat für den Client als "vertrauenswürdig" eingestuft.
-
Klicken Sie dazu in der Ansicht „Security Screen“ auf der Registerkarte „Devices“ auf den Ordner „Certificates in Quarantine“ im linken Bereich.
Das Zertifikat wird im rechten Bereich angezeigt.
-
Ziehen Sie dieses Zertifikat in den Ordner „Trusted Certificates“.
Jetzt ist das Serverzertifikat für den Client "vertrauenswürdig".
-
Wenn Sie sich nun mit der Steuerung verbinden und die Anwendung starten, können die Datenquellenvariablen des OPC UA Clients über die verschlüsselte Verbindung mit dem OPC UA Server ausgetauscht werden.