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

Tag 87 von 365 · Einsteiger · Monat 3: Erste Systeme

Testen im Simulator

Haltepunkte, Einzelschritt, Werte von Hand und Kopplungen: Im Simulator des IC10-Coders testest du jeden Fall, bevor er im Spiel passiert.

Lektion 15 Min. Woche 13

Das lernst du heute

  • Haltepunkte und Einzelschritt
  • Werte von Hand setzen
  • Kopplungen für Verläufe

Einen Chip im Spiel zu testen, ist mühsam. Sensoren lassen sich nicht einfach auf 5 °C stellen, und wenn etwas schiefgeht, ist der Raum schon kalt. Der Simulator im IC10-Coder spielt das alles im Browser durch.

Schritt, Tick und Haltepunkt

Knopfmacht
Schrittgenau einen Befehl ausführen
Tickeinen ganzen Takt laufen lassen, bis zum nächsten yield
Lauf / Pausedauernd laufen lassen, das Tempo ist einstellbar
ResetChip neu laden, alles auf Anfang

Ein Haltepunkt hält den Lauf an einer Zeile an. Du setzt ihn mit einem Klick auf die Zeilennummer. Dann siehst du in der Registerliste genau, was vor dieser Zeile in jedem Register steht. Mit Schritt gehst du von dort Befehl für Befehl weiter. Die Tickanzeige verrät dabei, in welcher Zeile der Chip steht und wie viele der 128 Befehle der Takt schon verbraucht hat.

Werte von Hand setzen

Unter Geräte legst du an, was dein Chip erwartet: „Gerät ans Netz“ für lbn und sbn, „Gerät einsetzen“ für einen Pin. Jedes Gerät bekommt einen Namen wie im Spiel und Werte, die du jederzeit ändern kannst. So probierst du jeden Fall aus: kalt, warm, genau auf der Grenze. Entfernen baut ein Gerät ab, das ist dein Ausfalltest.

Der strenge Modus lässt nur LogicTypes zu, die am Gerät eingetragen sind, wie bei echten Geräten. Damit findest du vertippte Namen.

Kopplungen für Verläufe

Eine echte Pumpe füllt einen Tank. Im Simulator übernimmt das eine Kopplung: Jeden Takt wird Faktor × Quelle zum Ziel addiert.

QuelleZielFaktorWirkung
Pumpe.OnTank.Pressure5050 kPa mehr je Takt, solange die Pumpe läuft

Dazu kommt bei jedem Wert ein Δ/Tick, eine feste Änderung pro Takt. −10 beim Druck lässt den Tank langsam leerlaufen. Zusammen siehst du, ob deine Hysterese pendelt, wie sie soll. Die Diagramm-Schaltfläche neben einem Register zeichnet den Verlauf im Trend auf.

sgt flanke pumpen alt     # Pumpe gerade angelaufen?
add starts starts flanke  # Schaltspiele zaehlen
move alt pumpen

Wie oft eine Pumpe anläuft, ist eine gute Messgröße. Schaltet sie im Verlauf alle paar Takte, ist dein Band zu schmal.

Achtung

Der Simulator startet jeden Lauf mit Nullen in allen Registern. Im Spiel behält der Chip seine alten Werte. Prüf deshalb, ob dein Code dank der Zeilen vor dem Start-Label auch ohne diese Nullen richtig anläuft.

Tipp

Teste immer drei Fälle: den Normalfall, die Grenze und den Ausfall. Wer nur den Normalfall testet, testet das, was ohnehin klappt.

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 einen Befehl aus, Tick einen ganzen Takt bis zum yield. Ein Haltepunkt stoppt den Lauf an einer Zeile.

Übung

Aufgabe

Ein Rohr-Analysator „Tank“ misst den Tankdruck, die Volumenpumpe „Fuellpumpe“ füllt.

  • Pumpe an unter 1500 kPa, aus ab 2000 kPa, dazwischen Zustand behalten
  • die LED-Anzeige „Starts“ zählt, wie oft die Pumpe angelaufen ist
  • fällt der Analysator aus: Pumpe aus

Probier deine Lösung vorher im IC10-Coder mit einer Kopplung Pumpe.On → Tank.Pressure (Faktor 50) und Δ/Tick −10 am Druck aus.

Hinweise

Hinweis 1

Die Hysterese ist das and/or-Muster aus Woche 7.

Hinweis 2

Starts zählst du mit einer Flanke auf pumpen, nicht auf dem Druck.

Hinweis 3

Im Simulator siehst du im Trend, ob die Pumpe sauber pendelt.

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