
Programowanie sterowników PLC (Programmable Logic Controller) polega na tworzeniu instrukcji sterujących, które pozwalają automatyzować procesy przemysłowe i zarządzać pracą maszyn. Choć dla osób spoza branży może wydawać się to skomplikowane, dla programisty PLC to codzienna praca – wymagająca precyzji, ale i dająca dużą satysfakcję. W tym artykule opowiemy, jak zaprogramować sterownik PLC i podpowiadamy, na co zwrócić uwagę, aby program i system działały zgodnie z zamierzeniami.
Podstawy programowania sterowników PLC
Cykl pracy oraz zasadę działania sterowników PLC opisaliśmy w tekście: Sterowniki PLC. Kompleksowy przewodnik po programowalnych sterownikach logicznych. Jednak dl apotrzeb tego artykułu przypomnijmy, że praca PLC opiera się na cyklicznym przetwarzaniu danych i pozwala na bieżąco reagować na zmieniające się warunki w systemie. Każdy cykl pracy sterownika PLC składa się z trzech podstawowych etapów:
- odczyt wejść - czyli pobrania aktualnych stanów czujników i innych urządzeń wejściowych,
- przetwarzanie programu - wykonania zapisanych instrukcji sterowania,
- aktualizacja wyjść - czyli przesłania sygnałów umożliwiających zgodne z planem sterowanie elementami wykonawczymi.
Programowanie PLC polega na definiowaniu instrukcji sterujących, które określają, jak sterownik ma interpretować odczytane sygnały wejściowe, przetwarzać je zgodnie z logiką programu i sterować urządzeniami wykonawczymi. To właśnie program decyduje o tym, jakie działania zostaną podjęte na podstawie zmieniających się stanów wejść i w jaki sposób będą aktualizowane wyjścia odpowiedzialne za prawidłowe działanie systemu.
Od czego zacząć programowanie sterownika PLC?
Dokładnie tak, jak w przypadku każdego projektu, także proces programowania PLC powinien być dobrze przemyślany i podzielony na etapy. Pierwszym krokiem jest analiza automatyzowanego procesu. Zanim powstanie kod, konieczne jest zgromadzenie podstawowych informacji, czyli dokładne określenie i udokumentowanie wszystkich wejść i wyjść systemu – od czujników po elementy wykonawcze. Pomocne są tu schematy i analiza zależności (mapowanie powiązań pomiędzy wejściami, wyjściami, czujnikami, siłownikami, modułami zasilania i innymi komponentami systemu), które pozwalają uniknąć problemów na dalszych etapach procesu.
Po zrozumieniu procesu można przejść do zaplanowania i stworzenia programu. Wybór języka zależy od specyfiki projektu i zgodności z normą IEC 61131-3. Popularnym rozwiązaniem jest język drabinkowy (Ladder Diagram), ale w niektórych przypadkach lepiej sprawdzają się inne metody, takie jak funkcjonalny schemat blokowy czy tekstowy język strukturalny. Niezależnie od wyboru, najlepszą praktyką jest rozpoczęcie pisania programu od prostych instrukcji i stopniowe rozbudowywanie kodu. Ważne jest także dodawanie do kodu komentarzy, które ułatwią jego późniejszą edycję i analizę przez innych inżynierów.
Gotowy program musi zostać dokładnie przetestowany. Najpierw w środowisku symulacyjnym, które pozwala wyłapać podstawowe błędy, a następnie w rzeczywistym systemie, w którym można sprawdzić działanie wszystkich funkcji. Pierwsza wersja kodu rzadko bywa wersją ostateczną i zazwyczaj wymaga optymalizacji, uproszczenia logiki sterowania i dostosowania do rzeczywistych warunków pracy. Cennym źródłem informacji bywa tutaj feedback od operatorów.
Ostatnim krokiem jest wdrożenie programu w systemie docelowym oraz przygotowanie dokumentacji technicznej. Dokumentacja powinna zawierać szczegółowy opis działania, schematy połączeń i wskazówki dotyczące obsługi systemu – dobrze opracowana dokumentacja bardzo ułatwia serwisowanie i późniejsze modyfikacje programu.
Zabieramy się za programowanie sterownika PLC od podstaw
Programowanie sterowników PLC odbywa się w dedykowanych środowiskach programistycznych (IDE), które umożliwiają tworzenie, testowanie i wgrywanie programów do urządzenia. W przeciwieństwie do klasycznego programowania, w programowaniu sterowników PLC często korzysta się z – wspomnianych już – języków graficznych, które przypominają schematy elektryczne lub blokowe i ułatwiają wizualizację procesów.
Uruchomienie środowiska programistycznego
Aby rozpocząć pracę, należy otworzyć odpowiednie IDE dostarczone przez producenta sterownika. Mogą to być, na przykład:
- Siemens TIA Portal - dla sterowników Siemens S7-1200 i S7-1500,
- Rockwell Studio 5000 - dla sterowników Allen-Bradley,
- Mitsubishi GX Works3 - dla sterowników Mitsubishi,
- Omron Sysmac Studio - dla sterowników Omron,
- Codesys - uniwersalne środowisko dla różnych sterowników.
Po uruchomieniu IDE tworzony jest nowy projekt, w którym definiowany jest model sterownika i jego konfiguracja sprzętowa, czyli podłączone do sterownika PLC moduły wejść/wyjść.
Wybór języka programowania
Norma IEC 61131-3 definiuje pięć podstawowych języków programowania sterowników PLC:
- Ladder Diagram (LAD) - najbardziej popularny i intuicyjny drabinkowy język programowania PLC,
- Function Block Diagram (FBD) - jest to graficzny język programowania PLC wykorzystujący bloki reprezentujące funkcje logiczne, tzw. funkcjonalny schemat blokowy,
- Structured Text (ST) - tekstowy język strukturalny przypominający składnią języki wysokiego poziomu,
- Sequential Function Chart (SFC) - sekwencyjnych schemat funkcjonalny przedstawiający algorytm w formie graficznej,
- Instruction List (IL) - lista instrukcji przypominająca asembler, obecnie coraz rzadziej stosowana ze względu na wyższy poziom trudności.
Najczęściej wybieranym językiem jest schemat drabinkowy (LAD), ponieważ jest intuicyjny i czytelny.
Struktura pamięci i adresowanie
Programowalne sterowniki logiczne PLC mają określoną strukturę pamięci podzieloną na obszary zmiennych wejściowych (I), wyjściowych (Q), zmiennych wewnętrznych (M), timerów (T), liczników (C) oraz zmiennych wyjść/wejść analogowych (AI/AQ). Każdy producent może mieć własny sposób adresowania tych obszarów.
Przykładowe oznaczenia:
- I - zmienna wejścia cyfrowego,
- Q - zmienna wyjścia cyfrowego,
- AI/AQ - wejścia/wyjścia analogowe,
- M - zmienna wewnętrzna,
- T - timer,
- C - licznik.
Tworzenie logiki sterowania PLC
Głównym zadaniem programisty PLC jest stworzenie kodu, który steruje urządzeniami na podstawie sygnałów wejściowych. Proces ten obejmuje:
- Zdefiniowanie wejść i wyjść – są to np. czujniki, przyciski, siłowniki, lampki sygnalizacyjne.
- Napisanie programu – czyli stworzenie instrukcji operacji logicznych, np.:
- jeśli przycisk START jest wciśnięty, uruchom silnik,
- jeśli temperatura przekroczy 80°C, załącz chłodzenie,
- jeśli fotokomórka wykryje obiekt, zatrzymaj linię produkcyjną.
- Dodanie bloków funkcyjnych – np. timerów (opóźnienia), liczników, operacji matematycznych na wartościach parametrów.
Testowanie i symulacja
Po napisaniu kodu programista może skorzystać z trybu symulacji, który pozwala sprawdzić działanie programu bez fizycznego sterownika. Symulacja pozwala zasymulować wejścia, zobaczyć reakcję programu i upewnić się, że logika działa w zamierzony sposób.
Wgrywanie programu do sterownika
Jeśli program działa poprawnie w symulacji, można go wgrać do sterownika PLC. W tym celu należy:
- podłączyć komputer do PLC przez USB, Ethernet lub interfejs szeregowy,
- przesłać program do pamięci sterownika PLC,
- przełączyć sterownik w tryb RUN, aby zaczął wykonywać instrukcje w zamkniętej pętli programowej.
Po wgraniu programu sterującego możliwa jest jego diagnostyka online pozwalająca monitorować wartości wejść i wyjść w czasie rzeczywistym.
Optymalizacja i poprawki
Jeśli system działa nieprawidłowo, programista może:
- podglądać zmienne w czasie rzeczywistym,
- zmieniać parametry sterowania,
- wprowadzać poprawki i ponownie wgrywać kod do sterownika PLC.
Znasz już podstawy programowania sterowników PLC!
Programowanie sterowników PLC to proces tworzenia logiki sterowania automatyką przemysłową w dedykowanym środowisku IDE, najczęściej przy użyciu języka graficznego. Programista definiuje wejścia i wyjścia, tworzy reguły sterowania, testuje program w symulatorze, a następnie wgrywa go do sterownika. Dzięki temu sterownik PLC może samodzielnie sterować maszynami i procesami przemysłowymi. Pod warunkiem jednak, że nie wystąpią problemy sprzętowe, zakłócenia elektryczne i problemy z pamięcią sterownika PLC oraz mnóstwo innych czynników, z którymi muszą sobie radzić inżynierowie automatycy.
Więcej ciekawych artykułów, w tym opis pracy i średnich zarobków automatyka przemysłowego, znajdziesz na naszym blogu.


