Saltar al contenido principal

Ejemplo 3 - Puertas del vehículo

Ejemplo 3 - Puertas del vehículo:​

Tarea:​

Se debe contar cuántas veces se abre una puerta del vehículo. Además interesa cuánto tarda la puerta en abrirse y en cerrarse, para poder deducir un posible desgaste del accionamiento. Están disponibles las señales OFFEN y GESCHLOSSEN, que pasan a true cada una en la posición final de la puerta.

Solución:​

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

Funciones utilizadas​

Explicación:​

  • TIME_OPEN: con dos argumentos, stopwatch() se llama en modo inicio-parada. El reloj arranca cuando la puerta ya no está cerrada y se detiene cuando ha alcanzado la posición final de apertura. Con la opción hold: true, el valor medido se mantiene hasta que finaliza una nueva medición.

  • TIME_CLOSE: similar al anterior, aquí para el sentido contrario.

  • COUNT_OFFEN: el contador counter() cuenta cuántas veces aparece un flanco positivo en la señal OFFEN, es decir, cuántas veces se ha abierto la puerta. Para que el valor de conteo no se pierda al reiniciar el software, también aquí se indica una memoria persistente.