Travailler avec le temps dans les déclencheurs
  • 31 Oct 2023
  • 7 Minutes à lire
  • Contributeurs

Travailler avec le temps dans les déclencheurs


Article Summary

Vue d'ensemble

De nombreux aspects des opérations reposent sur la vérification du temps écoulé entre deux événements. Voici comment trouver ce temps.

La vérification du temps écoulé entre deux horodatages est souvent un aspect crucial de tout processus.

Deux horodatages peuvent déterminer

  • une durée de production donnée
  • le temps écoulé depuis l'exécution d'un lot
  • le temps écoulé depuis le nettoyage d'un réacteur.

L'ajout d'une logique au temps écoulé entre deux dates peut s'avérer très puissant pour la collecte de données, ainsi que pour les actions de l'application.

Voici quelques cas d'utilisation de cette fonctionnalité :

  • Vérifier le temps écoulé entre deux inspections
  • Déterminer depuis combien de temps un produit donné n'a pas été utilisé
  • Établir un calendrier de maintenance.
  • Trouver le temps entre deux points dans une application

Ce guide vous montrera comment construire quelques-uns de ces scénarios dans votre application en utilisant une combinaison de déclencheurs, de tables et de l'éditeur d'expression.

Les trois exemples abordés sont les suivants :

  1. Calculer le temps entre deux étapes dans deux parties différentes d'une application
  2. Vérifier si une inspection d'une machine a eu lieu au cours de la semaine écoulée
  3. Définir une date cible pour un bon de travail lorsqu'il est initialement scanné dans une application.

Intervalles utiles à connaître :

1 minute : 60 secondes

1 heure : 60 secondes 3600 secondes

1 jour : 86 400 secondes

1 semaine : 604 800 secondes

1 mois (30 jours) : 2 592 000 secondes

1 an : 31 557 600 secondes

Exemple 1 : Trouver le temps entre deux parties d'une application (temps de production)

Dans cet exemple, nous allons montrer comment calculer la différence entre deux horodatages au sein d'une même utilisation d'une application.

Niveau de compétence : Intermédiaire

Pour cet exemple, vous devriez avoir une compréhension de :

Sur le point de départ souhaité pour ce processus, ajoutez une instruction "Then" dans l'éditeur de déclencheurs pour capturer la date et l'heure actuelles.

Manipulation de données - Store - App Info - Current Date and Time - location : .

Au point "Fin" souhaité de cette mesure du temps dans l'application, ajoutez un autre déclencheur pour capturer la date et l'heure actuelles**.**

En plus de la capture de l'heure, vous pouvez également ajouter le déclencheur pour trouver la différence entre les deux horodatages et la stocker dans une variable.

Dans cet exemple, les deux temps sont pris lorsqu'un bouton est pressé, mais il serait également possible de capturer les temps de fermeture ou d'ouverture des étapes, ou les temps de déclenchement des dispositifs.

La différence de temps est stockée dans une variable "Intervalle" en termes de nombre total de secondes entre les deux horodatages.

Exemple 2 : Vérification du temps entre deux inspections

Niveau : Avancé

Pour cet exemple, vous devez avoir des connaissances sur les points suivants

Dans l'exemple suivant, l'objectif de l'application est de vérifier un tableau "Inspection de la machine" et de déterminer la date de la dernière inspection. En outre, si l'inspection est supérieure à la fréquence requise, l'application demandera à l'utilisateur d'effectuer une inspection.

Relier le tableau :

La première étape de cette application nécessite le chargement d'un enregistrement de tableau dans l'application. Le tableau doit donc déjà exister. Le tableau peut ressembler à ceci

  • ID (texte)
  • Dernière inspection (date)
  • Fréquence d'inspection (intervalle)

Ci-dessus, le tableau contient à la fois la dernière inspection de la machine et la fréquence d'inspection requise pour chaque machine.

Il faut maintenant attribuer au tableau un espace réservé dans l'application pour vérifier l'inspection. Pour ce faire, ajoutez un espace réservé à l'enregistrement du tableau dans l'application. Vous pouvez le nommer comme suit

Créer la variable :

Maintenant que vous avez lié le tableau approprié à l'application, vous devez créer une variable pour stocker la différence entre les deux horodatages. La création d'un type de données "Interval" permettra cette manipulation. Vous pouvez le faire en vous rendant dans le volet contextuel de l'éditeur d'application et en sélectionnant l'application.

Dans le volet contextuel, sélectionnez le symbole sigma pour créer une nouvelle variable.

Dans le volet des variables, créez une nouvelle variable portant le nom de votre choix et sélectionnez le type "intervalle" dans le menu déroulant. Notez que cette variable contiendra le résultat de la soustraction des deux horodatages qui seront manipulés.

Veillez à sélectionner "Ajouter", et assurez-vous que la variable s'ajoute à la liste avant de fermer.

Ci-dessus, la variable est nommée "ResultantTime", et marquera la différence entre les temps. Dans cet exemple, elle indique le temps écoulé entre la dernière inspection et l'heure actuelle de l'application.

