Lokaler Fortschritt wird geladen…
PLC Gym
PLC Gym StartseiteLevel 1, 0 XP · dein Fortschritt
Glossar

CASE an einer echten Maschine

CASE wählt anhand einer Zahl einen Abschnitt Textcode, der laufen soll. Man schreibt CASE State OF, dann folgen nummerierte Zweige, und END_CASE schließt ab. Nur der passende Zweig läuft.

Das ist der übliche Weg, einen Zustandsautomaten in SCL oder Strukturiertem Text zu schreiben, weil die Logik jedes Zustands an einer Stelle bleibt. Eine Kette aus IF und ELSIF kann dasselbe, wird aber mit mehr Zuständen schwerer zu lesen.

Ein Zweig kann mehrere Zahlen auflisten, damit zwei Zustände denselben Code teilen. Ein ELSE-Zweig kann einen Wert abfangen, den kein Zweig erwartet.

CASE: ein durchgerechnetes Beispiel

Eine Charge speichert ihre Position in einem Tag namens State. Steht State auf 10, führt CASE den Chargenzweig aus. Geht der Zustand weiter auf 30, läuft nur der Zweig Held, und dieser Zweig hält die Anlage angehalten.

CASE: ein häufiger Fehler

Einen Ausgang nur in einem Zweig schreiben. Ein Zweig, der nicht läuft, lässt seine Tags, wie sie waren. Ein Befehl, der in einem Zustand gesetzt wird, bleibt also im nächsten an, außer etwas löscht ihn.

Immer noch unsicher? Frag in der Umkleide.