OPC UA
Das OPC UA-Modul dient dem Auslesen eines OPC UA Servers.
Nodes können über zwei Varianten ausgelesen werden. Sie können abonniert werden, um sich ändernde Werte auszulesen (Subscription) oder sie können zyklisch abgefragt werden (Poll). Um das Nachrichtenaufkommen zu minimieren, werden Nodes mit der gleichen Abtastrate in einer Gruppe (Group) zusammengefasst. Die Nodes dieser Gruppe werden gleichzeitig abonniert bzw. abgefragt und eine Nachricht als Ergebnis der Abfrage versendet.
Konfigurationsparameter
Server Connection
Die in folgender Tabelle beschriebenen Parameter müssen für den OPC UA Server definiert werden.
Für den OPC UA Server kann eine Security-Konfiguration angelegt und über einen Switch ein- oder ausgeschaltet werden. In Abbildung 3 ist das Ein- bzw. Ausschalten der Security sichtbar.
Parameter | Beschreibung |
---|---|
Server Name |
Der Server Name stellt den Namen der Datenquelle dar. Dieser entspricht der Source in Auswertungen. |
URL |
Verbindung (Connection) zum OPC UA Server über die URL des Servers |
Node Blacklist Auto Reset Interval (ms) |
Ermöglicht eine automatisch zyklische Bereinigung der Blacklist des ausgewählten Servers. Das Default Interval beträgt 15 Minuten (900.000 Millisekunden). |
Security Level |
0 – 255 |
Security Policy |
Auswahloptionen:
|
Security Mode |
Auswahloptionen:
|
Weitere Konfigurationsparameter:
-
OptimizeNodeValueReadAccess - konfigurierbare Abschaltung der Leseoptimierung/des Pollings. Wenn diese Option aktiviert wird, werden mehrere Nodewerte in einer einzigen Anforderung gelesen. Andernfalls wird jeder Node separat über jeweils eine Anfrage angefordert.
-
Use Source Timestamp - Wenn Use Source Timestamp global aktiviert ist, wird dies bei allen Subscription, Subscription Groups (auch für Submit Full Model) und Poll Groups benutzt. Wenn mehrere Werte in der Nachricht enthalten sind (Poll Group oder Subscription Group mit Submit Full Model) wird der Zeitstempel vom zuletzt ausgelesenen Node als allgemeiner Zeitstempel genutzt.
Authentication
Es wird zwischen drei Authentication-Typen unterschieden:
-
Anonymous
-
Username and Password
-
Certificate
Für Certificate stehen folgende weitere Felder zur Verfügung:
Parameter | Beschreibung |
---|---|
Certificate Subject |
Der Aussteller des Zertifikats. Oftmals auch als CN bezeichnet. |
Certificate Directory |
Der relative Pfad innerhalb des Robogate-Ordners (C:\Program Files\Robotron\Robogate\). Hier muss unter config\certs ein weiterer Ordner erstellt werden, z.B. User, indem sich dann der Ordner "certs" sowie "private" befindet. In den Ordner "certs" werden dann die Zertifikate (.der Datei) abgelegt, im Ordner "private" jeweils die Schlüssel (.pem Datei). |
Subscriptions
Das Auslesen des OPC UA Servers kann über Subscriptions erfolgen. Jede Subscription erzeugt eine Nachricht (Event) je Wertänderung der hinterlegten Nodes. Das Event entspricht einer Nachricht mit einem Datenpunkt. Es sind die in folgender Tabelle beschriebenen Parameter zu konfigurieren.
Parameter | Beschreibung |
---|---|
Field Name |
Der Name ist bestehend aus Buchstaben, Zahlen und ohne Sonderzeichen frei konfigurierbar. Dieser gibt die Bezeichnung des zu lesenden Wertes an. |
Node ID |
Die Node ID wird in Abhängigkeit vom Field Name automatisch vergeben. Diese ID kann manuell kopiert werden. Es besteht die Möglichkeit, Nodes des Servers mit dem OPC UA Node Browser zu durchsuchen und auszuwählen. |
Output Topic |
Die Module zur Dateneingabe veröffentlichen die Daten in einem Topic. Der Name des Topics ist bestehend aus Buchstaben, Zahlen und ohne Sonderzeichen frei konfigurierbar. |
Method Mapping
Über RoboGate Edge können auch OPC UA-Methoden aufgerufen werden. Solche Methoden sind in der Regel Auslöser für eine Aktion, die eine Maschine ausführen soll, beispielsweise einen Prozess zu starten und Parameter zu setzen.
Um mittels des RoboGate Edge eine OPC UA-Methode aufzurufen, muss diese Methode zuvor auf dem OPC UA-Server angelegt worden sein. Weiterhin muss die Object Node ID sowie die ID der Methode bekannt sein. Alternativ kann man auch den Browsing Pfad angeben. Mit diesen Angaben (Tabelle 3) kann das Method Mapping vorgenommen werden. Dies meint das Mapping der OPC UA-Methoden auf die Edge Methods, welche beim Edge Broker des RoboGate Edge registriert werden.
Parameter | Beschreibung |
---|---|
Method Name |
Name der Methode (frei wählbar) |
Object Node ID |
Node ID des der OPC UA-Methode übergeordneten Objekts |
Method Node ID |
Node ID der OPC UA-Methode |
Wurde eine Methode für das Method Mapping angelegt, ist diese nun im Stream Processor via Edge Method Invocation und im Azure-Modul des RoboGate Edge aufrufbar.
Dort muss die Methode wie folgt angegeben werden: robogate.opcua.<name>
.
<name> beschreibt dabei den frei vergebenen Namen der Methode im Method Mapping.
Im Azure-Modul kann die Methode im Bereich "Direct Methods" aufgerufen werden. Hierzu ist ebenfalls ein Name für die Methode (Direct Method) zu definieren und die entsprechend zu referenzierende Methode (robogate.opcua.<name>) als Edge Method anzulegen.
Method Error Code Mapping
Um individuelle konfigurierte Status Codes eines OPC UA Servers in sprechende Fehlernachrichten zu wandeln gibt es das Feature Error Code Mapping.
Parameter | Beschreibung |
---|---|
Error Code |
Der Code ist als ganze Dezimalzahl anzugeben ODER mit dem Präfix "0x" als hexadezimale Repräsentation. |
Message |
Frei wählbarer Text zur Erläuterung des Fehlers |
Poll Groups
Poll Groups sind aktive Abrufe. Jede Poll Group erzeugt eine Nachricht (Model). Das Model entspricht einer Nachricht mit Werten mehrerer Datenpunkte.
Parameter | Beschreibung |
---|---|
Poll Group Name |
Der Name ist bestehend aus Buchstaben, Zahlen und ohne Sonderzeichen frei konfigurierbar. Es muss ein Name für die Poll Group eingegeben werden. Dieser Name entspricht den Namen des auszulesenden Bereichs. Der Name wird unter Scope in Auswertungen bereitgestellt. Mit dem Klick auf „Create“ wird eine neue Gruppe erzeugt. |
Interval (ms) |
Intervall in Millisekunden gibt die Taktung an, in der die Werte abgefragt werden. |
Use source timestamp |
Benutzung des SourceTimestamps:
|
Output Topic |
An dieser Stelle wird ein vergebenes Output Topic z.B. OPCUAPOLL1 angegeben. Der Name ist bestehend aus Buchstaben, Zahlen und ohne Sonderzeichen frei konfigurierbar. |
Field Name |
Das ist die Bezeichnung des Feldes im OPC UA Server. |
Node ID |
Die Node ID wird in Abhängigkeit vom Field Name automatisch vergeben. Diese ID kann manuell kopiert werden. Es besteht die Möglichkeit, Nodes des Servers mit dem OPC UA Node Browser zu durchsuchen und auszuwählen. |
Subscription Groups
Subscription Groups definieren eine Menge von OPC UA Server Nodes, die abonniert werden. Der Zustand jedes Nodes wird in einem Puffer gehalten. Kommt es zu einer Datenwertaktualisierung, wird der entsprechende Wert aktualisiert und anschließend eine Nachricht mit Inhalt aller konfigurierten Nodes gesendet. Jede Subscription Group erzeugt eine Nachricht.
Parameter | Beschreibung |
---|---|
Subscription Group Name |
Der Name ist bestehend aus Buchstaben, Zahlen und ohne Sonderzeichen frei konfigurierbar. Es muss ein Name für die Subscription Group eingegeben werden. Dieser Name entspricht den Namen des auszulesenden Bereichs. Der Name wird unter Scope in Auswertungen bereitgestellt. Mit dem Klick auf „Create“ wird eine neue Gruppe erzeugt. |
Publishing Interval (ms) |
Intervall in Millisekunden gibt die Taktung an, in der die Werte abgefragt werden. |
Republishing Interval (ms) |
Intervall in Millisekunden gibt die Taktung an, in der die zuletzt gelesenen Werte erneut gesendet werden. |
On Change: |
Aktiv: Falls der OPC UA Server eine Änderung mitteilt wird der geänderte Datenpunkt gemeinsam mit den zuletzt gelesenen Werten der anderen Datenpunkte als Model-Nachricht übermittelt.
ACHTUNG: Gleichzeitige Änderungen mehrerer Datenpunkte innerhalb der Subscription Group werden individuell behandelt |
On Republish: |
Aktiv: Während des Republishing werden die Datenpunkte als eine Datamodelnachricht versandt. |
Output Topic |
An dieser Stelle wird ein vergebenes Output Topic z.B. OPCUASUB1 angegeben. Der Name ist bestehend aus Buchstaben, Zahlen und ohne Sonderzeichen frei konfigurierbar. |
Use source timestamp |
Benutzung des SourceTimestamps:
|
Field Name |
Bezeichnung des Feldes im OPC UA Server. |
NodeID |
Die Node-ID wird in Abhängigkeit vom Field Name automatisch vergeben. Diese ID kann manuell kopiert werden. Es besteht die Möglichkeit, Nodes des Servers mit dem OPC UA Node Browser zu durchsuchen und auszuwählen. |
Alarms & Conditions
Mit dem OPC UA-Modul können auch Alarme und Konditionen, die im OPC UA Server als Nodes angelegt wurden, aufgerufen werden. Es können pro OPC UA Server mehrere sogenannte Condition Observer konfiguriert werden. Jeder konfigurierte Observer erzeugt dabei auf dem angegeben output Topic eine EdgeMessage sobald ein Event vom OPC UAServer ankommt.
Siehe auch Alarms&Conditions und Conditions in der OPC UA Online Reference.
Parameter | Beschreibung |
---|---|
Condition Observer Name |
Der Name ist bestehend aus Buchstaben, Zahlen und ohne Sonderzeichen frei konfigurierbar. Es muss ein Name eingegeben werden. Dieser Name entspricht den Namen des auszulesenden Bereichs. Der Name wird unter Scope in Auswertungen bereitgestellt. Mit dem Klick auf „Create“ wird eine neue Gruppe erzeugt. |
NodeId |
Die Node ID des aufzurufenden Alarms oder der Condidition. |
Output Topic |
Name des Output Topic. Der Name ist bestehend aus Buchstaben, Zahlen und ohne Sonderzeichen frei konfigurierbar. |
Suppress branched Events |
Unterdrückt Events, deren Branch ID gesetzt ist. |
Field Name |
Freier Feldname des Properties in der OutputEdgeMessage. |
Attribute Name |
Name des Attributs im OPC UA Server |
Konfiguration in der UI
Das OPC UA-Modul kann über die Auswahl des Moduls auf der Startseite oder über die linke Menüleiste der RoboGate Edge UI aufgerufen und konfiguriert werden.
Server konfigurieren
Über New kann ein neuer OPC UA Server hinzugefügt und konfiguriert werden. Entsprechend der Anforderungen können die zuvor näher beschriebenen Parameter definiert werden (Abbildung 3).
Wird diese Konfiguration gespeichert , lässt sich im Bereich Module State am Ende der Seite erkennen, ob das Modul eine Verbindung zum OPC UA Server herstellen konnte.
Nun können Subscriptions, Poll Groups und Subscription Groups mit den entsprechenden Datenfeldern (Node IDs) angelegt werden.
Subscription konfigurieren
Um eine Subscription zu konfigurieren, müssen Angaben zum Field Name, zur Node ID und zum Output Topic gemacht werden. Weitere Subscriptions zu Node IDs lassen sich durch einen Klick auf „+“ (Hinzufügen) eintragen. Diese Eingaben können, sofern die Node ID bekannt ist, manuell erfolgen oder mit Hilfe des OPC UA Node Browser. Im OPC UA Node Browser werden alle auf dem Server verfügbaren Node IDs angezeigt. Der Node Browser lässt sich über den Button mit dem Lupen-Icon auswählen. Mit einem Klick auf den Pfeil werden die Node IDs aktualisiert und eine Auswahl aller verfügbaren Node IDs angezeigt (Abbildung 4).
Für die Subscription gewünschte Nodes können im Node Browser markiert werden. Bei der Auswahl von Node Gruppen kann der Markierungsprozess länger dauern. Nachdem alle Nodes markiert wurden, können diese über den Button „OK“ übernommen werden (Abbildung 5).
Um zu prüfen, ob ein Node korrekt konfiguriert wurde, kann dieser über den Pfeil in der Spalte "Test" geprüft werden. Das ausgelesene Ergebnis wird nach einem Klick auf den Pfeil angezeigt bzw. bei Änderungen aktualisiert. Initial werden keine Werte angezeigt. Diese Funktion steht für das Anelgen einer Subscription, Subscription Group und Poll Group zur Verfügung.
Nach Fertigstellung der Konfiguration der Subscriptions wird diese über die Speichern-Schaltfläche in der rechten oberen Ecke übernommen.
Method Mapping konfigurieren
Abbildung 7 zeigt die Konfiguration der OPC UA-Methoden mit den in Tabelle 3 beschriebenen Parametern. Diese muss manuell erfolgen.
Error Code Mapping konfigurieren
Abbildung 8 zeigt eine beispielhafte Konfiguration einer Fehlermeldung durch das Error Code Mapping.
Group konfigurieren
Das Konfigurieren von Poll oder Subscription Groups funktioniert prinzipiell gleich.
-
Poll Groups erzeugen aktive Datenabfragen.
-
Subscription Groups reagieren auf Änderungen semantisch zusammenhängender Datenpunkte.
Zuerst erstellen Sie eine neue Poll/Subscription Group, indem Sie einen Namen der Poll/Subscription Group vergeben und auf "Create" klicken. Hierdurch wird eine neue Gruppe erzeugt (Abbildung 9). Anschließend sind Intervall und Output Topic zu definieren und die Node IDs zu konfigurieren (Abbildung 10). Das Browsen nach verfügbaren Node IDs ist identisch zum Vorgang für die Erstellung von Subscriptions.
Bei Subscription Groups muss zusätzlich konfiguriert werden, ob Nachrichten On Change und/oder On Resubmit verschickt werden sollen (Abbildung 11).
Mit Hilfe des gebogenen Pfeils ist es möglich den aktuellen Wert eines Knotens auszugeben. Will man die gesamte Gruppe auslesen, muss der gebogene Pfeil im Header betätigt werden. Der grüne Haken bedeutet dann die Anzahl an korrekt ausgelesenen Werten, das rote Kreuz die Anzahl an fehlerhaften Knoten.
Nach Fertigstellung der Konfiguration des OPC UA-Moduls kann diese über die Schaltfläche „Save“ gespeichert werden. Durch das Speichern der Modulkonfiguration steht diese im RoboGate Edge zur Verfügung.
Alarms & Conditions konfigurieren
Abbildung 13 zeigt eine beispielhafte Konfiguration eines Condition Observers.
Node Browser-Konfiguration bearbeiten / löschen
Innerhalb der Konfiguration des OPC UA Moduls kann die Node-Auswahl im Node Browser für Subscriptions und Poll Groups entfernt werden. Über das Lupen-Icon in der jeweiligen Konfiguration wird die hinterlegte Konfiguration angezeigt und steht zur weiteren Bearbeitung zur Verfügung. Markierungen können entfernt oder hinzugefügt werden. Mit der Bestätigung der Änderung mit „OK“ und dem anschließenden Speichern der Konfiguration werden die Änderungen übernommen. Beim Entfernen aller Markierungen im Browser wird automatisch der gesamte Node Browser aus der Konfiguration entfernt (Abbildung 14).
Datenfeld löschen
Innerhalb der Konfiguration des OPC UA-Moduls können Datenfelder der Subscriptions und Poll Groups gelöscht werden. Dazu ist das zu löschende Datenfeld zu markieren und per Mausklick auf zu entfernen. Durch das Speichern der Konfigurationsänderung steht diese im RoboGate Edge zur Verfügung (Abbildung 15).
Group löschen
Groups können vollständig gelöscht werden. Durch Betätigen des Löschen-Buttons wird die markierte Poll oder Subscription Group gelöscht (Abbildung 16). Durch das Speichern der gesamten OPC UA-Konfiguration werden die Änderungen übernommen und stehen zur Verfügung.
Konfiguration zurücksetzen
Über die Schaltfläche in der horizontalen Menüleiste lässt sich die komplette Konfiguration des Moduls auf Werkseinstellungen zurücksetzen. Nach einem Klick auf die Schaltfläche folgt ein Bestätigungsdialog mit "Yes" und "No" zur Rückfrage ob der Vorgang wirklich ausgeführt werden soll.
Damit wird auch die gesamte Historie auf dem RoboGate Edge gelöscht!