stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. Tag 137

Tag 137 von 365 · Fortgeschritten · Monat 5: Speicher und Struktur

Störung und Quittieren

Eine Störung bleibt stehen, bis jemand sie quittiert – und das geht erst, wenn die Ursache weg ist. Eine Zahl auf der Anzeige sagt, was los war.

Lektion 15 Min. Woche 20

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:

UrsacheBedeutung
0alles in Ordnung
1Übertemperatur über 35 °C
2Sensor 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.

Achtung

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.

Tipp

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

Esc
↑ ↓ wählenEnter öffnen/ öffnet die Suche überall