Aktuell kommt es zu Probleme mit dem Email Versand dies wird schnellstmöglich behoben.

stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. Fehlersuche und typische Fallen

Kapitel 7 · Profi

Fehlersuche und typische Fallen

Grenzen, stille Fehler und die Klassiker, an denen jeder einmal hängen bleibt.

Lektion 17 von 18 12 Min.

Ein Chip, der nicht tut, was er soll, verrät selten warum. Diese Liste spart Stunden.

Laute Fehler

Das Gehäuse zeigt einen Fehlercode und die Zeile an. Die häufigsten:

FehlerUrsache
UnrecognisedInstructionTippfehler im Befehl, falsche Großschreibung, Label nicht allein auf der Zeile
IncorrectArgumentCountAngabe vergessen – z. B. den Batchmodus bei lbn
IncorrectLogicTypeLogicType falsch geschrieben oder das Gerät kann ihn nicht
DeviceNotFoundkein Gerät am Pin oder Gerät nicht im selben Datennetz
IncorrectVariableName, den der Chip nicht kennt (alias/define/Label)

Bei einem Laufzeitfehler bleibt der Chip auf der Zeile stehen und versucht sie jeden Takt neu.

Stille Fehler – die gemeinen

  • Programmende ohne Schleife: Der Chip steht für immer, kein Fehler.
  • 1e5: keine Zahl. Ein define damit wird still zu NaN.
  • Komma statt Punkt: 1,5 ist 15.
  • Celsius statt Kelvin: 20 statt 293.15 – die Heizung läuft nie.
  • Sum statt Average: fällt erst mit dem zweiten Sensor auf.
  • NaN: Sensor weg, Name falsch – alle Vergleiche werden falsch.
  • Label in relativem Sprung: jr start springt irgendwohin.

Werkzeuge

Der Prüfer im IC10-Coder findet die meisten Fallen schon beim Tippen: rote Wellen für Fehler, gelbe für Warnungen. Im Simulator kannst du mit Haltepunkten und Einzelschritt zuschauen, welche Zeile was tut, und Sensorwerte von Hand verändern.

Tipp

Fehler einkreisen: Den Wert, dem du nicht traust, auf eine Anzeige oder mit s db Setting r0 aufs Gehäuse schreiben. Was der Chip wirklich sieht, ist oft überraschend.

Schaubild

Die drei Grenzen eines Programms Zeilen 74/128 Zeichen 3990/4096 Breite 97/90 Kommentare und Leerzeilen zählen voll mit. Die längste Zeile hier ist zu breit.
Drei Grenzen gleichzeitig: 128 Zeilen, 4096 Zeichen, 90 Zeichen pro Zeile. Bei deutschen Kommentaren reißt meist zuerst das Zeichenlimit.

Übung

Aufgabe

Dieser Chip soll die Wandheizung „Heizung“ einschalten, wenn es im Raum kälter als 20 °C ist – gemessen von zwei Gas-Sensoren, die beide „Raum“ heißen. Im Code stecken sechs Fehler. Finde und behebe sie. Der Prüfer unter dem Editor hilft dir bei einigen – aber nicht bei allen.

Hinweise

Hinweis 1

Drei Fehler zeigt der Prüfer rot an: Exponentschreibweise, Großschreibung beim LogicType und beim Befehl.

Hinweis 2

Zwei Sensoren mit gleichem Namen – welcher Batchmodus passt zu einer Temperatur?

Hinweis 3

Was passiert, wenn der Chip unten ankommt? Und wie oft pro Takt soll er messen?

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