Zum Hauptinhalt springen

OPC-Methoden-Trigger

OPC UA-Methoden ermöglichen es, Funktionen oder Aktionen eines OPC UA-Servers gezielt von einem OPC UA-Client auszuführen. Eine Methode kann dabei mit Eingangsparametern aufgerufen werden und optional Ergebnisse an den aufrufenden Client zurückgeben.

Mit dem OPC-Methoden-Trigger stellt der OPC Router eine OPC UA-Methode bereit, die von externen OPC UA-Clients aufgerufen werden kann. Der Methodenaufruf dient als Auslöser für einen Flow im OPC Router. Die beim Aufruf übergebenen Parameter können im Flow weiterverarbeitet und an angebundene Systeme, Plug-ins oder Zielkomponenten übergeben werden.

Der Trigger eignet sich besonders für Szenarien, in denen ein OPC UA-Client nicht nur Werte lesen oder schreiben, sondern aktiv einen Prozess im OPC Router starten soll, zum Beispiel eine Datenübertragung, eine Buchung, einen Rezeptwechsel oder eine Weitergabe von Produktionsinformationen.

Dialogübersicht

Konfiguration des OPC-Methoden-Triggers

Der Screenshot zeigt den Konfigurationsdialog des OPC-Methoden-Triggers. Im Dialog wählen Sie zunächst den internen OPC UA-Server und den Zielpfad im Adressraum aus. Anschließend definieren Sie Name, Beschreibung, Timeout sowie die Ein- und Ausgabeparameter der Methode.

Konfiguration

EigenschaftBeschreibung
AnbindungWählen Sie den internen OPC-UA-Server, über den die Methode erreichbar ist.
Server-PfadWählen Sie den Pfad, unter dem die Methode gefunden werden soll. Sie können auf die Schaltfläche mit den drei Punkten "..." klicken, um den Tag-Browser zu verwenden.
NameWählen Sie einen Namen für die Methode.
BeschreibungBeschreiben Sie, was Ihre Methode tut.
TimeoutZeit in Millisekunden, die der aufrufende Client auf das Ergebnis wartet. Läuft sie ab, erhält der Aufruf eine Zeitüberschreitung als Ergebnis - der Transfer selbst läuft weiter. Was einen laufenden Transfer beendet, ist das Timeout der Verbindung, nicht dieses Feld.
Zwei Timeouts, zwei Wirkungen

Das Feld Timeout begrenzt nur, wie lange der aufrufende OPC-UA-Client auf das Ergebnis wartet. Nach Ablauf kehrt der Aufruf mit einer Zeitüberschreitung zurück, während der Transfer im OPC Router weiterläuft und seine Ziele wie geplant beschreibt. Der Aufrufer erfährt dessen Ergebnis dann nicht mehr.

Einen laufenden Transfer beendet ausschließlich das Timeout der Verbindung. Wenn ein Aufruf also nicht nur unbeantwortet bleiben, sondern der Datentransfer wirklich abbrechen soll, ist das Verbindungstimeout die Stelle dafür.

Parameter

Eingabe- und Ausgabe-Parameter

EigenschaftBeschreibung
EingabeDefinieren Sie beliebig viele Eingangs-Parameter, wählen Sie die Datentypen und fügen Sie bei Bedarf eine Beschreibung hinzu.
AusgabeDefinieren Sie beliebig viele Ausgangs-Parameter, wählen Sie die Datentypen und fügen Sie bei Bedarf eine Beschreibung hinzu.

Vorgehen im Dialog

  1. Wählen Sie die gewünschte interne OPC UA-Serveranbindung aus.
  2. Wählen Sie über den Tag-Browser den Server-Pfad aus, unter dem die Methode im Adressraum bereitgestellt werden soll.
  3. Vergeben Sie einen eindeutigen Methodennamen und ergänzen Sie bei Bedarf eine Beschreibung.
  4. Legen Sie das Timeout fest und definieren Sie die erforderlichen Ein- und Ausgabeparameter.

Zusammenspiel mit dem aufrufenden OPC-UA-Client

Wie diese Darstellung zu lesen ist, erklärt der Abschnitt Sequenzdiagramme.

Der OPC-Methoden-Trigger arbeitet synchron: Der aufrufende OPC UA-Client bleibt in seinem Call-Aufruf blockiert, bis der Flow durchgelaufen ist. Erst das Transferergebnis bildet den Statuscode der Antwort (Ok wird zu Good, ein Abbruch zu Bad_OperationAbandoned, ein Fehler zu Bad mit dem Abbruchtext). Die Ausgangsargumente liefert nicht der Trigger selbst, sondern das Transferobjekt „an OPC-Client“, das Sie im Flow platzieren müssen; ebenso liest das Transferobjekt „vom OPC-Client“ die Eingangsargumente in den Flow. Beachten Sie dabei die zwei voneinander unabhängigen Zeitgrenzen: Das Feld „Timeout“ im Dialog begrenzt ausschließlich die Wartezeit des Clients, nicht den Transfer.

OPC-Methoden-Trigger: Aufruf mit zwei getrennten Timeouts

Das Diagramm gilt für beide Toolbox-Varianten, den Methoden-Trigger und den Predefined Method-Trigger: Sie unterscheiden sich nur in der Projektierung der Methode, nicht im Ablauf. Sichtbar wird, dass die Ausgangsargumente mitten im Transfer in dasselbe Aufrufobjekt geschrieben werden und der Statuscode erst am Ende aus dem Transferergebnis entsteht. Die beiden alt-Blöcke zeigen die zwei Zeitgrenzen und die zwei Sofortabweisungen, die noch vor jedem Transfer beantwortet werden. Die Zeitgrenze Timeout ist ein Feld im Trigger-Dialog und begrenzt allein die Wartezeit des aufrufenden Clients: Läuft sie ab, so läuft der Transfer unter dem eigenen Timeout der Verbindung weiter, das Feld Timeout beendet ihn nicht.

Ablauf eines Methodenaufrufs am internen OPC UA-Server: Sofortabweisungen ohne Transfer, Ausgangsargumente aus dem Transferobjekt „an OPC-Client“ und die Zeitgrenze „Timeout“, die nur das Warten des Clients beendet.