Jeremy Pollard 2011-06-13

Standard Programowania Kontrolerów IEC 61131-3: co to jest, czym nie jest i jakie są jego zalety.

Standard IEC 61131-3, zatytułowany "Sterowniki programowalne - Część 3: języki programowania" został opublikowany w 1993 roku, po 15 latach rozwoju i po pierwszym użyciu w komputerów PC w 1990 roku. Zazwyczaj producenci kontrolerów logicznych (PLC) mieli własne rozwinięte platformy programowania, ale w ostatniej dekadzie główni dostawcy PLC z Europy i Ameryki Północnej zainicjowali nowy standard do swoich platform programistycznych.

Założeniem normy IEC 61131-3 jest unormowanie PLC i realizacja systemów kontroli poprzez standaryzację funkcji, poprzez wprowadzenie programu wizualizacji instrukcji, typów danych i składni. W wymaganiach części ogólnej znajdują się modele oprogramowania, komunikacji zewnętrznej, jak również instrukcji wewnętrznych i parametrów zmiennych i programowania. Funkcje tego modelu są następujące:
- Model oprogramowania wprowadza następującą konfigurację pojęć: zasoby takie jak procesory; zadania takie jak pliki wykonywalne aplikacji; nazewnictwo zmiennych przeznaczonych do magazynowania; ścieżki komunikacyjne (rys. 1). Sprzęt kliencki może uruchomić wiele zadań w jednej konfiguracji lub w wielu konfiguracjach.
- Model komunikacji określa, jak dane są przekazywane do różnych zadań lub konfiguracji lub do tego samego zadania. Zmienne globalne są obsługiwane.
- Model programowania jest ściśle związany z koncepcją wspólnych elementów, który pozwalają na korzystanie ze wspólnych typów danych, deklaracji zmiennych i formatów danych, takich jak daty i godziny. Jednostki organizacyjne programów (POU), są również wspólnymi elementami.



Rysunek 1: konwencjonalne oprogramowanie PLC (po lewej stronie, na czerwono) składa się z jednego zasobu, jednego zadania i kontrolowania programu. Jednak użycie kontroli zgodnej z IEC 61131-3 (z lewej) może wykraczać poza sam sterownik PLC, co zapewnia wielozadaniowość i środowisko pracujące w czasie rzeczywistym, które to mozna wykorzystać w szerszym zakresie, a użytkownicy nie muszą uczyć się nowych języków programowania. Jeśli producenci na to pozwalają, ta wielozadaniowość oznacza możliwość uruchamiania zadań w strukturze drabinkowej z danymi zmiennymi udostępnianymi i globalnymi. Na najwyższym poziomie, całe oprogramowanie niezbędne do rozwiązania danego problemu kontroli nosi nazwę konfiguracji. W jego ramach, można definiować jeden lub wiele zasobów. Z zasobami jest tak jak z CPU i obejmuje jedno lub więcej zadań. Ta kontrola wykonuje różne części programów, bloków i funkcji, które są podstawowym budulcem struktur danych oraz algorytmów. To wszystko może się wymieniać informacjami zapośrednictwem zmiennych globalnych lub bezpośrednio, nawet za pośrednictwem zewnętrznych funkcji komunikacyjnych, takich jak OPC.

Te jednostki organizacyjne programów (POU) zostały opracowane w celu zmniejszenia ilości często wykorzystywanych podprogramów. Norma określa trzy rodzaje POU. POU jest programem, nie ma tam wiadomości. Blok funckji POU jest blokiem programu z wejściami i wyjściami używanych do zadań takich jak zegary i liczniki. Funkcje POU pozawalają różnym elementom programu na rozszerzenie zestawu funkcji konfiguracji. Intencją tych POU jest zmniejszenie różnic programowych między poszczególnymi producentami, tak więc np.timer jest timerem niezależnie kto go tworzy.

Ponadto norma określa typy danych, takie jak logiczne i całkowite. Określa ona również wykorzystanie i format pochodnych typów danych i funkcji, które muszą być zgodne z wcześniej wymienionymi standardowymi typami danych.

Tymczasem model programowania rozszerza środowisko programowania PLC do trzech języków i dwóch języków graficznych reprezentacji. Logika Ladder jest najczęściej używana w odrębnych aplikacjach i jest najczęściej wykorzystywana w dzisiejszym języku automatyki. Jest to głównie używane i obsługiwane przez dostawców PLC z Ameryki Północnej. W Europie szczątkowo występuje assembler, wykorzystywany przez lata. Trzeci to język podobny do Pascala.

W rezultacie, graficzne języki są arkuszami funkcji sekwencyjnych i blokami funkcyjnymi. Są to graficzne prezentacje procesów i podstawowy kod napisany w jednym z trzech językach lub w innym języku, takim jak C + +.

Publikacja IEC 61131-3 zachęca do rozbudowy co oznacza, że każda firma, która tworzy oprogramowanie oparte o IEC 61131-3 może uznać je jako standardowe tak długo, jak podaje jakie zmiany i uzupełnienia wprowadziła. Jednak IEC 61131-3 nie jest normą. Jest to specyfikacja dla dostawców, którzy chcą rozwijać środowisko oprogramowania sterującego według wytycznych.

