Aller au contenu principal

Exemple 4 - Détection d'un point d'arrêt

Exemple 4 - Détection d'un point d'arrêt :​

Tâche :​

Pour pouvoir effectuer des analyses statistiques plus poussées, l'état HALTEPUNKT est nécessaire. Il doit être activé lorsque l'autorisation d'ouverture des portes FREIGABE_LI, FREIGABE_RE est activée sur le véhicule. En raison des conditions locales, il peut arriver que le véhicule doive avancer vers une 2e ou 3e position d'arrêt sans quitter la station.

Solution :​

Cet exemple utilise le calcul de distance de l'exemple 2.

_doors = FREIGABE_LI || FREIGABE_RE;
_stnDist = DIST_KM - dFF(_doors, DIST_KM);    // km
HALTEPUNKT = rsFF(_stnDist > 0.100, _doors);    

Fonctions utilisées​

Explication :​

  • Les variables à usage interne sont repérées par un _ comme premier caractère. Cela améliore la lisibilité.

  • _doors : l'autorisation d'ouverture des portes peut être activée à gauche ou à droite. D'autres conditions pourraient s'y ajouter.

  • _stnDist : avec le front montant du signal d'autorisation des portes, le dFF() reprend la valeur de donnée, c'est-à-dire le kilométrage à cet instant. Le résultat de la différence est la distance parcourue depuis la dernière ouverture des portes.

  • HALTEPUNKT : la condition de point d'arrêt, sous la forme du rsFF(), doit être activée (set) à l'ouverture des portes et désactivée (reset) lorsque 100 m de trajet ont été parcourus. Cette distance est supérieure à la distance nécessaire pour avancer vers une autre position d'arrêt. Ce cas de figure est ainsi traité correctement.