ANDRZEJ PURCZYŃSKIW artykule przedstawiono podstawowe cechy języków programowania sterowników PLC, objętych głównie normą IEC 1131-3. W szczególności uwzględniono: sekwencyjny język graficzny (SFC), język diagramów przepływowych (FC), język schematów bloków funkcyjnych (FBD), język schematów drabinkowych (LD), język strukturalny (ST) i język listy instrukcji (IL). Słowa kluczowe: Sterowniki programowalne, języki programowania PLC1. WPROWADZENIE
W ostatnich kilkunastu latach nastąpił bardzo szybki postęp w dziedzinie urządzeń określanych jako programowalne sterowniki logiczne PLC (Programmable Logic Controllers). O sukcesie sterowników w znaczącym stopniu zadecydowało wprowadzenie do budowy PLC w roku 1977 przez firmę Allen-Bradley ośmiobitowego mikroprocesora Intel 8080. Dzisiaj urządzenia PLC w zasadzie wyparły przekaźnikowe układy sterowania logicznego. Podstawową zaletą nowego rozwiązania jest łatwość i szybkość dostosowywania sterowników do różnych zadań przez wymianę oprogramowania, a nie, jak to było wcześniej, przez przygotowanie odpowiedniej dokumentacji elektrycznej i okablowania szaf sterowniczych.
W latach dziewięćdziesiątych zaczęto powszechnie wykorzystywać komputery PC do programowania sterowników. Napisanie programu czy też wprowadzenie do niego poprawek lub zmian stało się jeszcze prostsze.
Do normy włączono kilka języków zarówno tekstowych jaki i graficznych. Wspólną ich cechą jest istnienie rozkazów, wyrażeń lub bloków operacji logicznych i podobieństwo sposobu ich przedstawiania do form stosowanych w technice przekaźnikowej. Norma IEC 1131-3 definiuje trzy języki graficzne: Nadal jednak postępuje proces ewolucji narzędzi i języków programowania. Ostatnio niektórzy producenci oprogramowania rozszerzyli ofertę języków graficznych o język diagramów przepływowych (FC). 2. SEKWENCYJNY JĘZYK GRAFICZNY (SFC)
Język ten jest podstawowym językiem zdefiniowanym w normie IEC 1131-3. Opisuje on operacje, wykorzystując prostą reprezentację graficzną dla poszczególnych kroków procesu i warunków nazywanych tranzycjami. Wyrósł on na gruncie metod opisu automatów sekwencyjnych, do których zalicza się [2]: Wzrost złożoności systemów sterowania sekwencyjnego doprowadził do zdefiniowania w roku 1977 metody Grafcet. Wykorzystuje ona formalizm sieci Petriego typu P/T (Pozycja/Tranzycja) zmodyfikowany dla procesów dyskretnych. Zaletą jej jest zapis funkcji sekwencyjnych w sposób niezależny od realizacji sprzętowej i programowej. Na założeniach metody Grafcet w normie IEC 1131-3 zdefiniowano sposób opisu działania sterownika w postaci sekwencji SFC (Sequential Function Chart). Proces cykliczny jest podzielony na kolejne kroki oddzielone warunkami logicznymi. Na rysunku 1 pokazano fragment edytora graficznego SFC. Formalizm ten może być wykorzystany przy programowaniu sterownika w celu stworzenia odpowiedniej struktury wewnętrznej programu. Zwykle do opisu poszczególnych akcji związanych z krokami i warunkami wykorzystuje się inne języki. Język ten umożliwia równoległe przejście pomiędzy dwoma krokami lub tranzycjami, co oznacza , że istnieje w nim możliwość równoległego przetwarzania części programu. JĘZYK DIAGRAMÓW PRZEPŁYWOWYCH (FC)
Język ten nie należy do języków objętych normą IEC 1131-3. Jego struktura jest zbliżona do języka SFC. Występują w nim dwa podstawowe bloki: blok akcji i blok testu (decyzyjny). Język ten można interpretować jako graficzne przedstawienie algorytmu blokowego działania układu sterowniczego. Może on być wykorzystywany do opisu operacji sekwencyjnych. JĘZYK SCHEMATÓW DRABINKOWYCH (LD)
Jest to język graficzny używający standaryzowanych symboli graficznych. Symbole umieszcza się w obwodach w sposób podobny do szczebli w schematach drabinkowych dla przekaźnikowych układów sterowania. Obwód LD (Ladder Diagram) jest po obydwu stronach ograniczony przez szyny prądowe. Szyny te nie są elementami obwodu. Prawa szyna może być rysowana w sposób jawny lub pozostawać w domyśle.
Język LD pozwala budować zależności logiczne z wykorzystaniem graficznej reprezentacji wyrażeń boolowskich złożonych ze styków i cewek. Podstawowymi elementami języka LD są: 5. JĘZYK SCHEMATÓW BLOKÓW FUNKCYJNYCH (FBD)
FBD (Function Block Diagram) jest językiem graficznym (rys. 3). Realizacja programu w tym języku jest oparta na przepływie sygnału. Wykorzystuje on gotowe bloki funkcyjne lub procedury przygotowane przez producenta w postaci bibliotek. Tworzenie aplikacji w tym języku polega na wyborze odpowiedniego bloku funkcyjnego i umieszczeniu w odpowiednim miejscu obwodu. Funkcje te są widziane w edytorze programu jako prostokąty z opisanymi zmiennymi wejściowymi i wyjściowymi. 6. JĘZYK STRUKTURALNY
Język strukturalny ST (Structured Text) należy do grupy języków tekstowych. Jest on przeznaczony głównie do opisu złożonych wyrażeń, których nie można zrealizować w językach graficznych (lub jest to bardzo utrudnione). Na rysunku 5 przedstawiono fragment zapisu w tym języku.
Obliczenia są wykonywane przez zastosowanie operatorów do operandów według ściśle określonej kolejności priorytetów. 7. JĘZYK LISTY INSTRUKCJI
Język ten składa się z sekwencji instrukcji. Każda z nich jest zapisywana od nowego wiersza. W instrukcji znajduje się zwykle nazwa operatora oraz ewentualnie modyfikatory i jeden lub kilka operandów. Operandami są stałe lub zmienne. Instrukcję może poprzedzać etykieta zakończona dwukropkiem. Ostatnim elementem wiersza może być komentarz, na przykład: 8. ZAKOŃCZENIECoraz bardziej złożone algorytmy sterowania wymagają coraz lepszych i wygodniejszych narzędzi. Przedstawione w dużym skrócie języki programowania stanowią dzisiaj zasadniczy element narzędzi programistycznych typu CASE, wzbogaconych o programy wyszukiwania błędów, symulacji, generatory raportów i dokumentacji oraz programy wizualizacji działania systemów sterowniczych. Przykładowy schemat generowania programu w opisywanych językach przedstawiono na rysunku 6.
Najbliższy etap rozwoju języków będzie ukierunkowany, jak można sądzić, na ścisłą integrację z systemami sieciowymi. Już dzisiaj pakiety oprogramowania są wyposażane w konfiguratory sieci np. Profibus, a nawet ostatnio pojawiły się pakiety wyposażone w funkcje języków HTML i Java. LITERATURA
THE PROGRAMMABLE LANGUAGES OF THE CONTROLLERS (PLC)
Summary This paper presents the basic characteristics of the programmable languages of the controllers (PLC) subjected mainly to the IEC 1131-3 standard. The following aspects are discussed in more details: sequential function chart language (SFC), flow chart language (FC), function block diagram language (FBD), ladder diagram language (LD), structured text language (ST) and instruction list language (IL). |