Zum Hauptinhalt springen
Version: 5.6

Bereitstellung simulierter Produktionsdaten über REST-Trigger

Dieses Beispiel zeigt, wie im OPC Router selbst ein kleiner RESTful-Webservice mit Bearer-Token-Authentifizierung bereitgestellt werden kann. Der Webservice stellt simulierte Produktionsdaten einer Maschine bereit. Die Werte werden innerhalb der Verbindung mit Formel- und Taschenrechner-Transferobjekten erzeugt.

Zielbild

Das Beispiel besteht aus zwei getrennten Verbindungen innerhalb desselben REST-Server-Plug-ins. Diese beiden Workflows werden nacheinander erstellt und dann produktiv geschaltet:

  1. Eine Verbindung mit einem REST-Trigger der Methode POST stellt einen Token-Endpunkt bereit.
  2. Eine zweite Verbindung mit einem REST-Trigger der Methode GET liefert die eigentlichen Produktionsdaten.

Der typische Ablauf ist wie folgt:

  1. Ein Client ruft per POST den Endpunkt für die Token-Abfrage auf.
  2. Der OPC Router prüft client_id und client_secret.
  3. Der OPC Router liefert ein Bearer Token als JSON-Antwort zurück.
  4. Der Client ruft anschließend per GET den Datenendpunkt auf und übergibt das Bearer Token im Header Authorization.
  5. Der OPC Router prüft den Header und liefert die simulierten Produktionsdaten zurück.

Ausgangssituation

Für dieses Beispiel wird eine einzelne Maschine PRESS-01 angenommen. Über den Datenendpunkt sollen zum Beispiel folgende Werte bereitgestellt werden:

  • aktuelle Stückzahl
  • Ausschussmenge
  • OEE-Wert
  • Maschinenzustand
  • Zeitstempel der letzten Aktualisierung

Die Werte stammen in diesem Beispiel nicht aus einem Fremdsystem, sondern werden mit Formel- und Taschenrechner-Transferobjekten im OPC Router erzeugt. Dadurch bleibt das Beispiel in sich abgeschlossen und kann ohne zusätzliche Datenquelle nachvollzogen werden.

Beispielaufrufe

Token-Abfrage

POST http://localhost:50117/api/auth/token
Content-Type: application/json

{
"client_id": "demo-client",
"client_secret": "demo-secret"
}

Eine mögliche Antwort sieht so aus:

{
"access_token": "opcrouter-demo-token",
"token_type": "Bearer",
"expires_in": 3600
}

Wertabfrage

GET http://localhost:50117/api/production-data
Authorization: Bearer opcrouter-demo-token
Accept: application/json

Eine mögliche Antwort sieht so aus:

{
"machine_id": "PRESS-01",
"quantity": 524,
"scrap": 11,
"oee": 0.82,
"state": "Produktion",
"timestamp": "2026-05-11T14:30:00Z"
}

Aufbau im OPC Router

REST-Server-Plug-in

Erstellen Sie zunächst ein REST-Server-Plug-in, über das beide Endpunkte bereitgestellt werden. Verwenden Sie zum Beispiel den Routen-Präfix api.

REST-Server-Plug-in für das Produktionsdatenbeispiel

Die grundsätzliche Funktionsweise des REST-Servers und des REST-Triggers ist in den jeweiligen Referenzseiten beschrieben.

REST-Trigger für die Token-Abfrage

Projektieren Sie eine erste, eigenständige Verbindung mit einem REST-Trigger für die Token-Abfrage.

  1. Verwenden Sie als Endpunkt zum Beispiel auth/token.
  2. Wählen Sie als HTTP-Methode POST.
  3. Wählen Sie als Antwortformat application/json.
  4. Legen Sie einen Anfrageparameter für den Request Body an.
  5. Legen Sie einen Antwortparameter für den Response Body an.

Lesen Sie den Request Body anschließend mit einem JSON-Lesen-Transferobjekt aus und extrahieren Sie mindestens die Felder client_id und client_secret.

Prüfen Sie die beiden Werte danach mit einem Formel- und Taschenrechner-Transferobjekt gegen die erwarteten Demo-Zugangsdaten, zum Beispiel demo-client und demo-secret.

