Das lernst du heute
- Mehrere Lager verbinden
- Anforderungen
- Prioritäten
Die Hütte braucht Stahl, die Werkstatt Eisen, und beide rufen gleichzeitig. Ein Logistikzentrum sammelt solche Anforderungen, entscheidet, wer zuerst dran ist, und schickt aus dem richtigen Lager los.
Mehrere Lager verbinden
Die Lager sind Verkaufsautomaten mit eigenem Namen im selben Datennetz: „Zentrallager“ für den Alltag, „Reservelager“ für Notfälle. Ein Chip erreicht beide über sbn mit dem Namen. Ob das Zentrallager noch etwas hat, verrät Ratio.
Anforderungen
Jede Station hat einen Logik-Speicher („BedarfHuette“, „BedarfWerkstatt“). Sie schreibt den Prefab-Hash dessen hinein, was sie braucht – zum Beispiel aus dem rmap-Chip an der Drehbank. 0 heißt: nichts nötig.
Das Zentrum liest den Speicher, liefert und quittiert, indem es den Speicher auf 0 zurücksetzt. So wird jede Anforderung genau einmal bedient.
jal liefern
sbn SPEICHER HASH("BedarfHuette") Setting 0
Prioritäten
Die Reihenfolge im Code ist die Priorität: Erst wird die Hütte gefragt. Hat sie eine Anforderung, wird sie bedient, und der Chip springt zurück zum Anfang – die Werkstatt kommt im nächsten Takt dran. Nur wenn die Hütte nichts braucht, prüft er die Werkstatt.
Ein Unterprogramm für das Liefern
Wohin geliefert wird, entscheidet ein Unterprogramm: Zentrallager, solange es über 5 % belegt ist, sonst die Reserve. Beide Stationen rufen dasselbe Unterprogramm mit jal; die Anforderung steht in anf.
liefern:
lbn tmp AUTOMAT HASH("Zentrallager") Ratio Average
sge tmp tmp LEER
beqz tmp reserve
Fehlt das Zentrallager, ist Ratio NaN, sge liefert 0 – die Reserve springt ein.
Ein Hash kann negativ sein. Prüfe Anforderungen deshalb auf „ungleich 0“ (beqz), nie auf „größer 0“. Und fange NaN vorher ab: select würde einen fehlenden Speicher sonst für eine Anforderung halten.
Schaubild
Übung
Aufgabe
Zwei Logik-Speicher „BedarfHuette“ und „BedarfWerkstatt“ enthalten einen Prefab-Hash oder 0. Bediene pro Takt eine Anforderung, die Hütte zuerst: Ein Unterprogramm liefern schreibt den Hash als RequestHash an den Verkaufsautomaten „Zentrallager“ – oder an „Reservelager“, wenn das Zentrallager unter 5 % belegt ist oder fehlt. Danach setzt der Chip den bedienten Speicher auf 0.
Hinweise
Hinweis 1
Je Station: Speicher lesen, NaN mit snan/select zu 0 machen, bei 0 weiter.
Hinweis 2
Bedienen: jal liefern, danach den Speicher auf 0 und j start.
Hinweis 3
liefern: Ratio des Zentrallagers mit sge gegen LEER, sonst zur Reserve; Rücksprung mit j ra.
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