Das lernst du heute
- Fehlerzustand festhalten
- Quittieren per Knopf
- Ursache anzeigen
Die Wandheizung im Labor hält 18 bis 20 °C. Eines Morgens zeigt der Sensor 40 °C – der Ofen nebenan hat den Raum aufgeheizt, vielleicht brennt es sogar. Die Heizung schaltet ab. Eine Stunde später ist es wieder kühl, und die Heizung springt an, als wäre nichts gewesen. Niemand hat etwas gemerkt, bis es das nächste Mal passiert.
Echte Heizanlagen haben dafür einen Sicherheitstemperaturbegrenzer: Er schaltet ab und bleibt aus, bis jemand von Hand entriegelt. Genau das baust du heute.
Die Störung festhalten
Ein Register ursache hält fest, was passiert ist. 0 heißt „keine Störung“, jede andere Zahl ist ein Grund:
| Ursache | Bedeutung |
|---|---|
| 0 | alles in Ordnung |
| 1 | Übertemperatur über 35 °C |
| 2 | Sensor fehlt |
In jedem Takt ermittelt der Chip, ob jetzt ein Grund vorliegt. Eine neue Ursache wird nur übernommen, wenn noch keine gespeichert ist:
move jetzt 0
sgt tmp temp MAXTEMP
select jetzt tmp HEISS jetzt # 1 = zu heiss
snan tmp temp
select jetzt tmp SENSORWEG jetzt # 2 = Sensor fehlt
select ursache ursache ursache jetzt # erste Ursache bleibt
Die letzte Zeile ist die Verriegelung: Steht in ursache schon etwas, bleibt es stehen, sonst kommt jetzt hinein. Sinkt die Temperatur wieder, wird jetzt 0 – ursache aber nicht.
Quittieren per Knopf
Nur eine Taste darf die Störung löschen, und auch nur, wenn gerade kein Grund mehr vorliegt:
seqz tmp jetzt # Ursache weg?
and tmp tmp knopf # ... und Taste gedrueckt?
select ursache tmp 0 ursache
Ist es noch zu heiß, passiert beim Drücken nichts. So kann niemand eine Störung wegdrücken, deren Grund noch besteht.
Ursache anzeigen
Die Heizung läuft nur ohne Störung, ein Blinklicht macht sie sichtbar, und eine LED-Anzeige nennt die Nummer:
seqz frei ursache # 1 = keine Stoerung
and tmp heiz frei
sbn HEIZUNG HASH("Heizung") On tmp
snez tmp ursache
sbn LICHT HASH("Stoerung") On tmp
sbn ANZEIGE HASH("Ursache") Setting ursache
Die Hysterese in heiz rechnet dabei ungestört weiter. Nach dem Quittieren macht die Heizung genau dort weiter, wo die Temperatur gerade steht.
Quittiere mit einer Taste, nicht mit einem Hebel. Bleibt ein Hebel auf „an“ stehen, ist die Quittierung dauernd erfüllt: Jede Störung löscht sich von selbst, sobald die Ursache weg ist, und die Verriegelung ist wirkungslos.
Bleib bei der ersten Ursache. Fällt nach der Übertemperatur auch noch der Sensor aus, zeigt die Anzeige weiter 1. Die erste Meldung führt zum eigentlichen Problem, die späteren sind oft nur Folgen davon.
Übung
Aufgabe
Die Laborheizung bekommt eine Sicherheitsabschaltung. Geräte: Gassensor „Labor“, Wandheizung „Heizung“, Blinklicht „Stoerung“, LED-Anzeige „Ursache“, Taste „Quittieren“.
- Über 35 °C: Störung mit Ursache 1. Sensor weg: Ursache 2.
- Die erste Ursache bleibt gespeichert, auch wenn der Grund verschwindet.
- Die Taste löscht die Störung, aber nur, wenn gerade kein Grund vorliegt.
- Während einer Störung ist die Heizung aus und das Blinklicht an. Die Anzeige zeigt die Ursache (0 = keine).
Die Hysterese 18–20 °C ist schon fertig.
Hinweise
Hinweis 1
jetzt beginnt jeden Takt bei 0: move jetzt 0, dann mit sgt und snan und je einem select die Ursache eintragen.
Hinweis 2
Verriegeln: select ursache ursache ursache jetzt – nur eine leere Ursache wird gefüllt.
Hinweis 3
Quittieren: seqz tmp jetzt, and tmp tmp knopf, select ursache tmp 0 ursache.
Hinweis 4
Heizung: seqz frei ursache und and tmp heiz frei. Blinklicht: snez tmp ursache.
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