Minikurs programowania PLC w Codesys – Lekcja #2 Styk NO, NC, cewka

controlbyte.pl 5 dni temu

Witaj ponownie w darmowym minikursie programowania sterowników PLC w Codesys!
W poprzedniej lekcji zainstalowałeś środowisko Codesys i stworzyłeś swój pierwszy projekt. Teraz czas na kolejny krok: nauczysz się, jak korzystać ze styków NO (normalnie otwartych), NC (normalnie zamkniętych) oraz cewek – podstawowych elementów programowania w języku drabinkowym Ladder.

Dodatkowo porównasz logikę Ladder z językiem tekstowym Structured Text (ST) i wykonasz swoje pierwsze zadanie praktyczne – układ z podtrzymaniem.

Ladder vs Structured Text – różnice w praktyce

W Codesys możesz programować w wielu językach, ale w przemyśle najczęściej stosowane są:

  • Ladder (LD) – język graficzny, przypominający schemat elektryczny,
  • Structured Text (ST) – język tekstowy, podobny do języków wysokopoziomowych (Pascal, C).

Przykład – prosty układ START → SILNIK

  • W Ladder zaczynamy od lewej strony: przycisk Start (styk NO) steruje cewką silnika.
  • W ST zapis wygląda prosto:
xMotorOnOff := xStartBtn;

W Ladder „rysujemy” logikę ze styków i cewek, a w ST zapisujemy ją linią kodu.

Aby dobrze zrozumieć różnicę, w Codesys możesz otworzyć oba programy równolegle (Window → New Vertical Tab Group) i obserwować, jak jeden schemat w Ladder odpowiada kilku linijkom kodu w ST.

Pobierz szalon projektu lub pobierz gotowy szablon.

Zadanie: Układ z podtrzymaniem

Czas na pierwsze poważniejsze ćwiczenie

Cel: Po wciśnięciu przycisku Start silnik powinien działać dalej choćby po jego puszczeniu.

W Ladder:

  1. Kliknij prawym przyciskiem na styk Start.
  2. Wybierz opcję Insert Contact Parallel Below.
  3. Do równoległego styku przypisz zmienną xMotorOnOff.

Efekt: silnik może zostać załączony przyciskiem Start albo poprzez „samopodtrzymanie” cewki.

W ST:

xMotorOnOff := xStartBtn OR xMotorOnOff;

Użyliśmy tutaj operatora OR, który pozwala utrzymać stan pracy silnika choćby po puszczeniu przycisku.

Przetestuj program w symulatorze:

  • Kliknij dwukrotnie na xStartBtn, nadaj mu wartość TRUE i wybierz Debug → Write Values (CTRL+F7).
  • Silnik uruchomi się i pozostanie w stanie TRUE, choćby gdy przycisk wróci do FALSE.

Gratulacje – zbudowałeś pierwszy układ z podtrzymaniem!

Możesz pobrać aktualny szablon projektu z podtrzymaniem klikając tutaj.

Dodanie przycisku STOP (styk NC)

Układ z podtrzymaniem działa, ale musisz mieć możliwość jego zatrzymania. Do tego służy przycisk STOP z wykorzystaniem styku NC (normalnie zamkniętego).

W Ladder:

  1. Dodaj nową zmienną xStopBtn : BOOL;
  2. Wstaw Negated Contact w gałęzi programu.
  3. Przypisz do niego zmienną xStopBtn.

Działanie:

  • Kiedy przycisk STOP nie jest wciśnięty → styk NC przepuszcza sygnał (TRUE).
  • Po wciśnięciu STOP → styk przerywa obwód, silnik zatrzymuje się.

W ST:

xMotorOnOff := (xStartBtn OR xMotorOnOff) AND NOT xStopBtn;

Dzięki temu silnik działa po starcie, ale zawsze można go wyłączyć przyciskiem STOP.

Pobierz gotowy projekt tutaj.

Podsumowanie lekcji

W tej lekcji nauczyłeś się:
różnicy między językiem Ladder i Structured Text,
jak działa układ z podtrzymaniem,
jak wykorzystać styk NC do zatrzymania silnika,
jak zapisać tę samą logikę w Ladder i ST.

To są absolutne podstawy, które pojawiają się w każdej maszynie przemysłowej – od prostych układów po skomplikowane linie produkcyjne.

Idź do oryginalnego materiału