Pull

Bei diesem Modell stellt der Server eigenständig eine Verbindung zum Global Discovery Server her, registriert sich dort als Serverapplikation und bezieht ein passendes Zertifikat.

Pull 1:

Der TwinCAT OPC UA Server bietet über seinen Konfigurations-Namensraum die Möglichkeit, die GDS-Pull-Funktionen zu aktivieren und konfigurieren.

Pull 2:

Alternativ kann auch der TwinCAT OPC UA Configurator verwendet werden, um diese Funktion im Server zu konfigurieren. Hierfür steht eine entsprechende Benutzeroberfläche zur Verfügung.

Pull 3:

Konfiguration über OPC UA Client

Der folgende Abschnitt beschreibt die Konfiguration über den Adressraum des Servers durch einen generischen OPC UA Client. Als Clientsoftware wird hierbei der UA Expert von Unified Automation verwendet.

Im ersten Schritt muss der TwinCAT OPC UA Server am GDS als Applikation registriert werden. Dies geschieht über die Methode Register(). Durch die Registrierung am GDS wird automatisch auch ein Serverzertifikat für die Serverapplikation beantragt. Je nach Implementierung der GDS-Applikation wird ein solches Zertifikat entweder automatisch oder nach manueller Freigabe durch einen Administrator ausgestellt. Anhand der Variablen RegistrationState und CertificateState lässt sich überprüfen, ob der Server bereits an einem Global Discovery Service registriert wurde und ein Zertifikat von diesem erhalten hat. Die Variable CrlState gibt den Status der Certificate Revocation List an und ob diese vom GDS bezogen werden konnte.

Pull 4:

Die Methode erwartet die folgenden Eingabeparameter:

Pull 5:

Eingabeparameter

Bedeutung

GdsUrl

Die URL des Global Discovery Service im Format opc.tcp://hostnameOrIpAddress:port

GdsUser

Benutzername eines GDS-Benutzers mit der Berechtigung, neue Applikationen registrieren zu dürfen.

GdsPassword

Passwort des Benutzers

SaveCredentials

Speichert das Passwort des Benutzers in einer Konfigurationsdatei des TwinCAT OPC UA Servers. Aus Sicherheitsgründen wird nicht empfohlen, diese Einstellung zu setzen. Sie wurde ausschliesslich für Global Discovery Services entwickelt, welche eine Benutzername-/Passwort- Authentifizierung zwingend benötigen. Üblicherweise wird die Benutzername-/Passwort- Authentifizierung nur einmalig bei der Registrierung der Applikation benötigt. Bei allen darauf folgenden Verbindungen zum GDS wird dann das ausgestellte Server-Zertifikat verwendet.

Pull 6:

Reinitialisierung der Server-Endpunkte

Nach der Registrierung der Serverapplikation am Global Discovery Service und dem Erhalt eines Serverzertifikats, initialisiert der Server einmal seine Endpunkte neu, wodurch verbundene Clients kurzzeitig die Verbindung verlieren.

Nachdem die Serverapplikation bei einem Global Discovery Service registriert wurde, wird im Installationsverzeichnis des TwinCAT OPC UA Servers eine neue Datei namens "TcUaGdsClientConfig.xml" erzeugt. Diese beinhaltet sowohl die Verbindungsinformationen des konfigurierten GDS als auch die von dort bezogenen Registrierungsinformationen und Zeitstempelinformationen für die Serverapplikation, z. B., wann das Zertifikat und die CRL das letzte Mal aktualisiert wurden.

De-Registrierung am Global Discovery Service

Um die TwinCAT OPC UA Server Applikation beim GDS zu de-registrieren, kann die Methode Unregister() verwendet werden. Die erfolgreiche Ausführung der Methode bewirkt, dass die Serverapplikation auf dem GDS de-registriert und der Inhalt der Datei TcUaGdsClientConfig.xml gelöscht wird.

Die Methode erwartet die folgenden Eingabeparameter:

Pull 7:

Eingabeparameter

Bedeutung

ForceRemove

Falls die Verbindung zum Global Discovery Service nicht mehr zur Verfügung steht, kann durch das Setzen dieses Eingabeparameters die Verbindung zum GDS entfernt werden. Der TwinCAT OPC UA Server entfernt hierbei den GDS aus seiner Konfiguration.

Nachdem der TwinCAT OPC UA Server vom GDS entkoppelt wurde, bleiben das ausgestellte Serverzertifikat und die CRL bestehen. Falls Sie diese löschen und den Server mit einem self-signed Zertifikat betreiben möchten, müssen Sie die entsprechenden Dateien im PKI-Verzeichnis des Servers entfernen und den Server anschließend neu starten. Der Server erstellt sich daraufhin wieder ein self-signed Zertifikat.

Aktualisierung des Serverzertifikats

Durch Ausführen der Methode UpdateCertificate() kann eine Aktualisierung des Serverzertifikats außerhalb des regulären Updateintervalls beim GDS angefragt werden. Die Methode erwartet keine weiteren Eingabeparameter.

Setzen der Updateintervalle für Serverzertifikat und CRL

Durch Ausführen der Methode SetUpdateStrategy() können die Updateintervalle für das Serverzertifikat und die Zertifikatssperrliste gesetzt werden.

Die Methode erwartet die folgenden Eingabeparameter:

Pull 8:

Eingabeparameter

Bedeutung

CrlUpdateInterval

Setzt das Aktualisierungsintervall für die Zertifikatssperrliste (Sekunden).

CertificateCheckInterval

Setzt das Aktualisierungsintervall für das Serverzertifikat (Sekunden).