Beispiel 3 - Fahrzeugtüren
Beispiel 3 - Fahrzeugtüren:
Aufgabe:
Es soll gezählt werden, wie oft eine Fahrzeugtür geöffnet wird. Des weiteren ist von Interesse, wie lange die Tür zum Öffnen und Schließen braucht, um auf möglichen Verschleiß des Antriebs zu schließen. Es stehen die Signale OFFEN
und GESCHLOSSEN
zur Verfügung, die jeweils in der Endlage der Tür auf true gehen.
Lösung:
TIME_OPEN = stopwatch(!GESCHLOSSEN, OFFEN, {hold: true});
TIME_CLOSE = stopwatch(!OFFEN, GESCHLOSSEN, {hold: true});
COUNT_OFFEN = counter(OFFEN, {storage: 'sto_COUNT'});
Verwendete Funktionen
Erläuterung:
-
TIME_OPEN
: Mit zwei Argumenten wirdstopwatch()
im Start-Stop-Betrieb aufgerufen. Die Uhr startet, wenn die Tür nicht mehr geschlossen ist und stoppt, wenn sie die geöffnete Endlage erreicht hat. Mit der Optionhold: true
wird der Messwert bis zum Abschluss einer neuen Messung festgehalten. -
TIME_CLOSE
: Ähnlich dem vorherigen, hier für die Gegenrichtung. -
COUNT_OFFEN
: Der Zähler counter() zählt, wie oft eine positive Flanke auf dem Signal OFFEN erscheint, also die Tür geöffnet wurde. Damit der Zählwert über einen Neustart der Software nicht verloren geht, wird auch hier ein persistenter Speicher angegeben.