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

Tag 249 von 365 · Profi · Monat 9: Logistik und Gewächshaus

Logistikzentrum

Ein Logistikzentrum nimmt Anforderungen aus Logik-Speichern an, bedient sie nach Vorrang und liefert aus dem Zentrallager – oder aus der Reserve, wenn das leer ist.

Lektion 22 Min. Woche 36

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.

Achtung

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

Aufruf und Rücksprung eines Unterprogramms Hauptschleife 2 l r0 d0 Temperature 3 jal celsius 4 s d2 Setting r1 5 l r0 d1 Temperature 6 jal celsius 7 s d3 Setting r1 8 j start celsius: sub r1 r0 273.15 j ra ra = 4 zurück zu Zeile ra
Ein Unterprogramm „liefern“ für alle Anforderungen. Wer anfragt, entscheidet nur, wann es gerufen wird.

Ü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

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