Arbeiten mit Zeit in Triggern
  • 31 Oct 2023
  • 6 Minuten zu lesen
  • Mitwirkende

Arbeiten mit Zeit in Triggern


Article Summary

Übersicht

Viele Aspekte von Vorgängen beruhen auf der Überprüfung der Zeit, die zwischen zwei Ereignissen vergangen ist. Hier erfahren Sie, wie Sie diese Zeit ermitteln können.

Die Überprüfung der Zeit, die zwischen zwei Zeitstempeln verstrichen ist, ist oft ein entscheidender Aspekt eines jeden Prozesses.

Zwei Zeitstempel können bestimmen:

  • eine bestimmte Produktionszeit
  • die Zeit, die seit der Ausführung einer Charge verstrichen ist
  • Die Zeit, die seit der Reinigung eines Reaktors vergangen ist.

Das Hinzufügen von Logik zu der Zeit zwischen zwei Datetime kann sowohl für die Datenerfassung als auch für Anwendungsaktionen sehr leistungsfähig sein.

Ein paar Anwendungsfälle für diese Funktionalität:

  • Prüfen der Zeit zwischen Inspektionen
  • Herausfinden, wie lange es her ist, dass ein bestimmtes Produkt betrieben wurde
  • Sicherstellung eines Wartungsplans.
  • Zeit zwischen zwei Punkten in einer App ermitteln

Dieser Leitfaden zeigt Ihnen, wie Sie einige dieser Szenarien in Ihrer Anwendung mithilfe einer Kombination aus Triggern, Tabellen und dem Expression Editor umsetzen können.

Die drei behandelten Beispiele sind:

  1. Berechnung der Zeit zwischen Schritten in zwei verschiedenen Teilen einer Anwendung
  2. Prüfen, ob in der letzten Woche eine Inspektion einer Maschine stattgefunden hat
  3. Festlegen eines Zieldatums für einen Arbeitsauftrag, wenn dieser erstmals in einer Anwendung gescannt wird

Nützliche Intervalle, die man kennen sollte:

1 Minute: 60 Sekunden

1 Stunde: 3600 Sekunden

1 Tag: 86.400 Sekunden

1 Woche: 604.800 Sekunden

1 Monat (30 Tage): 2.592.000 Sekunden

1 Jahr: 31.557.600 Sekunden

Beispiel 1: Zeit zwischen zwei Teilen einer Anwendung ermitteln (Produktionszeit)

In diesem Beispiel wird gezeigt, wie man die Differenz zwischen zwei Zeitstempeln innerhalb einer einzelnen Verwendung einer Anwendung berechnen kann.

Niveau: Fortgeschrittene

Für dieses Beispiel sollten Sie folgende Kenntnisse haben:

Fügen Sie am gewünschten "Startpunkt" für diesen Prozess eine "Dann"-Anweisung im Trigger-Editor hinzu, um das aktuelle Datum und die Uhrzeit zu erfassen.

Datenmanipulation - Store - App Info - Aktuelles Datum und Uhrzeit - Standort: .

Fügen Sie am gewünschten Endpunkt dieser Zeitmessung innerhalb der App einen weiteren Trigger hinzu, um das aktuelle Datum und die Uhrzeit zu erfassen**.**

Zusätzlich zur Erfassung der Uhrzeit können Sie nun auch den Trigger hinzufügen, um die Differenz zwischen den beiden Zeitstempeln zu ermitteln und in einer Variablen zu speichern.

In diesem Beispiel werden beide Zeiten erfasst, wenn eine Taste gedrückt wird, aber es wäre auch möglich, die Zeiten zu erfassen, wenn Schritte geschlossen oder geöffnet werden oder wenn Geräte feuern.

Die Zeitdifferenz wird in einer "Intervall"-Variablen in Form der Gesamtzahl der Sekunden zwischen den beiden Zeitstempeln gespeichert .

Beispiel 2: Überprüfung der Zeit zwischen den Inspektionen

Stufe: Fortgeschritten

Für dieses Beispiel benötigen Sie Kenntnisse über:

