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

Tag 312 von 365 · Experte · Monat 11: Optimierung und Fehlersuche

Fehlersuche im Simulator

Fehlersuche im Simulator des IC10-Coders: Haltepunkte, Einzelschritt und Takt, Register im Verlauf beobachten und Szenarien mit Δ/Tick und Kopplungen nachstellen.

Lektion 18 Min. Woche 45

Das lernst du heute

  • Haltepunkte setzen
  • Register beobachten
  • Szenarien nachstellen

Manche Fehler zeigen sich erst im Verlauf. Der Kühler der Vorratskammer schaltet, nur eben viel zu oft – und das merkst du im Spiel erst nach einer halben Stunde am Stromverbrauch. Im Simulator des IC10-Coders spulst du diese halbe Stunde in Sekunden durch.

Anhalten, wo es spannend wird

  • Haltepunkt: Klick auf eine Zeilennummer. „Lauf“ hält vor dieser Zeile an.
  • Schritt führt genau eine Zeile aus, Tick einen ganzen Takt – bis zum nächsten yield, einem sleep oder den 128 Befehlen.
  • Bei Fehler anhalten stoppt auf der Zeile, die einen Laufzeitfehler auslöst.
  • Strenger Modus lässt nur LogicTypes zu, die am Gerät eingetragen sind – so wie echte Geräte nicht jeden Wert kennen.

Register beobachten

Die Registertabelle zeigt jeden Wert mit seinem alias-Namen. Mit dem Kurven-Knopf nimmst du ein Register in den Verlauf auf und siehst, wie es sich über viele Takte ändert. Unter Schreibzugriffe steht, welche Zeile welchen Wert in welches Gerät geschrieben hat. Schreibt der Chip etwas, das du nicht erwartest, findest du dort die Zeile.

Szenarien nachstellen

Geräte im Simulator haben keine Physik. Die fügst du selbst hinzu:

WerkzeugWirkungBeispiel
Δ/TickWert ändert sich jeden TaktKammer erwärmt sich: Temperature +0.5
KopplungZiel += Faktor × Quelle, jeden TaktKühler kühlt: Temperature += −1.5 × Kühler.On

Mit beiden zusammen pendelt die Kammer wie im Spiel: Sie wird warm, der Kühler springt an, sie kühlt ab. Im Verlauf von an siehst du sofort, ob die Hysterese stimmt. Hier liegt sie falsch herum:

sgt tmp temp AUS     # Fehler: hier gehoert EIN hin
or an an tmp
sge tmp temp EIN     # Fehler: hier gehoert AUS hin
and an an tmp

Mit vertauschten Grenzen schaltet der Kühler bei 6 °C ein und bei knapp unter 6 °C schon wieder aus. Der Verlauf zeigt ein Zappeln statt langer Kühlphasen.

Achtung

Der Simulator ist nicht das Spiel. Er kennt nur die Werte und Kopplungen, die du einträgst. Ein Test im Simulator zeigt, dass deine Logik stimmt – ob das Gerät im Spiel genauso reagiert, zeigt erst der Bau.

Schaubild

Takte und yield auf einer Zeitleiste Takt 0 · 0,0 s Takt 1 · 0,5 s Takt 2 · 1,0 s Takt 3 · 1,5 s 5 Befehle yield 5 Befehle yield 5 Befehle yield 128 Befehle ohne yield: Limit Gerätewerte ändern sich nur zwischen zwei Takten.
„Schritt“ führt eine Zeile aus, „Tick“ einen ganzen Takt bis zum yield. Ein Haltepunkt stoppt „Lauf“ vor seiner Zeile.

Übung

Aufgabe

Die Kühlung der Vorratskammer zappelt. Stell im Simulator das Szenario nach (Sensor Temperature Δ/Tick +0.5, Kopplung Temperature += −1.5 × Kühler.On) und beobachte an im Verlauf. Repariere dann die Hysterese: Der Kühler „Kammer“ geht über 6 °C an und erst unter 3 °C wieder aus. Fehlt der Sensor, kühlt er weiter.

Hinweise

Hinweis 1

Einschalten gehört zur oberen Grenze EIN, Ausschalten zur unteren Grenze AUS.

Hinweis 2

Tausch in den beiden Vergleichen AUS und EIN – sonst nichts.

Hinweis 3

Teste mit 5 °C nach dem Einschalten: Der Kühler muss weiterlaufen.

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