Aller au contenu principal

Exemple 3 - Portes de véhicule

Exemple 3 - Portes de véhicule :​

Tâche :​

Il s'agit de compter combien de fois une porte de véhicule est ouverte. Il est par ailleurs intéressant de connaître le temps dont la porte a besoin pour s'ouvrir et se fermer, afin de déduire une éventuelle usure de l'entraînement. Les signaux OFFEN et GESCHLOSSEN sont disponibles ; ils passent chacun à true lorsque la porte est en fin de course.

Solution :​

TIME_OPEN = stopwatch(!GESCHLOSSEN, OFFEN, {hold: true});
TIME_CLOSE = stopwatch(!OFFEN, GESCHLOSSEN, {hold: true});
COUNT_OFFEN = counter(OFFEN, {storage: 'sto_COUNT'});

Fonctions utilisées​

Explication :​

  • TIME_OPEN : avec deux arguments, stopwatch() est appelée en mode démarrage-arrêt. Le chronomètre démarre lorsque la porte n'est plus fermée et s'arrête lorsqu'elle a atteint la position d'ouverture finale. Avec l'option hold: true, la valeur mesurée est maintenue jusqu'à la fin d'une nouvelle mesure.

  • TIME_CLOSE : similaire au précédent, ici pour le sens inverse.

  • COUNT_OFFEN : le compteur counter() compte combien de fois un front montant apparaît sur le signal OFFEN, c'est-à-dire combien de fois la porte a été ouverte. Pour que la valeur de comptage ne soit pas perdue lors d'un redémarrage du logiciel, une mémoire persistante est également indiquée ici.