Im folgenden Beispiel besteht das Ziel der Anwendung darin, eine Tabelle "Maschineninspektion" zu überprüfen und festzustellen, wann die letzte Inspektion stattgefunden hat. Liegt die Inspektion über der erforderlichen Häufigkeit, fordert die App den Benutzer auf, eine Inspektion durchzuführen.

Verknüpfung der Tabelle:

Der erste Schritt in dieser App erfordert, dass ein Tabellendatensatz in die App geladen wird. Daher muss die Tabelle bereits vorhanden sein. Die Tabelle könnte etwa so aussehen:

  • ID (Text)
  • Letzte Inspektion (Zeitstempel)
  • Inspektionshäufigkeit (Intervall)

Die obige Tabelle enthält sowohl das letzte Mal, dass die Maschine inspiziert wurde, als auch die erforderliche Inspektionshäufigkeit für jede Maschine.

Nun muss die Tabelle in der App mit einem Datensatzplatzhalter versehen werden, um die Inspektion zu überprüfen. Fügen Sie dazu in der App einen Datensatzplatzhalter der Tabelle hinzu. Sie könnten ihn etwa so benennen:

Erstellen Sie die Variable:

Nachdem Sie nun die richtige Tabelle mit der App verknüpft haben, müssen Sie eine Variable erstellen, um die Differenz der beiden Zeitstempel zu speichern. Die Erstellung eines Datentyps "Intervall" ermöglicht diese Manipulation. Navigieren Sie dazu in den Kontextbereich des App-Editors und wählen Sie app.

Wählen Sie im Kontextbereich das Sigma-Symbol, um eine neue Variable zu erstellen.

Erstellen Sie im Variablenfenster eine neue Variable mit einem beliebigen Namen und wählen Sie den Typ "Intervall" aus dem Dropdown-Menü. Beachten Sie, dass diese Variable das Ergebnis der Subtraktion der beiden zu manipulierenden Zeitstempel enthalten wird.

Wählen Sie "Hinzufügen" und vergewissern Sie sich, dass die Variable vor dem Schließen in die Liste aufgenommen wird.

Oben heißt die Variable "ResultantTime" und markiert die Differenz zwischen den Zeiten. In diesem Beispiel wird die Zeit zwischen der letzten Inspektion und dem aktuellen Zeitpunkt der Anwendung notiert.

Laden des Tabellendatensatzes

Um den entsprechenden Tabellensatz zu prüfen, muss die Tabelle über die richtige Tabellen-ID geladen werden. In diesem Beispiel wird ein Datensatz geladen, der auf dem Wert eines Dropdown-Widgets basiert.

Beachten Sie, dass der Text genau mit der Tabellen-ID übereinstimmen muss, um den richtigen Tabellensatz zu laden.

Im obigen Formularschritt kann der Benutzer auswählen, welche Maschine geprüft werden soll. Es ist sehr wichtig, diesem Feld eine Variable hinzuzufügen, in diesem Fall MachineType, um dem Ergebnis eine Logik hinzuzufügen.

Prüfen der Logik

Jetzt ist es Zeit für die Prüfung!

Dieses Formular sollte beim Absenden die Zeit zwischen der aktuellen Zeit der App und dem vorherigen Zeitstempel aus der Tabelle überprüfen.

Um dies zu tun, müssen Sie einige "Custom Action"-Trigger zur Submit-Schaltfläche hinzufügen.

Zunächst muss die Schaltfläche den richtigen Tabellendatensatz laden:

Tabelle Datensätze - Datensatz laden - nach ID: Variable - MachineType - in: Inspektion

Diese Tabelle wird dynamisch auf der Grundlage der im Formularschritt ausgewählten Maschine geladen, anstatt mehrere Aktionen zum Laden bestimmter Tabellen zu erstellen.

Als Nächstes wird die Schaltfläche "Senden" die Zeit zwischen jetzt und dem Zeitstempel im geladenen Tabellendatensatz ermitteln. Im gleichen Trigger könnten Sie etwas wie das folgende hinzufügen:

Diese Anweisung subtrahiert die aktuelle Zeit vom vorherigen Zeitstempel der Tabelle. Diese Zeitdifferenz wird dann als Intervall-Datentyp in der eingangs erstellten Variable gespeichert.

