Das lernst du heute
- Werte über Funk
- Befehle zurück
- Sicherheit
Die Eismine liegt zwei Kilometer von der Basis entfernt. Dort steht ein Chip, der die Pumpen steuert, und im Leitstand der Basis einer, der ihn bedient. Wie die Werte über die Strecke kommen, hast du bei der Fernsteuerung gesehen. Heute geht es um die Seite, die befiehlt – und um die Frage, woran sie merkt, dass draußen etwas nicht stimmt.
Die Schnittstelle
Beide Chips teilen sich ein paar Logic Memorys:
| Speicher | schreibt | Inhalt |
|---|---|---|
| „Fern_Puls“ | Außenstation | Lebenszeichen, zählt jeden Takt hoch |
| „Fern_Druck“ | Außenstation | ein Messwert, hier der Tankdruck |
| „Fern_Befehl“ | Leitstand | gewünschter Zustand der Pumpe, 0 oder 1 |
| „Fern_Nr“ | Leitstand | laufende Nummer des Befehls |
| „Fern_Quittung“ | Außenstation | Nummer des zuletzt ausgeführten Befehls |
Jede Adresse hat genau einen Schreiber. So überschreibt nie ein Chip, was der andere gerade gemeldet hat.
Werte über Funk: Lebt die Strecke?
Ein Messwert allein verrät nicht, ob er frisch ist. Steht die Funkstrecke still, zeigt der Speicher einfach den letzten Wert für immer. Deshalb zählt die Außenstation ein Lebenszeichen hoch, und der Leitstand misst, wie lange es sich nicht mehr bewegt hat:
lbn puls SPEICHER HASH("Fern_Puls") Setting Average
seq tmp puls altPuls # 1 = kein neues Lebenszeichen
add alter alter 1
mul alter alter tmp # neues Lebenszeichen: Alter 0
move altPuls puls
slt link alter TIMEOUT
Ohne Verbindung zeigt der Leitstand den Druck nicht mehr an, sondern −1. Ein alter Wert, der wie ein aktueller aussieht, ist gefährlicher als gar keiner.
Befehle zurück
Ein Befehl bekommt eine Nummer. Die Außenstation führt ihn aus und schreibt dieselbe Nummer als Quittung zurück. Solange beide Nummern verschieden sind, ist der Befehl unterwegs oder hängt:
sne tmp quittung nr # Aussenstation hat noch nicht ausgefuehrt
add offen offen 1
mul offen offen tmp
sgt tmp offen WARTEN
Die Nummer liest der Leitstand nach einem Neustart aus dem Speicher, statt wieder bei 0 zu beginnen. Sonst hielte die Außenstation den nächsten Befehl für einen alten.
Sicherheit
- Ohne Verbindung keine Befehle. Ein Knopfdruck ins Leere würde sonst später, wenn die Strecke wieder steht, überraschend ausgeführt.
- Ohne Quittung eine Warnung. Dann weiß der Bediener, dass er nachsehen muss.
- Die Außenstation entscheidet selbst über ihre Sicherheit. Sie geht bei Verbindungsverlust in ihren sicheren Zustand, egal was der Leitstand zuletzt wollte.
Übung
Aufgabe
Bau den Leitstand. Lampe „Verbindung“: an, solange sich „Fern_Puls“ innerhalb von 10 Durchläufen ändert. Der Taster „Pumpe_Schalten“ schaltet „Fern_Befehl“ zwischen 0 und 1 um und erhöht „Fern_Nr“ – nur mit Verbindung. Nach einem Neustart macht der Chip mit der Nummer im Speicher weiter. Blinklicht „Quittung_fehlt“: an, wenn „Fern_Quittung“ länger als 6 Durchläufe nicht zur Nummer passt. Die Anzeige „Fern_Druck“ zeigt den Wert aus dem gleichnamigen Speicher, ohne Verbindung -1.
Hinweise
Hinweis 1
Lebenszeichen: seq tmp puls altPuls, add alter alter 1, mul alter alter tmp – ein neuer Wert setzt das Alter auf 0.
Hinweis 2
Knopf: steigende Flanke mit sgt tmp knopf altKnopf, dann and mit link, umschalten mit seqz befehl befehl.
Hinweis 3
Vor start: die Nummer aus „Fern_Nr“ lesen und NaN durch 0 ersetzen.
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