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

Tag 103 von 365 · Fortgeschritten · Monat 4: Netzwerk im Detail

Veraltete Befehle erkennen

ld, sd, getd, putd und label laufen noch, gelten aber als veraltet. l, s, get und put nehmen die ReferenceId selbst, alias ersetzt label.

Lektion 13 Min. Woche 15

Das lernst du heute

  • Ld, sd, getd, putd und label kennen
  • Durch l, s, get, put ersetzen
  • Alten Code umbauen

Im Workshop und in alten Foren findest du Scripts, die anders aussehen: ld, sd, getd, putd, label. Die Befehle laufen noch, aber das Spiel führt sie als veraltet. In neuen Code gehören sie nicht mehr.

Was die alten Befehle tun

altSyntaxneuSyntax
ldld r? id LogicTypell r? id LogicType
sdsd id LogicType r?ss id LogicType r?
getdgetd r? id Adressegetget r? id Adresse
putdputd id Adresse Wertputput id Adresse Wert
labellabel d? Namealiasalias Name d?

Die d-Varianten waren für Geräte über ihre ReferenceId gedacht. Heute nehmen l, s, get und put die ReferenceId selbst, wenn sie in einem Register oder einem define steht. Das alte Gegenstück ist damit überflüssig.

label setzte früher die Beschriftung eines Pins. Das erledigt heute alias: Ein alias auf einen Pin erscheint auf den Schrauben des IC-Gehäuses.

Alten Code umbauen

Der Umbau ist fast mechanisch. Die Operanden bleiben in derselben Reihenfolge, nur der Befehlsname ändert sich:

ld temp id Temperature      # alt
l temp id Temperature       # neu
sd id On 1                  # alt
s id On 1                   # neu
label d0 Sensor             # alt
alias Sensor d0             # neu, Reihenfolge andersherum

Bei label und alias dreht sich die Reihenfolge um: erst der Name, dann der Pin.

Achtung

Veraltet heißt nicht verboten. Das Spiel führt die Befehle weiter aus, der Prüfer im IC10-Coder warnt aber. Entfernt ein Update sie eines Tages, startet dein Chip mit UnrecognisedInstruction nicht mehr.

Tipp

Wenn du ein altes Script übernimmst, bau es gleich um und teste es danach im Simulator. Ergänze dabei die Geräteprüfungen der letzten Tage: Alte Scripts haben selten welche.

Schaubild

Aufbau eines Programms im bewährten Stil # --- Hitzewarnung --- define GRENZE 303.15 # 30 C define SENSOR HASH("…") alias temp r0 alias heiss r1 start: yield … j start 1 · define alles Einstellbare 2 · alias Namen für Register 3 · Hauptschleife mit yield, endlos
Der Umbau ist fast mechanisch: Befehlsname tauschen, Operanden bleiben. Nur bei label und alias dreht sich die Reihenfolge um.

Übung

Aufgabe

Im Editor steht ein altes Script mit ld, sd, getd, putd und label. An d0 hängt ein Gassensor, an d1 eine Wandheizung, an d2 ein zweites IC-Gehäuse als Logbuch.

  • Bau es auf l, s, get, put und alias um, das Verhalten bleibt gleich (Heizung an unter 20 °C, Zähler der Heiztakte in Adresse 0 des Logchips, r5 = Zählerstand).
  • Ergänze die Geräteprüfung: Ohne Sensor ist die Heizung aus. Ohne Logchip heizt der Chip trotzdem weiter. Nie ein Fehler.

Hinweise

Hinweis 1

ld → l, sd → s, getd → get, putd → put, die Operanden bleiben gleich.

Hinweis 2

label d0 Sensor wird zu alias sensor d0.

Hinweis 3

Prüfungen: bdns heizung start, bdse sensor lesen, sonst Heizung aus. Vor dem Logbuch bdns logchip start.

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