Passa al contenuto principale

Esempio 4 - Rilevamento di una fermata

Esempio 4 - Rilevamento di una fermata:​

Compito:​

Per poter eseguire ulteriori analisi statistiche è necessario lo stato HALTEPUNKT. Esso deve essere impostato quando sul veicolo viene attivato il consenso all'apertura delle porte FREIGABE_LI, FREIGABE_RE. A causa delle condizioni locali può accadere che il veicolo debba avanzare a una seconda o terza posizione di arresto senza lasciare la fermata.

Soluzione:​

Questo esempio utilizza il calcolo della distanza percorsa dall'Esempio 2.

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

Funzioni utilizzate​

Spiegazione:​

  • Le variabili per uso interno sono contrassegnate da un _ come primo carattere. Ciò migliora la leggibilità.

  • _doors : Il consenso all'apertura delle porte può essere attivo a sinistra o a destra. Forse qui si aggiungeranno ulteriori condizioni.

  • _stnDist: Con il fronte positivo sul segnale di consenso all'apertura delle porte, dFF() acquisisce il valore del dato, cioè il chilometraggio in quell'istante. Il risultato della differenza è la distanza percorsa dall'ultima apertura delle porte.

  • HALTEPUNKT: La condizione di fermata, sotto forma di rsFF(), deve essere impostata (set) con l'apertura delle porte e viene rimossa quando sono stati percorsi 100 m (reset). Questa distanza è maggiore di quella necessaria per avanzare a una posizione di arresto alternativa. In questo modo tale manovra viene gestita correttamente.