Lokale voortgang laden…
PLC Gym
PLC Gym-homeNiveau 1, 0 XP · je voortgang
Woordenlijst

CASE op een echte machine

CASE kiest één deel van tekstcode om uit te voeren, op basis van een getal. Het wordt geschreven als CASE State OF, gevolgd door genummerde takken, en afgesloten met END_CASE. Alleen de tak die overeenkomt, draait.

Het is de gebruikelijke manier om een toestandsmachine in SCL of gestructureerde tekst te schrijven, omdat de logica van elke toestand op één plek blijft. Een reeks IF en ELSIF kan hetzelfde doen, maar wordt moeilijker te lezen naarmate er toestanden bijkomen.

Een tak kan meerdere getallen opsommen, zodat twee toestanden dezelfde code kunnen delen. Een ELSE-tak kan een waarde opvangen die geen enkele tak verwacht.

CASE: een uitgewerkt voorbeeld

Een batch bewaart zijn positie in een tag met de naam State. Bij State op 10 voert CASE de batchtak uit. Als de toestand doorgaat naar 30, draait alleen de tak Held en die tak houdt de apparatuur gestopt.

CASE: een veelgemaakte fout

Een uitgang in maar één tak schrijven. Een tak die niet draait, laat zijn tags zoals ze waren. Een commando dat in de ene toestand is gezet, blijft dus aan in de volgende, tenzij iets het wist.

Nog steeds niet zeker? Vraag het in de Kleedkamer.