Das lernst du heute
- Takte in Sekunden umrechnen
- Einschaltverzögerung
- Nachlaufzeit
Eine Pumpe soll erst anlaufen, wenn die Ventile sicher offen sind. Eine Warnlampe soll noch leuchten, wenn die Maschine schon steht. Beides sind Zeiten, und Zeit misst der Chip in Takten.
Takte und Sekunden
Ein Takt dauert 0,5 s, eine Sekunde hat also 2 Takte. Läuft deine Hauptschleife mit genau einem yield pro Durchlauf, ist jeder Durchlauf ein Takt:
| Zeit | Takte |
|---|---|
| 1 s | 2 |
| 10 s | 20 |
| 1 min | 120 |
| 1 h | 7200 |
sleep wartet auch, aber in dieser Zeit tut der Chip nichts anderes. Für Timer, die neben der restlichen Logik laufen, zählst du deshalb Takte.
Einschaltverzögerung
Der Ausgang geht erst an, wenn der Eingang eine Weile ohne Unterbrechung an war. Der Zähler läuft hoch, solange der Eingang 1 ist, und fällt sofort auf 0, wenn er 0 wird:
add zAn zAn 1
mul zAn zAn ein # Eingang aus: Zaehler auf 0
sge aus zAn VERZ # lange genug an?
Kurzes Antippen löst nichts aus. Das schützt auch vor Fehlbedienung.
Nachlaufzeit
Umgekehrt bleibt ein Ausgang nach dem Abschalten noch eine Weile an. Solange der Eingang an ist, wird der Zähler voll aufgeladen. Danach zählt er herunter:
sub zNach zNach 1
select zNach ein NACHLAUF zNach # an: neu aufladen
max zNach zNach 0
sgtz lampe zNach # noch Restzeit?
Die Vorlage „Licht bei Anwesenheit“ im IC10-Coder arbeitet genauso.
Ein Durchlauf ist nur dann ein Takt, wenn die Schleife unter 128 Befehlen bleibt. Braucht sie mehr, macht der Chip im nächsten Takt mitten im Durchlauf weiter, und deine Zeiten stimmen nicht mehr.
Schreib Zeiten als define in Takten und die Sekunden in den Kommentar: define VERZ 6 # 3 s. Dann sieht jeder sofort, was gemeint ist.
Schaubild
Übung
Aufgabe
Der Hebel „Pumpe“ startet die Volumenpumpe „Umfuellpumpe“.
- Anlauf: Die Pumpe läuft erst, wenn der Hebel
VERZTakte (3 s) ohne Unterbrechung an ist. - Nachlauf: Das Blinklicht „Betrieb“ ist an, solange die Pumpe läuft, und noch
NACHLAUFTakte (5 s) danach. - Fehlt der Hebel, steht die Pumpe.
Hinweise
Hinweis 1
sgtz ein ein macht aus NaN eine 0 – ohne Hebel keine Pumpe.
Hinweis 2
Anlauf: hochzählen, mit ein multiplizieren, mit sge gegen VERZ prüfen.
Hinweis 3
Nachlauf: herunterzählen, bei laufender Pumpe mit select auf NACHLAUF setzen, max … 0, dann sgtz.
Quiz
4 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Übung im Simulator bestanden
- Quiz mit mindestens 60 % bestanden
Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.
Fehler in dieser Lektion melden
Zum Melden bitte anmelden. Anmelden