Charger l'enregistrement du tableau

Afin de vérifier l'enregistrement de table approprié, la table doit être chargée avec le bon ID de table. Dans cet exemple, nous chargerons un enregistrement basé sur la valeur d'un widget déroulant.

Notez que le texte doit correspondre exactement à l'ID de la table afin de charger correctement l'enregistrement de la table.

L'étape du formulaire ci-dessus permet à l'utilisateur de sélectionner la machine qui sera vérifiée. Il est très important de veiller à ajouter une variable à ce champ, en l'occurrence MachineType, afin d'ajouter une logique au résultat.

Vérification de la logique

Il est maintenant temps de vérifier !

Ce formulaire, lorsqu'il est soumis, doit vérifier le temps écoulé entre l'heure actuelle de l'application et l'heure précédente du tableau.

Pour ce faire, vous devrez ajouter quelques déclencheurs d'actions personnalisées au bouton de soumission.

Tout d'abord, le bouton doit charger le bon enregistrement de la table :

Table Records - Load Record - by ID : Variable - MachineType - into : Inspection

Ce tableau est chargé dynamiquement en fonction de la machine sélectionnée dans l'étape du formulaire, plutôt que de créer plusieurs actions pour charger certains tableaux.

Ensuite, le bouton d'envoi trouvera le temps écoulé entre le moment présent et l'horodatage de l'enregistrement de la table chargée. Dans le même déclencheur, vous pourriez ajouter quelque chose comme ceci :

Cette instruction soustrait l'heure actuelle de l'horodatage précédent du tableau. Elle enregistre ensuite cette différence de temps sous la forme d'un type de données Interval, dans la variable créée au début.

Dans un nouveau déclencheur, la différence entre les deux horodatages déterminera une action pour l'application.

Par exemple, si le temps écoulé entre le moment présent et la dernière inspection est supérieur à la fréquence nécessaire, l'opérateur doit inspecter la machine. Dans le cas contraire, la machine est en bon état et aucune action n'est nécessaire. Cela pourrait ressembler à ce qui suit :

IF

Variable - ResultantTime - > - Table Record - Inspection - Inspection Frequency

ALORS

Passer à l'étape - Inspection

Ici, la vérification permet de s'assurer que si le temps a été trop long, l'inspection doit être effectuée à nouveau.

Si ce n'est pas le cas, l'application peut se terminer, puisque cette application est utilisée pour vérifier et effectuer des inspections.

Cette instruction Else, dans le même déclencheur, pourrait ressembler à ceci :

ELSE IF

App - Cancel App

Show Message - Static Value - text - your message

Mise à jour du tableau

Une fois l'inspection terminée, l'enregistrement du tableau doit être mis à jour pour indiquer que l'inspection a été effectuée. Pour ce faire, il est préférable d'ajouter un déclencheur à la clôture des étapes de l'inspection. Ainsi, l'enregistrement ne sera mis à jour qu'une fois l'inspection terminée.

Ajoutez un déclencheur pour enregistrer la nouvelle heure, comme ceci :

Manipulation des données - Magasin - Infos sur l'application - Date et heure actuelles - Enregistrement du tableau - Inspection - Dernière inspection

Exemple 3- Définir la date cible d'achèvement d'un bon de travail

Supposons qu'un bon de travail doive passer par 10 opérations distinctes avant d'être achevé.

Lorsque le bon de travail commence à la première des 10 opérations, vous devez créer une "date d'échéance" qui corresponde aux attentes du client. Disons que la date d'échéance est une semaine après le début de la première opération.

Pour réaliser cela dans Tulip, vous devrez ajouter un Intervalle à l'heure actuelle afin de déterminer l'heure d'une semaine dans le futur.

Ensuite, vous devez enregistrer cette "Date d'échéance" dans votre tableau "Bons de travail". Voici comment procéder.

Tout d'abord, vous devez créer une variable qui stocke la valeur d'une semaine dans le futur dans un intervalle.

Allez dans la boîte de dialogue Variables du volet Contexte et créez une nouvelle variable appelée "next_7_days" avec le type intervalle.

Définissez ensuite sa valeur par défaut à 604800 secondes, comme ceci. Il s'agit du nombre de secondes dans une semaine :

Ensuite, vous allez créer un espace réservé pour l'enregistrement du bon de travail actuel et charger ce bon de travail dans l'application.

Une fois l'enregistrement chargé, vous pouvez définir le champ "Date d'échéance" à l'aide d'une expression :

  • "Manipulation de données" "Stocker" les données : "Expression" "App Info - Date et heure actuelles + Variable.next_7_days" location : "Table Record" "Current Work Order" "Due Date"

Dans l'instruction de déclenchement ci-dessus, nous ajoutons 7 jours à la date et à l'heure actuelles pour créer la date d'échéance.


Avez-vous trouvé ce que vous cherchiez ?

Vous pouvez également vous rendre sur community.tulip.co pour poser votre question ou voir si d'autres personnes ont rencontré une question similaire !


Cet article vous a-t-il été utile ?