Das lernst du heute
- Teilsysteme bauen und verbinden
- Tests
- Abnahme
Der letzte Baustein der Basisautomation. Die Teilsysteme stehen, die Zentrale kann schon Übersicht und Alarm. Jetzt bekommt sie die beiden Fähigkeiten, die aus Einzelteilen eine Anlage machen: Sie überwacht, ob jedes Teilsystem lebt, und sie gibt die Anforderung der Logistik als Auftrag an die Produktion weiter. Am Ende steht eine Abnahme – fünf Teilziele, die beweisen, dass alles zusammenpasst.
Watchdog für vier Systeme
In Teil 1 hatte jedes System eigene Register für den letzten Puls und sein Alter. Für vier Systeme wären das acht Register – zu viele. Die Zentrale legt die Werte deshalb in ihren eigenen Stack, als kleine Tabelle:
| Adresse | Inhalt |
|---|---|
| 0, 1 | LS: letzter Puls, Alter |
| 2, 3 | EN: letzter Puls, Alter |
| 4, 5 | PR: letzter Puls, Alter |
| 6, 7 | LG: letzter Puls, Alter |
Das Unterprogramm rechnet die Adresse aus der Bitnummer (mul adr bit 2) und liest und schreibt mit get und put auf db – das eigene Gehäuse, also den eigenen Stack. sp bleibt dabei unberührt.
Ein Durchlauf, zwei Takte
Vier Systeme mit Watchdog, Anzeige und Farbe kosten zusammen deutlich mehr als 128 Befehle. Ohne Eingriff bräche der Chip den Takt irgendwo mitten im Unterprogramm ab und machte im nächsten weiter – das liefe, aber niemand wüsste mehr, wann welcher Wert gilt. Die Zentrale teilt ihren Durchlauf deshalb bewusst, wie an Tag 305: Ein zweites yield nach LS und EN beendet den ersten Takt, PR, LG und der Rest folgen im zweiten. Ein Durchlauf dauert damit eine Sekunde, und TIMEOUT 4 heißt vier Sekunden ohne Puls.
Aufträge weitergeben
Die Logistik meldet in „LG_Anforderung“, was sie braucht. Die Zentrale schreibt diese Zahl in „PR_Auftrag“ – aber nur, wenn die Energie gesund ist: Status 0 und kein Watchdog-Alarm. Sonst schreibt sie 0, und die Produktion pausiert. Kommt der Strom zurück, steht dieselbe Zahl wieder im Auftrag, und weil sich die Zahl dabei ändert (0 auf 20), nimmt die Produktion ihn neu an.
Die Anlage der Zentrale
| Gerät | Prefab | Name |
|---|---|---|
| fünf LED-Anzeigen | StructureConsoleLED5 | „Z_LS“, „Z_EN“, „Z_PR“, „Z_LG“, „Z_Basis“ |
| Hupe | StructureKlaxon | „Z_Alarm“ |
| Taster | StructureLogicButton | „Z_Quittung“ |
| Logic Memorys | StructureLogicMemory | Schnittstelle aus Tag 351 |
Abnahme
- Übersicht und Gesamtzustand für alle vier Teilsysteme.
- Ein stehender Puls macht sein System zur Störung und löst Alarm aus.
- Neue Störungen hupen, bis quittiert wird.
- Die Anforderung der Logistik wird weitergegeben, bei kranker Energie pausiert.
- Ein fehlender Statusspeicher wird als Störung erkannt.
Zähl die Zeichen, bevor du Kommentare schreibst. Die Zentrale ist das längste Script des Jahres – die Langfassung mit allen Erklärungen gehört in die Bibliothek, im Chip reicht ein knapper Kopf.
Im Stack der Zentrale liegen jetzt Daten. Wer später push und pop dazubaut, muss darauf achten, dass der Stapel nicht über Adresse 8 hinweg in die Tabelle wächst. sp beginnt bei 0 – genau dort, wo LS seinen Puls ablegt.
Schaubild
Projektaufgabe
Aufgabe
Bau die fertige Zentrale nach den Regeln oben. Die Schnittstellen stehen im Kopf des Startcodes, die Register sind vergeben.
Teilziele
- Teilziel 1: Übersicht und Gesamtzustand
- Teilziel 2: Watchdog
- Teilziel 3: Alarm und Quittung
- Teilziel 4: Aufträge weitergeben
- Teilziel 5: Statusspeicher fehlt
Hinweise
Hinweis 1
Das Unterprogramm aus Tag 355 um den Watchdog erweitern: mul adr bit 2, get/put auf db für Puls und Alter.
Hinweis 2
Fehlt Status oder Puls, ist add tmp s p NaN – dann Störung.
Hinweis 3
Weitergabe: Energie gesund heißt EN_Status 0 und Bit 1 im Störungswort nicht gesetzt (ext tmp stoer 1 1).
Quiz
3 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.
Tag abschließen
- Alle Teilziele des Projekts 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