phone icon search icon
secondary menu iconsecondary menu icon

MENU

secondary menu icon secondary menu icon

IEC 61131-3 – co to?

IEC 61131-3 to część międzynarodowej normy dotyczącej programowalnych sterowników logicznych PLC, która definiuje standardowe języki programowania używane w automatyce przemysłowej. Norma opisuje pięć języków: LAD, FBD, ST, SFC i IL, dzięki czemu inżynierowie pracujący na różnych platformach mają wspólny punkt odniesienia, nawet jeśli sprzęt pochodzi od różnych producentów. To jeden z fundamentów nowoczesnej automatyki przemysłowej.

Co reguluje norma IEC 61131-3?

IEC 61131-3 to trzecia część sześcioczęściowej normy IEC 61131, która kompleksowo opisuje programowalne sterowniki logiczne. Część trzecia dotyczy wyłącznie języków programowania – definiuje ich składnię, semantykę i zasady stosowania, tak żeby programy pisane zgodnie z normą były przenośne między różnymi środowiskami i zrozumiałe dla inżynierów wychowanych na różnych platformach sprzętowych.

Norma jest ważna, bo PLC nie jest zwykłym komputerem biurowym – to element systemu sterowania maszyną lub procesem przemysłowym, gdzie błąd w programie może oznaczać przestój produkcji lub zagrożenie bezpieczeństwa. Standaryzacja języków programowania pomaga zachować spójność w automatyce przemysłowej i ułatwia utrzymanie, modernizację i przechodzenie między środowiskami.

Jakie języki definiuje IEC 61131-3?

Norma definiuje pięć języków programowania PLC, podzielonych na graficzne i tekstowe:

Języki graficzne:LAD (Ladder Diagram) – schemat drabinkowy, odwzorowujący logikę przekaźnikową. Najbardziej popularny w Polsce i Europie, szczególnie wśród elektryków i automatyków z doświadczeniem w schematach elektrycznych – FBD (Function Block Diagram) – diagram bloków funkcyjnych, pokazujący przepływ sygnałów między blokami logicznymi i obliczeniowymi. Sprawdza się przy sterowaniu procesami ciągłymi i sygnałami analogowymi – SFC (Sequential Function Chart) – diagram sekwencji kroków i przejść między nimi. Idealny do programowania procesów przebiegających etapami

Języki tekstowe:ST (Structured Text) – język tekstowy zbliżony do Pascala lub C, przeznaczony do złożonych algorytmów i obliczeń – IL (Instruction List) – niskopoziomowy język listowy, historycznie stosowany w prostych sterownikach, dziś rzadko używany w nowych projektach

Dlaczego IEC 61131-3 ma znaczenie w praktyce?

Przed standaryzacją każdy producent sterowników PLC stosował własny, zastrzeżony język programowania. Automatyk znający język jednej marki musiał uczyć się od podstaw przy każdej zmianie sprzętu.

IEC 61131-3 zmienił tę sytuację. Programista, który zna LAD lub ST zgodny z normą, może stosunkowo szybko przenosić się między TIA Portal Siemensa, CODESYS, środowiskiem Rockwell i innymi platformami – bo podstawowa logika, składnia i pojęcia są wspólne. Różnice dotyczą interfejsu, bibliotek i specyfiki sprzętu, nie fundamentów języka.

Dla zakładów produkcyjnych norma oznacza też łatwiejsze utrzymanie dokumentacji – program napisany zgodnie z IEC 61131-3 jest bardziej czytelny dla każdego doświadczonego automatyka, nie tylko dla autora kodu.

IEC 61131-3 a IEC 61131-3 Edition 3

Norma była kilkukrotnie aktualizowana. Trzecia edycja (2013) wprowadza m.in. programowanie obiektowe do języków PLC – klasy, interfejsy i dziedziczenie na wzór Java lub C++. To funkcjonalności stosowane głównie w zaawansowanych projektach na platformach takich jak Beckhoff TwinCAT i CODESYS 3.5, gdzie złożoność kodu uzasadnia podejście obiektowe.

W praktyce w większości polskich zakładów używane są możliwości z wcześniejszych edycji normy – struktury danych, bloki funkcyjne i standardowe języki graficzne i tekstowe.

Jak nauczyć się programowania zgodnego z IEC 61131-3?

Akademia dla Przemysłu prowadzi kursy programowania sterowników Siemens SIMATIC S7-1200 w środowisku TIA Portal. Program obejmuje wszystkie języki IEC 61131-3 stosowane w praktyce przemysłowej – LAD, FBD, ST i SFC – na rzeczywistych sterownikach w pracowni automatyki.

Kurs PLC poziom 1 – Siemens S7-1200 w TIA Portal

Kurs PLC poziom 2 – zaawansowane programowanie