Erstellen Sie bei gültigen Werten mit einem JSON-Schreiben-Transferobjekt die Token-Antwort. Für ein in sich geschlossenes Beispiel genügt ein fest vorgegebener Token-Wert wie opcrouter-demo-token.

Eine mögliche JSON-Struktur für die Antwort ist:

{
"access_token": "opcrouter-demo-token",
"token_type": "Bearer",
"expires_in": 3600
}

Verbinden Sie den erzeugten JSON-Inhalt mit dem Response Body des REST-Triggers.

Schalten Sie diese Verbindung anschließend produktiv, bevor Sie die zweite Verbindung testen oder produktiv schalten.

REST-Trigger für die Wertabfrage

Projektieren Sie danach eine zweite, eigenständige Verbindung mit einem REST-Trigger für die eigentliche Datenabfrage.

  1. Verwenden Sie als Endpunkt zum Beispiel production-data.
  2. Wählen Sie als HTTP-Methode GET.
  3. Wählen Sie als Antwortformat application/json.
  4. Legen Sie einen Anfrageparameter vom Typ HTTP-Header an.
  5. Verwenden Sie als Header-Namen Authorization.
  6. Legen Sie einen Antwortparameter für den Response Body an.

Prüfen Sie den Inhalt des Headers anschließend gegen den erwarteten Wert Bearer opcrouter-demo-token.

Erzeugen Sie danach die Produktionsdaten mit Formel- und Taschenrechner-Transferobjekten. Für ein einfaches Demo-Szenario können Sie konstante oder leicht variierte Werte verwenden, zum Beispiel:

  • quantity = 524
  • scrap = 11
  • oee = 0.82
  • state = Produktion

Fassen Sie diese Werte anschließend mit einem JSON-Schreiben-Transferobjekt zu einer JSON-Antwort zusammen und verbinden Sie das Ergebnis mit dem Response Body des REST-Triggers.

Eine mögliche JSON-Struktur ist:

{
"machine_id": "PRESS-01",
"quantity": 524,
"scrap": 11,
"oee": 0.82,
"state": "Produktion",
"timestamp": "2026-05-11T14:30:00Z"
}

Schalten Sie anschließend auch diese zweite Verbindung produktiv.

Empfohlene Projektstruktur

Für ein übersichtliches Demo-Projekt bietet sich folgende Aufteilung an:

  1. Verbindung Tokenabfrage mit REST-Trigger, JSON-Lesen, Formel- und Taschenrechner-Transferobjekt sowie JSON-Schreiben-Transferobjekt.
  2. Verbindung Produktionsdaten mit REST-Trigger, Formel- und Taschenrechner-Transferobjekten zur Werterzeugung sowie JSON-Schreiben-Transferobjekt.
  3. Optional eine oder mehrere Variablen, wenn Zwischenergebnisse getrennt abgelegt oder wiederverwendet werden sollen.

Produktiv schalten

Da dieses Beispiel aus zwei getrennten Verbindungen besteht, müssen beide Verbindungen nach der Projektierung explizit produktiv geschaltet werden. Eine allgemeine Beschreibung dazu finden Sie auf der Seite Verbindung anlegen. Dort wird im Abschnitt zum Pop-up-Menü auch der Button Verbindung produktiv schalten beschrieben.

Für dieses Beispiel bietet sich folgende Reihenfolge an:

  1. Verbindung Tokenabfrage erstellen und produktiv schalten.
  2. Token-Endpunkt per POST testen.
  3. Verbindung Produktionsdaten erstellen und produktiv schalten.
  4. Datenendpunkt per GET mit Bearer Token testen.

Beispielprojekt zum Import

Das vollständige Beispielprojekt steht als rest_bearer_token_and_production_data_example.rpe bereit.

Die Projektdatei enthält die beiden hier beschriebenen REST-Trigger-Verbindungen sowie zusätzlich die beiden Verbindungen aus dem Beispiel Verbindung mit Bearer Token.

Importieren Sie diese Projektdatei in den OPC Router, um das Beispiel vollständig nachzuvollziehen und direkt zu testen.