Skip to main content

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 nawet 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 nawet 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, nawet 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.

O autorze

Maciej Kurantowicz

Author Maciej Kurantowicz

Automatyk i programista, CEO & Founder w ControlByte

Więcej postów tego autora Maciej Kurantowicz