Das lernst du heute
- Produktion als Teilsystem
- Aufträge annehmen
- Status melden
Das dritte Teilsystem fertigt. Die Produktion bekommt von der Zentrale einen Auftrag – „20 Stück“ – und arbeitet ihn ab. Sie entscheidet nicht, was gebraucht wird, das weiß die Logistik. Sie entscheidet nur, wie gefertigt wird.
Aufträge annehmen
Ein Auftrag ist eine Stückzahl in „PR_Auftrag“. 0 heißt: nichts zu tun. Ein neuer Auftrag ist jede Änderung der Zahl. Wechselt sie von 0 auf 20, beginnt die Arbeit, und bleibt sie bei 20, läuft derselbe Auftrag weiter.
Gezählt wird mit ExportCount der Automatendrehbank – laut Spiel die Zahl der ausgegebenen Teile seit dem letzten ClearMemory. Statt den Zähler bei jedem Auftrag zu löschen, merkt sich der Chip den Zählerstand beim Start als Basis:
seq tmp auftrag letzter
bnez tmp fertigen # gleicher Auftrag: weiterzaehlen
beqz ok fertigen # ohne Drehbank nichts annehmen
move basis zahl # Zaehlerstand beim Auftragsstart
move letzter auftrag
fertigen:
sub gefertigt zahl basis
Das hat einen Vorteil: Der Chip muss nicht wissen, wann das Löschen wirkt. Er rechnet immer „jetzt minus Start“ und ist damit sofort richtig.
Status melden
| Speicher | Inhalt |
|---|---|
| „PR_Fortschritt“ | Prozent des laufenden Auftrags, 0 ohne Auftrag, −1 ohne Drehbank |
| „PR_Status“ | 0 in Ordnung, 2 Drehbank fehlt |
| „PR_Puls“ | Lebenszeichen |
Ein fertiger Auftrag bleibt fertig: Steht weiter 20 im Auftrag und sind 20 Stück gefertigt, läuft die Drehbank nicht wieder an. Erst eine neue Zahl startet eine neue Runde.
Schutz gegen Unsinn
Eine negative Stückzahl oder ein fehlender Auftragsspeicher gelten als 0. Fehlt die Drehbank, nimmt der Chip keinen neuen Auftrag an – sonst rechnet er mit einer Basis aus NaN und kommt nie wieder auf einen grünen Zweig. Kommt die Drehbank zurück, nimmt er den Auftrag im nächsten Durchlauf an.
Die Produktion meldet nur 0 oder 2, eine Warnung gibt es hier nicht. Ob ein Auftrag zu lange dauert, beurteilt die Zentrale – sie sieht den Fortschritt und weiß, wann er bestellt wurde.
Übung
Aufgabe
Bau das Teilsystem Produktion: Puls „PR_Puls“, Auftrag aus „PR_Auftrag“ (Unsinn = 0), Zählung über ExportCount der Drehbank „PR_Drehbank“ mit gemerkter Basis, Drehbank an bis zur Stückzahl, Fortschritt in „PR_Fortschritt“ und Status in „PR_Status“ nach der Tabelle oben.
Hinweise
Hinweis 1
Neuer Auftrag: seq tmp auftrag letzter, bei Gleichheit über die Annahme springen, ohne Drehbank ebenso.
Hinweis 2
Gefertigt = Zählerstand − Basis, die Drehbank läuft bei slt laeuft gefertigt auftrag.
Hinweis 3
Fortschritt: teilen, mal 100, runden, min 100, ohne Auftrag 0, ohne Drehbank −1.
Quiz
3 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