Das lernst du heute
- Knöpfe innen und außen
- Statuslampen
- Ansagen mit Sound
Ein Hebel in der Kammer reicht für den Anfang. Aber wer draußen steht, kommt nicht an ihn heran, und wer in der Basis wartet, sieht nicht, ob die Schleuse gerade arbeitet. Eine gute Schleuse hat Tasten auf beiden Seiten, eine Anzeige und eine Ansage.
Tasten innen und außen
Jede Taste holt die Schleuse auf ihre Seite:
| Taste | sitzt | wählt |
|---|---|---|
| „Innen“ | in der Basis und in der Kammer neben der Innentür | Richtung 0: füllen, Innentür auf |
| „Aussen“ | draußen und in der Kammer neben der Außentür | Richtung 1: leer pumpen, Außentür auf |
Wer raus will, ruft die Schleuse mit „Innen“, tritt ein und drückt in der Kammer „Aussen“. Gleichnamige Tasten liest ein Batch mit Average gemeinsam: Ist eine gedrückt, ist der Wert größer als 0.
Eine Taste meldet Activate 1, solange sie gedrückt ist. Für die Richtung zählt nur der neue Druck, die Flanke von 0 nach oben:
lbn innen TASTE HASH("Innen") Activate Average
slt tmp altInnen innen # 1 = gerade gedrueckt
select richtung tmp 0 richtung
move altInnen innen # fuer den naechsten Takt
Ohne Flanke gewinnt, wer länger drückt: Hält draußen jemand „Aussen“ fest, käme „Innen“ nie durch. Mit Flanke gewinnt der letzte neue Druck.
Die Richtung schreibt das Bedienpult in einen Logikspeicher „Richtung“. Den liest der Chip, der Türen und Lüftung steuert, wie vorher den Hebel – im define steht dann StructureLogicMemory statt StructureLogicSwitch. So verteilst du die Arbeit auf zwei Chips, und keiner stößt an die 4096 Zeichen.
Statuslampen
Wandleuchten und Blinklichter kennen nur On, keine Farbe und kein Dimmen. Farbe gibt es an der LED-Anzeige über Color:
select farbe bereit Color.Green Color.Yellow
select farbe ok farbe Color.Red
sbn ANZEIGE HASH("Status") Color farbe
Grün: Die Schleuse steht auf der gewählten Seite bereit. Gelb: Sie wechselt gerade, bitte warten. Rot: Der Sensor fehlt. Das Blinklicht „Warnlicht“ läuft, solange nicht Grün ist.
Schreib Color nie auf eine Wandleuchte. Sie kennt diesen LogicType nicht, und ein Gerät, das einen LogicType nicht schreiben kann, hält den Chip mit einem Fehler an. Farbige Rückmeldung gehört auf die LED-Anzeige.
Ansagen mit Sound
Der Lautsprecher (StructureKlaxon) wählt seinen Ton über SoundAlert – das ist dieselbe Zahl wie Mode. On 1 spielt, On 0 schweigt. Für Schleusen hat das Spiel eigene Ansagen:
| Name | Zahl | passt zu |
|---|---|---|
Sound.Depressurising | 20 | Abpumpen |
Sound.Pressurising | 21 | Füllen |
Sound.AirlockCycling | 22 | Schleuse wechselt |
Sound.MalfunctionDetected | 26 | Störung |
select ton richtung Sound.Depressurising Sound.Pressurising
lbn tmp HUPE HASH("Ansage") SoundAlert Average
beq tmp ton ton_gleich
sbn HUPE HASH("Ansage") SoundAlert ton
ton_gleich:
sbn HUPE HASH("Ansage") On warn
Den Ton schreibt der Chip nur, wenn er sich ändert: Jedes Schreiben von SoundAlert stößt den Ton neu an, auch mit demselben Wert.
An einer Zahlenstelle braucht ein Name seinen Namensraum: Sound.Depressurising, Color.Green. Der nackte Name allein ist dort keine Zahl.
Übung
Aufgabe
Baue das Bedienpult als eigenen Chip. Er steuert keine Türen. Er sagt der Schleuse nur, wohin sie soll, und zeigt an, was sie tut.
- Taste „Innen“: Richtung 0, Taste „Aussen“: Richtung 1 – jeweils nur beim neuen Druck (Flanke). Die Richtung geht per
Settingin den Logikspeicher „Richtung“. Nach dem Start ist die Richtung 0. - Bereit ist die Schleuse bei Richtung 1 unter
LEERund bei Richtung 0 abVOLL(Sensor „Schleuse“). - LED-Anzeige „Status“:
Setting= Kammerdruck,Colorgrün (bereit), gelb (wechselt), rot (Sensor fehlt; dannSetting−1). - Blinklicht „Warnlicht“ an, solange die Schleuse nicht bereit ist.
- Lautsprecher „Ansage“:
SoundAlertbeim AbpumpenSound.Depressurising, beim FüllenSound.Pressurising, ohne SensorSound.MalfunctionDetected.Onwie das Warnlicht.
Hinweise
Hinweis 1
Flanke: slt tmp altInnen innen, select richtung tmp 0 richtung, danach move altInnen innen. Für „Aussen“ genauso mit 1.
Hinweis 2
Bereit: slt tmp druck LEER, sge bereit druck VOLL, dann select bereit richtung tmp bereit.
Hinweis 3
Farbe: select farbe bereit Color.Green Color.Yellow, dann select farbe ok farbe Color.Red.
Hinweis 4
Warnlicht und Lautsprecher: seqz warn bereit. Bei NaN ist bereit 0, also gibt es eine Warnung.
Quiz
5 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