IEC 61131-3 Wydanie 4
Koniec Instruction List
Rewizja normy programowania PLC z maja 2025 usuwa IL, dodaje wlasciwosci OOP, synchronizacje Mutex/Semaphore, ciagi UTF-8 i ASSERT. To, co kazdy inzynier automatyki musi wiedziec.
Co sie zmienilo w Wydaniu 4?
IEC 61131-3:2025 (Wydanie 4) to najbardziej znaczaca aktualizacja normy jezykow programowania PLC od 2013 roku. Opublikowana w maju 2025 przez Komitet Techniczny IEC TC 65 / SC 65B, modernizuje norme, aby odzwierciedlic, jak oprogramowanie do automatyzacji przemyslowej jest faktycznie tworzone dzisiaj.
Glowna zmiana: Instruction List (IL) — podobny do asemblera jezyk PLC siegajacy lat 90. — zostal oficjalnie usuniety z normy. Byl oznaczony jako przestarzaly w Wydaniu 3 (2013) i teraz calkowicie zniknal. Komitet IEC doszedl do wniosku, ze 'jezyk podobny do asemblera nie jest aktualny w nowoczesnych srodowiskach programistycznych'.
Ale usuniecie IL to tylko jedna czesc szerszej modernizacji. Wydanie 4 wprowadza rowniez obiektowe wlasciwosci (Properties), prymitywy wspolbieznosci (Mutex/Semaphore), wsparcie dla ciagow UTF-8, funkcje ASSERT do programowania i rozszerzone konwersje typow.
Co zostalo usuniete
Funkcje oficjalnie usuniete z normy
Instruction List (IL)
Cala specyfikacja jezyka IL (Rozdzial 7.2) zostala usunieta. IL byl jezykiem podobnym do asemblera, podatnym na nieczytelny, trudny w utrzymaniu kod. Producenci moga go jeszcze wspierac, ale nie jest juz czescia normy IEC. Przejdz na Structured Text (ST).
Literaly osemkowe
Zapis liczb osemkowych (np. 8#267) zostal wyeliminowany. Uzyj zamiast tego notacji dziesietnej lub szesnastkowej.
TRUNC bez typu
Generyczna funkcja TRUNC(x) znikla. Uzyj jawnie typowanych wersji jak TRUNC_DINT(x) lub TRUNC_LINT(x) dla bezpiecznego, jednoznacznego obcinania.
Funkcje BCD (przestarzale)
Funkcje Decimal Kodowany Binarnie (IS_VALID_BCD, BCD_TO_*, *_TO_BCD) sa oznaczone jako przestarzale i zostana prawdopodobnie usuniete w nastepnym wydaniu.
Co zostalo dodane
Nowe funkcje modernizujace programowanie PLC
Wlasciwosci (GET/SET)
Klasy, bloki funkcyjne i interfejsy wspieraja teraz deklaracje PROPERTY_GET i PROPERTY_SET — wlasciwe metody getter/setter ze specyfikatorami dostepu (PUBLIC, PRIVATE, PROTECTED, INTERNAL). To zbliза OOP w PLC do nowoczesnej inzynierii oprogramowania.
Mutex i Semaphore
Nowy Rozdzial 6.9 wprowadza kontrole wspolbieznosci. MUTEX zapewnia LOCK/UNLOCK/TRYLOCK dla sekcji krytycznych. SEMA zapewnia ACQUIRE/RELEASE/TRY_ACQUIRE dla policzonego dostepu do zasobow. Niezbedne dla wielordzeniowych sterownikow PLC i zarzadzania rownoleglymi zadaniami.
USTRING i UCHAR (UTF-8)
Natywne typy ciagu i znaku UTF-8 dolaczaja do istniejacych STRING (ASCII) i WSTRING (UTF-16). Literaly uzyją skladni U#'tekst'. Nowe funkcje LEN_MAX i LEN_CODE_UNIT obsluguja kodowanie o zmiennej dlugosci. Pelna obsluga internacjonalizacji dla HMI i logowania.
Funkcja ASSERT
Funkcja walidacji w czasie programowania sprawdzajaca wyrazenia logiczne i generujaca diagnostyki zdefiniowane przez producenta gdy warunki zawodza. Wylaczona w produkcji — zero narzutu w czasie wykonania. Pomysl o niej jak o asercjach testow jednostkowych dla kodu PLC.
Rozszerzone konwersje typow
Nowe jawne konwersje (LWORD_TO_BOOL, DWORD_TO_BOOL, WORD_TO_BOOL, BYTE_TO_BOOL) i konwersje ciag-do-tablicy (STRING/WSTRING/USTRING do ARRAY_OF_BYTE). Niejawne konwersje STRING_TO_WSTRING i CHAR_TO_WCHAR sa teraz standardowe.
Szesnastkowe kody znakow w ciaglach
Nowa skladnia ${HH} umozliwia wstawianie znakow przez szesnastkowy punkt kodowy w literalach ciagow. Umozliwia znaki tabulacji, symbole Unicode i znaki specjalne bezposrednio w kodzie PLC.
Migracja z IL do Structured Text
Jezeli Twoja baza kodu nadal uzywa Instruction List, teraz jest czas na migracje. Kod IL jest zazwyczaj 3-5 razy dluzszy niz rownowaзny Structured Text, trudniejszy do czytania i coraz bardziej nieobslugiwany przez nowoczesne narzedzia i asystentow kodu AI.
T-IA Connect moze przyspieszyc Twoja migracje z IL do ST. Nasze AI rozumie oba jezyki i moze tlumaczyc bloki IL na czysty, zoptymalizowany Structured Text zachowujac logike i nazwy zmiennych. W polaczeniu z serwerem MCP mozesz ponownie wstrzyknac zmigrowany kod bezposrednio do TIA Portal.
Eksportuj bloki IL
Uzyj narzedzi eksportu T-IA Connect, aby wyodrebnic istniejacy kod zrodlowy IL z projektow TIA Portal (V17-V21).
Tlumaczenie wspomagane przez AI
Podaj kod IL dowolnemu modelowi AI zgodnemu z MCP. AI tlumaczy na idiomatyczny Structured Text, obslugujac timery, liczniki, etykiety skokow i wzorce akumulatorow.
Import i kompilacja
Zaimportuj wygenerowany SCL z powrotem do TIA Portal przez narzedzia create_scl_block lub import_scl_source T-IA Connect. Skompiluj i zweryfikuj w jednym kroku.
Co to oznacza dla uzytkownikow Siemens TIA Portal
Siemens nie usunał IL/STL z TIA Portal — i prawdopodobnie nie zrobi tego przez lata. Ale kierunek jest jasny. Nowe narzedzia Siemens (SIMATIC AX, TIA Portal V21 Source Documents) skupiają sie wylacznie na Structured Text. Norma IEC uznaje teraz tylko cztery jezyki: ST, LD, FBD i SFC.
W przypadku nowych projektow nie ma juz powodu, aby uzywac IL. W przypadku istniejacych projektow z kodem IL zaplanuj migracje teraz, gdy narzedzia i wsparcie AI sa dojrzale. Serwer MCP T-IA Connect z ponad 390 narzędziami sprawia, ze to przejscie jest wykonalne — nawet dla duzych baz kodu.
Oś czasu wydań IEC 61131-3
Wydanie 1 (1993)
Pierwsze wydanie. Definiuje 5 jezykow: IL, ST, LD, FBD, SFC.
Wydanie 2 (2003)
Rewizja konserwacyjna. Drobne wyjasnienia i poprawki.
Wydanie 3 (2013)
Glowna aktualizacja. OOP (klasy, interfejsy, dziedziczenie), przestrzenie nazw, referencje. IL oznaczony jako przestarzaly.
Wydanie 4 (2025)
IL usuniety. Dodano wlasciwosci, Mutex/Semaphore, UTF-8 (USTRING), ASSERT, rozszerzone konwersje.
Czesto zadawane pytania
Czy Instruction List calkowicie zniknal z IEC 61131-3?
Tak. IL byl oznaczony jako przestarzaly w Wydaniu 3 (2013) i calkowicie usuniety w Wydaniu 4 (2025). Nie jest juz czescia miedzynarodowej normy. Jednakze producenci sterownikow PLC, tacy jak Siemens, moga nadal wspierac IL/STL w swoich narzędziach — jest po prostu niezstandaryzowany.
Czy muszę od razu przepisac caly kod IL?
Nie. Istniejace programy IL beda nadal dzialac w TIA Portal i innych srodowiskach, ktore go jeszcze wspieraja. Ale w przypadku nowego programowania Structured Text jest teraz jedynym zestandaryzowanym tekstowym jezykiem. Planuj migracje stopniowo — AI T-IA Connect moze pomoc w tlumaczeniu blok po bloku.
Do czego sluza Mutex i Semaphore w programowaniu PLC?
Mutex (wykluczenie wzajemne) chroni sekcje krytyczne kodu, tak aby tylko jedno zadanie moglo je wykonywac jednoczesnie — zapobiegajac uszkodzeniu danych w programach wielozadaniowych. Semaphore umozliwia policzony dostep do wspoldzielonych zasobow (np. ograniczanie rownoczesnych polaczen). Sа to standardowe koncepcje w IT, ktore zostaly teraz sformalizowane dla sterownikow PLC.
Jak T-IA Connect pomaga w przejsciu na IEC 61131-3:2025?
T-IA Connect generuje Structured Text zgodny z IEC 61131-3 za pomoca AI. Nasz serwer MCP moze eksportowac istniejace bloki IL, tlumaczyc je na ST za pomoca dowolnego modelu AI i reimportowac czysty kod do TIA Portal. Wspieramy V17 do V21, wiec mozesz sie unowoczesniac bez aktualizowania wersji TIA Portal.