Welcher Trigger wann
Ein Flow läuft nicht ohne Trigger. Welchen Sie nehmen, entscheidet eine einzige Frage: Wer bestimmt den Zeitpunkt? Die Uhr, eine beobachtete Größe, ein angebundenes System oder eigener Code. Danach sind die Trigger hier in Familien geordnet.
Die zeitgesteuerten Trigger und der Variablen-Trigger gehören zu den Bordmitteln, die in jedem Flow zur Verfügung stehen. Alle übrigen kommen mit ihrem Plug-in und setzen eine konfigurierte Anbindung voraus.
Ein Flow kann mehrere Trigger tragen; ob einer genügt oder alle auslösen müssen, legt die Trigger-Verknüpfung fest (Einstellungen für Flows und Vorlagen). Je Trigger läuft dabei immer nur ein Transfer gleichzeitig (Wie ein Flow ausgeführt wird).
Zeitgesteuert: die Uhr bestimmt
Der Time-Trigger löst in einem frei wählbaren Intervall aus, wahlweise mit Startverzögerung oder einmal täglich zu einer festen Uhrzeit. Das Intervall zählt ab dem Ende des letzten Transfers, ein langsamer Transfer verschiebt also den nächsten. Der Cron-Trigger löst stattdessen zu Terminen aus, die ein Cron-Ausdruck beschreibt – bis hinunter zur Sekunde und hinauf zu Wochentag, Monat und Jahr.
Typisch: ein nächtlicher Export, eine Kennzahl im Minutentakt, das zyklische Abholen aus einer Quelle, die von sich aus nichts meldet.
Wertbasiert: eine beobachtete Größe ändert sich
Diese Trigger beobachten einen Datenpunkt oder ein Abfrageergebnis und lösen aus, wenn sich der Wert ändert oder eine Bedingung eintritt. Sie übertragen damit nur, wenn es etwas zu übertragen gibt.
- Der Variablen-Trigger reagiert auf die Änderung einer globalen Variablen und lässt sich über eine minimale und eine maximale Wartezeit sowie über relative und absolute Differenzen entschärfen.
- Die Trigger des OPC Clients decken den Anlagenfall ab: Wertänderung, Grenzwert mit Hysterese, ein gesetztes Bit, ein hochgezählter Zähler und die ausbleibende Änderung. Der Data-Change-Trigger erfasst dabei nicht sicher jede einzelne Änderung – wo kein Wert verloren gehen darf, sind der Message- oder der Bit-Trigger mit Handshake vorgesehen.
- In der Datenbank überwacht der Data-Change-Trigger das Ergebnis einer Abfrage, während der Transferstatus-Trigger auslöst, solange Datensätze als noch nicht transferiert markiert sind, und sie danach als transferiert oder fehlgeschlagen kennzeichnet.
Typisch: ein Messwert läuft aus dem Toleranzband, eine Steuerung meldet das Ende eines Auftrags, neue Zeilen einer Tabelle sollen genau einmal abgeholt werden.
Ereignis- und nachrichtenbasiert: das angebundene System meldet sich
Hier bestimmt die Gegenstelle den Zeitpunkt: Sie schickt eine Nachricht, ruft einen Endpunkt auf oder legt eine Datei ab. Der Flow wartet, bis das geschieht, und verarbeitet den mitgelieferten Inhalt.
- MQTT-Subscribe abonniert ein Topic über eine Brokeranbindung und stellt den Nachrichteninhalt dem Flow bereit.
- Der Apache Kafka-Trigger reagiert auf die projektierten Topics und gibt Payload und Key aus.
- Der REST-Trigger stellt umgekehrt selbst einen Endpunkt bereit, den ein externer Client aufruft.
- Der E-Mail-Trigger überwacht ein Postfach und löst bei eingehenden Nachrichten aus.
- Der Datei-Trigger löst aus, sobald eine Datei in einem Verzeichnis hinzukommt; der Network File Access-Trigger und der Cloud File Access-Trigger tun dasselbe für eine Netzwerkfreigabe beziehungsweise für einen Container oder Bucket in der Cloud, auch bei Änderung einer vorhandenen Datei.
- Auf SAP®-Seite empfängt der IDoc-Trigger IDocs, und über den RFC-Trigger lösen angebundene SAP®-Systeme den Transfer selbst aus.
Typisch: eine Maschine veröffentlicht ihre Daten auf einem Broker, ein Fremdsystem meldet einen Auftrag per REST, ein Lieferant legt eine Datei ab.
Skriptbasiert: eigener Code entscheidet
Der Skript-Trigger löst aus, wenn die CheckTrigger-Methode true zurückgibt. Seine Eingabeparameter werden in der Projektierung fest eingestellt und nicht zur Laufzeit gefüllt; benötigt die Bedingung aktuelle Werte, holt das Skript sie selbst.
Typisch: eine Auslösebedingung, die keiner der übrigen Trigger abbildet – etwa eine Verknüpfung mehrerer Größen oder ein Zustand, den erst eine Berechnung erkennbar macht.
Wenn keiner passt
Für einen Testlauf brauchen Sie gar keinen Trigger: Im Statusbaum lösen Sie einen Flow von Hand aus (Wie ein Flow ausgeführt wird). Die vollständige Liste der Trigger eines Plug-ins steht jeweils im Kapitel dieses Plug-ins unter Plug-ins.