PLC CODESYS

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

mgr inż. Maciej Kurantowicz 3 min czytania

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.

Autor mgr inż. Maciej Kurantowicz

Współzałożyciel ControlByte, instruktor PLC i CODESYS. Specjalista CODESYS, ST i programowania obiektowego. Autor kursów Python w przemyśle, PLC z AI, automatyki budynkowej i komunikacji Modbus.

Kursy online

Chcesz programować PLC w praktyce?

Kursy Siemens, CODESYS, komunikacji i safety z certyfikatem i wsparciem instruktora. Zacznij od bezpłatnego minikursu.

Zobacz kursy