Wczytujemy postępy z tego urządzenia…
PLC Gym
Strona główna PLC GymPoziom 1, 0 XP · Twoje postępy
Słownik

CASE na prawdziwej maszynie

CASE wybiera jedną sekcję kodu tekstowego do wykonania na podstawie liczby. Zapisuje się go jako CASE State OF, potem ponumerowane gałęzie, a na końcu END_CASE. Wykonuje się tylko pasująca gałąź.

To zwykły sposób zapisu maszyny stanów w SCL lub Structured Text, bo trzyma logikę każdego stanu w jednym miejscu. Łańcuch IF i ELSIF może zrobić to samo, ale z każdym nowym stanem trudniej go czytać.

Gałąź może wymieniać kilka liczb, więc dwa stany mogą dzielić ten sam kod. Gałąź ELSE może wyłapać wartość, której nie oczekuje żadna gałąź.

CASE: przykład z objaśnieniem

Partia zapisuje swoje położenie w zmiennej State. Gdy State ma wartość 10, CASE wykonuje gałąź partii. Gdy stan przejdzie na 30, wykonuje się tylko gałąź wstrzymania, a ta utrzymuje urządzenia zatrzymane.

CASE: częsty błąd

Zapisywanie wyjścia tylko w jednej gałęzi. Gałąź, która się nie wykonuje, zostawia swoje zmienne bez zmian. Polecenie ustawione w jednym stanie pozostaje więc włączone w następnym, chyba że coś je skasuje.

Nadal masz wątpliwości? Zapytaj w Szatnia.