You are on page 1of 6

Języki programowania sterowników

1. WPROWADZENIE W ostatnich kilkunastu latach nastąpił bardzo szybki postęp w dziedzinie urządzeo określanych jako programowalne sterowniki logiczne PLC (Programmable Logic Controllers). Podstawową zaletą nowego rozwiązania jest łatwośd i szybkośd dostosowywania sterowników do różnych zadao przez wymianę oprogramowania, a nie, jak to było wcześniej, przez przygotowanie odpowiedniej dokumentacji elektrycznej i okablowania szaf sterowniczych. Początkowo każdy z licznych producentów sterowników programowalnych nazywanych także w Polsce w początkowym okresie, binarnymi *1+, stosował własny język programowania ze specyficzną listą rozkazów. Jednak wraz z wzrostem powszechności ich stosowania pojawiła się koniecznośd standaryzacji metod programowania. W roku 1993 Międzynarodowa Komisja Elektroniki wydała normę IEC 1131, która w części trzeciej zawierała charakterystykę języków programowania sterowników. Do normy włączono kilka języków zarówno tekstowych jaki i graficznych. Wspólną ich cechą jest istnienie rozkazów, wyrażeo lub bloków operacji logicznych i podobieostwo sposobu ich przedstawiania do form stosowanych w technice przekaźnikowej. Norma IEC 1131-3 definiuje trzy języki graficzne: 1) sekwencyjny język graficzny (SFC), 2) język schematów bloków funkcyjnych (FBD), 3) język schematów drabinkowych (LD); oraz dwa języki tekstowe: 1) język strukturalny (ST), 2) język listy instrukcji (IL). 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+: - metodę polegającą na użyciu grafu przejśd (każdy węzeł grafu jest związany ze stanem automatu, natomiast łuk grafu jest określony przez zmienną logiczną lub funkcję kilku zmiennych); - metodę tablicy stanów (liczba kolumn rośnie wykładniczo ze wzrostem liczby wejśd np. dla 20 wejśd w tablicy stanów potrzeba więcej niż milion kolumn); - ściśle związaną z fizyczną realizacją metodę schematów drabinkowych opierającą się na analogii do schematów przekaźnikowych.

Jego struktura jest zbliżona do języka SFC.Wzrost złożoności systemów sterowania sekwencyjnego doprowadził do zdefiniowania w roku 1977 metody Grafcet. Podobnie jak w przypadku języka FSC do wypełnienia bloków akcji i testów wykorzystuje się inne języki. Na rysunku 1 pokazano fragment edytora graficznego SFC. Język ten można interpretowad jako graficzne przedstawienie algorytmu blokowego działania układu sterowniczego. Formalizm ten może byd wykorzystany przy programowaniu sterownika w celu stworzenia odpowiedniej struktury wewnętrznej programu. Proces cykliczny jest podzielony na kolejne kroki oddzielone warunkami logicznymi. Język ten umożliwia równoległe przejście pomiędzy dwoma krokami lub tranzycjami. Zaletą jej jest zapis funkcji sekwencyjnych w sposób niezależny od realizacji sprzętowej i programowej. Prawa szyna może byd rysowana w sposób jawny lub pozostawad w domyśle. Język LD pozwala budowad zależności logiczne z wykorzystaniem graficznej reprezentacji wyrażeo boolowskich złożonych ze styków i cewek. Zwykle do opisu poszczególnych akcji związanych z krokami i warunkami wykorzystuje się inne języki. Wykorzystuje ona formalizm sieci Petriego typu P/T (Pozycja/Tranzycja) zmodyfikowany dla procesów dyskretnych. Obwód LD (Ladder Diagram) jest po obydwu stronach ograniczony przez szyny prądowe. Symbole umieszcza się w obwodach w sposób podobny do szczebli w schematach drabinkowych dla przekaźnikowych układów sterowania. język listy instrukcji lub język strukturalny. Szyny te nie są elementami obwodu. JĘZYK DIAGRAMÓW PRZEPŁYWOWYC H (FC) Język ten nie należy do języków objętych normą IEC 1131-3. że istnieje w nim możliwośd równoległego przetwarzania części programu. co oznacza . Podstawowymi elementami języka LD są: . JĘZYK SCHEMATÓW DRABINKOWYCH (LD) Jest to język graficzny używający standaryzowanych symboli graficznych. takie jak np. Występują w nim dwa podstawowe bloki: blok akcji i blok testu (decyzyjny). Na rysunku 3 przedstawiono zastosowanie języka schematów drabinkowych w powiązaniu z językiem schematów bloków funkcyjnych. język schematów drabinkowych. Może on byd wykorzystywany do opisu operacji sekwencyjnych. W języku LD mogą występowad standardowe funkcje i bloki funkcyjne. 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).