Globalne towarzystwo PLCopen, które wspiera IEC 61131 mówi, że nie można mieć standardów bez certyfikacji. Jednak żadna z firm nie może stwierdzić, że jej struktura drabinkowa jest zgodna lub nie ze standardem. Nie ma sposobu aby to poświadczyć. Ale mimo to jedna ze stron internetowych Rockwell Automation stwierdza, że "rodzina RSLogix jest zgodna z IEC-1131 oraz z drabinkowymi pakietami programowymi". Nawet jeśli producent tworzy zgodny ze standardem kod, to nie może sam z siebie publikować, że jakies wymagania sa spełnione, ponieważ wymaga to odpowiedniej certyfikacji. Według opini niezależnego konsultanta ds. zgodności "Kryteria zgodności są tak ogólne, że praktycznie są bez znaczenia".

Również opublikowany przez PLCopen dokument "Ogólne wymagania IEC 61131-3 nie są łatwe do spełnienia. Z tego powodu standard umożliwia tylko częściowe implementacje w różnych aspektach. Obejmuje to wiele obsługiwanych języków, funkcji i bloków funkcyjnych. Pozostawia to dużą dowolność po stronie dostawcy, ale użytkownik powinien zdawać sobie sprawę z tego w czasie procesu selekcji.". Ten fakt niezbyt jest pomocny.

Pierwotną intencją specyfikacji było stworzenie wspólnej platformy dla rozwoju oprogramowania sterującego. W 1970 gdy pojawiły się pierwsze programowalne urządzenia kontroli, całe oprogramowanie zostało napisane z wykorzystaniem dedykowanego sprzętu i oprogramowania. Wraz z pojawieniem się komputerów osobistych sprzedawcy opracowywali własne środowiska programistyczne. Dziś nie jest inaczej. Programy, które zostały opracowane obsługują tylko sprzęt sprzedawcy. Nie ma wspólnej platformy, stąd od 20 lat w tym zakresie nic się nie zmieniło.

Przykładowo RSLogix 5000 i Schneider Electric Unity nie różni się od czasu wykorzystywania terminali programowych. Nie można udostępniać programów, choć PLCopen stara się rozwijać specyfikację XML w zakresie transmisji danych.

W wielu kwestiach przedmiotowa specyfikacja zawiodła oczekiwania, nie mniej jednak są korzyści z jej stosowania. Obecnie właściwie jesteśmy w tym samym miejscu odnośnie wspólnej platformy w jakim byliśmy sprzed wprowadzenia specyfikacji IEC 61131-3. Każdy z większych producentów ma swoje środowisko programistyczne, a to ze względu na konkurencję, podczas której żaden z producentów nie pozwoli na wspólne działanie produktów konkurencyjnych korporacji. Występuje owszem jakieś podobieństwo. Etykiety portów I/O są na tyle podobne, że istnieje możliwość wyciągnięcia danych do jednej zewnętrznej bazy danych. Wszystko będzie wykorzystywać te etykiety oparte na zmiennej alokacji i często wspólne elementy takie jak np. dane logiczne true/false. Nie oznacza to jednak, że wszyscy producenci osbługują wszystkie wspólne elementy.

Większość urządzeń będzie rozumiała wszystkie pięć języków. Dużą korzyścią ze specyfikacji jest zintegrowane środowisko programistyczne (IDE), które daje dostęp do części modułów oprogramowania. Moc w programowaniu modułowym jest ogromna. Można zaprogramować bardzo skomplikowane części zadań i ukryć je za blokiem. Niektórzy twierdzą, że poprawia to zdolności rozwiązywania problemów. W zamian za to wymagana jest większa umiejętność programowania, jak i lepsze zarządzanie projektem.

Wiele firm korzysta z rozwojowego pakietu 3S, niektóre korzystają z produktów Softing, a inne tworzą własne. Jeśli jest używane oprogramowanie OEM IEC od czterech różnych dostawców sprzętu i wszystkie są licencjonowane z jednej firmy, daje to większe szanse na zwiększenie tempa uczenia się poszczególnych urządzeń i stosowania tego oprogramowania.

Standard nie pomoże również w firmach, gdzie stosuje się wyłącznie urządzenia jednego producenta, bo w takich firmach specyfikacja nie jest istotna. Inżynierowie wówczas będą mieli możliwość nauki wyłącznie ja jednej platformie, ograniczając tym samym dostęp do platform innych producentów.

Oprogramowanie Open jest otwarte. Ze specyfikacją IEC 61131 jest tak samo. Jest to po prostu narzędzie do projektowania sprzętu. Zapewnia to pewne korzyści dla użytkowników, ale przede wszystkim dla producentów urządzeń. Nie jest to panaceum, może pomóc w dążeniu do ulepszania platformy automayzacji.



Jeremy Pollard
Na podstawie: automation.com

Zapraszamy do skomentowania artykułu

Treść opini 
Popis 

Pozostałe artykuły z tej kategorii