In einem neuen Trigger wird die Differenz zwischen den beiden Zeitstempeln eine Aktion für die Anwendung bestimmen.

Wenn zum Beispiel die Zeit zwischen jetzt und der letzten Inspektion größer ist als die erforderliche Häufigkeit, muss der Bediener die Maschine inspizieren. Wenn nicht, ist die Maschine in Ordnung und es sind keine Maßnahmen erforderlich. Dies könnte etwa so aussehen:

WENN

Variable - ResultierendeZeit - > - Tabellensatz - Inspektion - Inspektionshäufigkeit

DANN

Weiter zu Schritt - Inspektion

Hier stellt die Prüfung sicher, dass die Inspektion erneut durchgeführt werden muss, wenn die Zeit zu groß war.

Ist dies nicht der Fall, kann die Anwendung abgeschlossen werden, da diese Anwendung für die Kontrolle und Durchführung von Inspektionen verwendet wird.

Diese Else-Anweisung innerhalb des gleichen Triggers könnte etwa so aussehen:

ELSE IF

App - App abbrechen

Nachricht anzeigen - Statischer Wert - Text - Ihre Nachricht

Aktualisieren der Tabelle

Sobald die Inspektion abgeschlossen ist, sollte der Tabellendatensatz aktualisiert werden, um zu zeigen, dass die Inspektion durchgeführt worden ist. Dazu ist es am besten, einen Auslöser zum Abschluss der Inspektionsschritte hinzuzufügen. Auf diese Weise wird der Datensatz erst aktualisiert, wenn die Inspektion vollständig abgeschlossen ist.

Fügen Sie einen Auslöser hinzu, um die neue Zeit zu speichern, etwa so:

Datenmanipulation - Speichern - App-Info - Aktuelles Datum und Uhrzeit - Tabellendatensatz - Inspektion - Letzte Inspektion

Beispiel 3- Festlegen des Zieltermins für die Fertigstellung eines Arbeitsauftrags

Nehmen wir an, dass ein Arbeitsauftrag 10 verschiedene Arbeitsgänge durchlaufen muss, bevor er abgeschlossen ist.

Wenn der Arbeitsauftrag mit dem ersten der 10 Vorgänge beginnt, müssen Sie ein "Fälligkeitsdatum" erstellen, das den Erwartungen des Kunden entspricht. Nehmen wir an, dass das Fälligkeitsdatum 1 Woche nach Beginn des ersten Vorgangs liegt.

Um dies in Tulip zu erreichen, müssen Sie ein Intervall zur aktuellen Zeit hinzufügen, um die Zeit für eine Woche in der Zukunft zu bestimmen.

Dann sollten Sie dieses "Fälligkeitsdatum" in Ihrer Tabelle "Arbeitsaufträge" speichern. Und so geht's.

Zunächst müssen Sie eine Variable erstellen, die den Wert für eine Woche in der Zukunft in einem Intervall speichert.

Gehen Sie zum Dialogfeld Variablen im Kontextbereich und erstellen Sie eine neue Variable mit dem Namen "next_7_days" und dem Typ Intervall.

Setzen Sie dann den Standardwert auf 604800 Sekunden, etwa so. Das ist die Anzahl der Sekunden in einer Woche:

Als nächstes erstellen Sie einen Datensatzplatzhalter für den aktuellen Arbeitsauftrag und laden diesen Arbeitsauftrag in die App.

Nachdem der Datensatz geladen wurde, können Sie das Feld "Fälligkeitsdatum" mithilfe eines Ausdrucks festlegen:

  • "Datenmanipulation" "Daten speichern": "Expression" "App Info - Aktuelles Datum und Uhrzeit + Variable.next_7_days" Ort: "Table Record" "Current Work Order" "Due Date"

In der obigen Trigger-Anweisung addieren wir 7 Tage zum aktuellen Datum und zur aktuellen Uhrzeit, um das Fälligkeitsdatum zu erstellen.


Haben Sie gefunden, wonach Sie gesucht haben?

Sie können auch zu community.tulip.co gehen und Ihre Frage stellen oder sehen, ob andere eine ähnliche Frage hatten!


War dieser Artikel hilfreich?