IF . FOR . . DO .. Realizacja programu w tym języku jest oparta na przepływie sygnału. END_IF.. REPEAT .cewki z zatrzaskiem: cewka ustawiająca i cewka kasująca.. 6. stała. Podstawowymi elementami języka są wyrażenia i polecenia.styki impulsowe: styk reagujący na zbocze narastające i styk reagujący na zbocze. ELSE . Funkcje te są widziane w edytorze programu jako prostokąty z opisanymi zmiennymi wejściowymi i wyjściowymi. TO . WHILE .. Jest on przeznaczony głównie do opisu złożonych wyrażeo. ELSE . Na przykład realizacja sumy logicznej OR poprzez równoległe łączenie elementów w węzeł (wired-OR) jak w języku LD... 3). END_WHILE... END_FOR. cewka ustawiająca z zapamiętaniem stanu i cewka kasująca z zapamiętaniem stanu. Język ST jest podstawowym językiem używanym do opisywania akcji w poszczególnych krokach i warunkach struktur wyrażonych w językach SFC i FC. Wyrażenia dostarczają wartości odpowiadające określonemu typowi danych. EXIT.. .cewki z zapamiętaniem stanu. 5. Podstawowymi poleceniami języka są: instrukcja przypisania np. ...styki statyczne: styk zwierny i styk rozwierny.. .. END_CASE. 4). Tworzenie aplikacji w tym języku polega na wyborze odpowiedniego bloku funkcyjnego i umieszczeniu w odpowiednim miejscu obwodu.cewki impulsowe: cewka reagująca na zbocze narastające i cewka reagująca na zbocze opadające.. W postaci tekstowej język ten ujmuje zdefiniowane w normie standardowe funkcje i bloki funkcyjne. Wykorzystuje on gotowe bloki funkcyjne lub procedury przygotowane przez producenta w postaci bibliotek. UNTIL . Operandem może byd zmienna... JĘZYK STRUKTURALNY Język strukturalny ST (Structured Text) należy do grupy języków tekstowych.. CASE . Wyjścia bloków funkcyjnych nie powinny byd łączone. Należy użyd jawnie funkcji logicznej OR (rys. .... Na rysunku 5 przedstawiono fragment zapisu w tym języku. JĘZYK SCHEMATÓW BLOKÓW FUNKCYJNYCH (FBD) FBD (Function Block Diagram) jest językiem graficznym (rys. ELSEIF . Składają się one z operatorów i operandów. jest niedopuszczalne.. . END_REPEAT. funkcja lub inne wyrażenie. których nie można zrealizowad w językach graficznych (lub jest to bardzo utrudnione). Obliczenia są wykonywane przez zastosowanie operatorów do operandów według ściśle określonej kolejności priorytetów.... a:= b oraz instrukcje: RETURN.cewka zwykła i cewka negująca.

Każda z nich jest zapisywana od nowego wiersza. Przedstawione w dużym skrócie języki programowania stanowią dzisiaj zasadniczy element narzędzi programistycznych typu CASE. Przykładowy schemat generowania programu w opisywanych językach przedstawiono na rysunku 6. . Ostatnim elementem wiersza może byd komentarz. generatory raportów i dokumentacji oraz programy wizualizacji działania systemów sterowniczych. Najbliższy etap rozwoju języków będzie ukierunkowany. Już dzisiaj pakiety oprogramowania są wyposażane w konfiguratory sieci np. a nawet ostatnio pojawiły się pakiety wyposażone w funkcje języków HTML i Java. wzbogaconych o programy wyszukiwania błędów.7. JĘZYK LISTY INSTRUKCJI Język ten składa się z sekwencji instrukcji. ZAKOOCZENIE Coraz bardziej złożone algorytmy sterowania wymagają coraz lepszych i wygodniejszych narzędzi. Operandami są stałe lub zmienne. jak można sądzid. na ścisłą integrację z systemami sieciowymi. Instrukcję może poprzedzad etykieta zakooczona dwukropkiem. Porównując wady i zalety różnych języków programowania w zasadzie nie można wskazad jednego optymalnego rozwiązania. na przykład: START: LD %IX1 (* przycisk 1 *) 8. W instrukcji znajduje się zwykle nazwa operatora oraz ewentualnie modyfikatory i jeden lub kilka operandów. Wybór języka jest uwarunkowany specyfiką zadania sterowniczego i preferencjami programisty. symulacji. Profibus.

centralnej części komputerowego systemu automatyki różnych producentów. wizualizację graficzną przebiegu procesu na schematach. itp. głównie dla średnich i małych instalacji technologicznych. Praca w strukturze sieciowej. OLE.Charakterystyka systemów SCADA Komputerowe systemy nadzorowania. Wizcon. FIX. możliwośd wymiany danych z bazami danych i innymi systemami z pomocą standardowych mechanizmów np.. oddziaływanie na proces (sterowanie. Jest to jednak okupione brakiem integracji oprogramowania wizualizacyjnego i sterującego. Ich powszechnie stosowana nazwa – SCADA pochodzi od pierwszych liter angielskiego określenia – Supervisory Control and Data Acquisition). Wymaga się aby nowoczesny system SCADA realizował następujący zestaw głównych funkcji:         komunikację z aparaturą sterującą i stacjami operatorskimi. OPC itp. DDE. wykorzystanie standardowego sprzętu. LAN. WinCC. przetwarzanie zmiennych procesowych. wykresach. Poszczególne rozwiązania różnią się zakresem i sposobem realizacji poszczególnych funkcji. Cenną zaletą tego typu systemów jest większa otwartośd. Systemy te dają prostą możliwośd współpracy ze sterownikami PLC. monitorowania i sterowania procesów przemysłowych przeżywają obecnie bardzo burzliwy rozwój. Możliwośd ewolucyjnej rozbudowy. Otwartośd i skalowalnośd (wykorzystanie standardowego systemu operacyjnego i oprogramowania sieciowego. możliwośd opracowania przez użytkownika oprogramowania komunikacyjnego do nietypowych urządzeo lub szeroka dostępnośd driverów komunikacyjnych.) Projektowany stopieo niezawodności i zabezpieczenie dostępu. kontrolę procesu i sygnalizację alarmów. Możliwośd rozszerzania i modyfikacji aplikacji w trybie on-line. regulatorami mikroprocesorowymi i innymi urządzeniami tzw. WAN itd. Do czołowych reprezentantów należą tutaj In Touch. Pozwalają na realizację zdecentralizowanych systemów automatyki przemysłowej. konfigurowanie struktur algorytmicznych i obrazów synoptycznych. wymianę danych z innymi systemami poprzez sieci FAN. Zaawansowane rozwiązania systemów SCADA powinny posiadad następujące cechy charakterystyczne:      Wielozadaniowy system operacyjny z wywłaszczaniem. raportowanie i archiwizacje danych.  . regulacja).

zrealizowane na bazie oprogramowania SCADA (wizualizacyjnego). które może byd kupione z „półki”. . Umożliwia ono realizację dopasowanego do istniejącego procesu systemu automatyki za stosunkowo niewielkie pieniądze.Systemy SCADA są to więc złożone systemy komputerowe do zastosowao automatyki przemysłowej.

%  %©¾n ¯f €°n©°n% %  %©¾n ¯f f °n%%  f f© ¾  %©¾f°%@%  %©¾°¾n©%%  -f f© °f½¾½© ½n ¾ n©°f ©½–f¯f°f ¾f°°  ½ n °n½–f¯f°f¾ € ©–f€n°n© f–f¯ ½ ½­n%.

%      '       °© ¾½ ¾f¯© ¯ €°f°¯°¯ .

   ½¾© °½ fn© ¾© n½¾  ½  °fn©–f€n°  f ½¾n –°n½n ¾f°°ff°nf°n©f¯ J¾­° °f–°n ¯  ½¾f¯f¾  °n©°n  nfnf¾   ¯  ½ –f© n °fn–f€½ ©¿o%f  ­–f€© ¾ f°  ¾f° ¯f¯f °f¯f¾­–f€© ¾ ¿°½ ¯ °° –n°   €°n©¯ °°n%  ¯  f n¾f°%n f¯°¿° ­f °n ¾ ¯n   ©¿o°½  f ©¿of n¾f°½ fn ©°¯°¯°%  ¿n¿  f° €n°  ffn© ¯  ¾n ¯f f °n ½ f© n ¾°ff°f– ¾n ¯f½ f°n  .

J¾­°¿n¾¾ ¯¾ f°f¾  °n©° – ½f ­  €°f°f ¯  f€n  J¾© °f€¯f¯¾ n9  –½9$@%9n©f$@f°n©f% ¯ €f° f½n ¾ ¾ °n f  © ©© ¾f½¾€°n©¾  °n©°n¾½¾  ° f °  ffn©¾½ ©½–f¯ © -ff­ °fn¯  f€n °¯ .

   €°f°¾½¾ ½¾ f­f°f¾ °f½¾fn¾  °n©.

%  °f°n° .

f% 9n ¾nn°© ¾½  °°f ©°   ° f°f¯–n°¯ -f ¾°½ff°€f–¯ ° f–f€n° –.

¯f¯ °¯  o¾f°½ ½–f¯f°¾ °fn ¾ °f ½ ° ©¾ °° ©½–f¯    ½¾½¾n –°nfn© f°nf¯f°f¯¾© ¾°° ©   °¯f° –­ ½ ©¿n ½¯  ¯ff¯ f°n©f¯ n°fnf   ¾° © °¯¯¿o° –­ –½ ff°fn¿n½–f¯   .J 99*JJ.

%.

%  °°  °f   © ©n °¯ .

   –¾f© ¾ °f ©f.

J¾½© °¯ f½ ¾f    fn©  ¾% n©°%  °¯°f° ½ fo©f–f€n° ½ ¾f °  f–¯  – f­f°f­f ¾ °n – . ° o¾f° ½¾ ½ fn©¾  °n©°n  9  ° ©f½½f ©f.

 ½ ­° °f fn© ¾¾© ¾°°  © f ©f°½ ©¾n ¯f f °n ©¾°¾n© ©¾f°  .

@J -J..

%%  ¾©–f€n°f© n¾f° ff°n¾¯ –f€n°n ¯  ¯ ¾nf¾   fn¾½¾ ½  ° ¾n ¾n ¯ffn f °n f½ f°n­f  ¾ f°f   %f f–f¯%© ¾½  ¾°fn–f°n°½ ¾°½   ° ° ¾   ¯ °f¯   9ff¾°f¯  o¾f°f¾½¾ ©f°  ½¾ffo ¯¿  J©¯– ¾½fo¾f° f  €°n©  €°n©° -f¾°½ ¾f° f¾¾f° ©f¾n ¯f f °n½ f°© ¯¾n ¯f  €°n©°n  ½ff  fof °¿n –n°  ¾f° ¯ –f€n° © ½  °fn© f ± ¾n ­°n ¾ n   9 ¾f¯  ¯ °f¯©f¾  .

¾¾fn° ¾ °¾ °  ¾¯½¾ ¾ f–© n°f n °ff¾f© n ¾ f–© n°f n  n f­f n f° –© nf  n ff¾ ¯ n f¾ff© nfn ff¾© nf  n f½f¯f° ¯¾f° n f¾ff© nff½f¯f° ¯¾f°n ff¾© nf f½f¯f° ¯¾f°  n ¯½¾ n f f–© nf°f n °ff¾f© n n f f–© nf°f n ½f f© n   .

.@J JD-.

-.

% %  %°n° nf–f¯%© ¾© ¯–f€n°¯%¾ %  ffn©f½–f¯¯©© ¾ ½ff°f½ ½­ ¾–°f­ J¾© °–  €°n©°  ½n ½–f°  ½ ½ n °f½¾fn    @ ° f½fn©¯©½ –f°f    ½ ° – €°n©° –¯ ¾n ° ½ °¯¯ ©¾n   °n©  ¾   f°   ½–f¯©f½¾ ½¾f°¯¯ °°¯ ©¿n¯©¿n¯  J©¿nf €°n©°n° ½°° o­ n° -f½­f  ffn©f¾¯–n° © ½½ ° –­  ­ n °   ¯ °  ­% %©f © © ¾ ° ½¾nf°  -f o©f°  €°n©–n° © %¾ %   @D@D- ¾f°@%n @ %°f  –½© ¾n  ¾°½ °fn° –­°  ½¾­°nf ± n° ¯°f ffo ©fn–f€n°n% © ¾ f  °° % -f¾° ½ ¾f°€f–¯ °f½¾¯©  @© ¾½ ¾f¯© ¯f°¯ ½¾f°ffn© ½¾n –°nfnf°fn¾f°n ©fn.

.

   -% . 9 ¾f¯  ¯ °f¯©f¾ f °f ½ n °f Jf °f ¾fnf© f¿n ½f f© n   ¿° ¯½ f°n ­f f© ¾° ½ f ½ f°  ½ f° ¯¯  o¯ °°f ¾f­f €°n©f °°  f °   n °f¾ °f° ½ f¾¾f° ½ f  ½ f°  ­–¿n¿  ¿° © ©°¿n½   9 ¾f¯½ n °f¯©f¾ °¾n©f½½¾f°f°½ f  f°¾n© @D.

   -%.

  @  -% J  -%J 9@ D-@ -%9@ O@ J½¾fn  ¾ ©© °©¯©  €°f° °¯ ¾f° f  €°n©  €°n©°  .

 @-@D.

  °¾­f f¾¾  °n©°¾n© f f°n© ¾f½¾f°f ° – ¾f J °¾n©°f© © ¾ °ff½ fff  °f° ¯ €f© ° f ½ f°  ½ f° f¯¾ ¾f­  ¯ °° °¾n©¯ ½½ fo  ff±n°f ½ ¯ ¾f°¯  ¯ ° ¯ ¾f¯  o¯ °f °f½­f  @@  O%&½n¾&%  .

- .

f f  ©­° f–¯¾ f°f¯f–f© nf ½¾n– ° ©¾n°f   9 ¾f°  ¯¾n ©½–f¯f°f¾f°  ¾f©f¾f °n  ¯ °°f  ½–f¯¾n°n½.

  –fn°n½–f¯¾f°f ­  ¾¯fn©  – ° ff½ ¯ °fn©f½–f¯ffn© f­f°f¾¾ ¯¾ °nn  9­f ¾n ¯f– ° f°f½–f¯½¾f°n©fn½ ¾f°°f¾°   -f© ¾ f½©©    °f° ©f¯°f¾ o °f¿n¾­ ° –fn© ¾¾ ¯f¯¾ n¯  ¾f©½f ½–f¯f°f¾ ½¾ff° °€–f¾ n°½  9€ ¾ f°f ¾f°½©f­¾½f ½¾f° €°n© ©@.ff  9°© nf f °n©½–f¯f°ff¾f  ° ¯°f¾ffo© ° – ½¯f° – f°f J ©f© ¾f°f°¾½ n€ f f°f¾ °n – ½ €  °n©f¯½–f¯¾          .

S^S`W^ _` S_ _`W c ¯½  ¾¾ ¯°f f°f ¯°f°f¾ f°f½n ¾½ ¯¾­n ½ f©  n°  f  © n½¾ n° ¾¾f°f°ff .

½n   ½ ¾n f°– ¾ – ¿ °f ½ ¾.

°f° ffn¾°% ¾ ¯  f©  ½¾ ¯¿o¾½­½fn ¾ °f¯9.

 –ff¯¯½n ¾¯°°¯   °f¯ n °f° ©n¿n¯½  –¾¾ ¯f¯f°n½ n °  9ff© °f ffn© n °ff°n¾¾ ¯f¯f½ ¯¾­ © –­°  f ¿ °n¯f­n°¾ffn© n°–n°n .

°° f   –½¾¾ ¯© ¾¾f f¿o  ¾© °f½°  f ¯° –fn©½–f¯f°fffn©° – ¾ © n – 9¾n –°  f°f° ¾f ¾ ¯¾½¾ ¯ ffn©½¾n –°n €°n© n­n ½  °f°°f  f©°@n O Jn° J°.

.

 J¯f–f¾f °n ¾°¾¾ ¯.

.J-  fff°¾f°  f°f¾¾ ¯. ff­°f¾½© n ¾f–­°n€°n©  O O O O O O O O ¯°fn©f½ff ¾ © n ¾fn©f¯½ f¾¯  ½ ff° ¯ °°n½n ¾n   f­f° °f½n ¾%¾ f°  –fn©f%  °½n ¾¾–°ffn©ff¯  f½f° fnfn©  f°n  ffn©–f€n° ½  –½n ¾°f¾n ¯ffn  ¾fn ½  °€–f° ¾f–¯n°n f¾°½n°n  ¯f° f°n°°¯¾¾ ¯f¯½½ ¾ n.

¿o n©° ©    .½°°½¾f fo°f¾½© n n n nff ¾n°  O O O O O J f f°¾¾ ¯½ fn©°­f¾nf° ¯  9fnf¾ ¾ n ©  .¿o¾ f°f¯ €fn©f½fn©  ° °  f¿o¾ff°¿o%¾f° ¾f° f  –¾¾ ¯½ fn©° – ½–f¯f°f¾ n – ¾f° ¾f° f  –¾½ ¯¿o ½fnf°f½ °f½–f¯f°f¯°fn©° – ° ½n   ± ¾ f ¾½°¿o  ¯°fn©°n ¯¿o¯f° f°n ff¯ f°n°°¯¾¾ ¯f¯½¯n ¾f° f n¯ nf°¯°½    9.

½ % 9© f°¾½ ±° f °¿nf ½ n °  ¾½  O .

¾ ¯.

¾ n­° ¾¾ ¯¯½   f¾¾f±f¯f½ ¯¾­ ©   ff° °f f ½–f¯f°f.

%ffn©° –%  ¯  o½°  ½­#  D¯f° ffn© ½f¾f° – ¾° © n –½n ¾¾¾ ¯f¯ff¾¾° °   ½ °    .