Programowanie sterowania sekwencyjnego w oparciu o metodę Grafcet
Dla przejrzystości programu PLC i jego rozumienia nie tylko przez autora, opis działania układu sterowania powinien charakteryzować się strukturą niezależną od realizacji sprzętowej i programowej. Dlatego programy sterowania sekwencyjnego dzieli się bloki– etapy, te zaś z kolei na pojedyncze stany, akcje lub obwody – ogólnie działania, pomiędzy którymi określone zostały warunki przejść. Działania stowarzyszone z sobą mogą być łączone w większe jednostki – funkcje programowe. W bloku organizacyjnym określa się kolejność wywoływania poszczególnych bloków i funkcji. Rozróżnia się je przypisując im nazwy tekstowe lub kolejne numery. Dla działań szczególnie skomplikowanych, o charakterze uniwersalnym, producenci dostarczają już gotowe bloki i funkcje – ogólnie podprogramy, które użytkownik tylko wyposaża w odpowiednie parametry i ich wartości.
Dla przeprowadzenia testów programów lub ich części producenci dostarczają także sterowniki programowe. Będąc składnikiem oprogramowania, zachowują się –wirtualnie – jak prawdziwe sterowniki. Pozwala to na przeprowadzenie testu programu sterowania on–line na takim sterowniku, zanim jeszcze zostanie skompletowany i skonfigurowany odpowiedni, rzeczywiście istniejący sprzęt.
Blok sekwencji działań zawiera stany (kroki) oznaczone znacznikami ze skojarzonymi z nimi warunkami przejść do następnego stanu (kroku). Te warunki przejść nazywa się tranzycjami (łac. transitus = przejście).
Blok rozkazów zawiera rozkazy – polecenia wysterowania urządzeń wykonawczych sterowanego procesu. Rozkazy te towarzyszą poszczególnym działaniom w programie sterowania. W bloku diagnostyki zdefiniowane są niesekwencyjne zdarzenia i stany awaryjne.
Odpowiednio do wykorzystywanej metody opis sterowanego procesu zorganizowany jest w postaci zorientowanego grafu, w którym występują jako wierzchołki etapy-kroki i przejścia-tranzycje (ang. Transition). Etap przedstawiany jest w postaci kwadratu (rys. 4.3 58). Etap początkowy zaznaczony jest podwójną ramką. W programach, w odpowiednim bloku, programuje się z reguły dwa tryby pracy: pracę automatyczną i pracę krokową. Ten ostatni jest bardzo przydatny w sprawdzaniu poprawności programu, zarówno w badaniach wirtualnych, jak i uruchomieniowych rzeczywistego sterownika.
Poszczególne kwadraty - etapy połączone są z tranzycjami, zaznaczanymi przez krótką, poziomą kreskę, dwoma pionowymi odcinkami: wchodzącym, związanym z poprzednim etapem i wychodzącym, związanym z następnym etapem. Obok symbolu etapu, z reguły w oddzielnym prostokątnym polu, podany jest słowny lub sformalizowany opis działań dotyczących tego etapu. Bezpośrednio przy symbolu tranzycji podany jest także jej opis słowny.
Każdy etap ma swój kolejny numer, etap początkowy oznaczony jest numerem zero. Etap może być aktywny lub nieaktywny – stan ten określa wskaźnik etapu reprezentowany przez zmienną logiczną przyjmującą wartość 1 dla etapu aktywnego lub 0 dla etapu nieaktywnego. Informacja o stanie etapu przechowywana jest w pamięci.
Etap może być uaktywniony tylko wtedy, gdy etap poprzedni jest aktywny i gdy spełniony jest warunek przejścia-tranzycji (koniunkcja tych dwóch zdarzeń jest równa 1). Warunki przejść-tranzycji dają się określić na podstawie zależności procesowych, np. został osiągnięty pewien poziom w zbiorniku, lub na podstawie aktualnego trybu pracy sterownika. W trybie pracy automatycznej następuje przechodzenie od etapu do etapu po spełnieniu warunków tranzycji. W trybie pracy krokowej przejście musi zostać dodatkowo potwierdzone przyciskiem kroku panelu sterującego. Etap kolejny staje się nieaktywny, gdy uaktywni się następny w kolejności etap lub wyłączone zostanie przetwarzanie automatyczne programu z wymuszeniem skoku do etapu początkowego lub do innego etapu.
Rys. 4.3.58. Opis sekwencyjnego sterowania metodą Grafcet
Przykład sterowania krokowego
Program sterowniczy składa się z kroków, które są wykonywane jeden po drugim. W sterowaniu krokowym obowiązują następujące zasady:
– w danej chwili może być włączony tylko jeden krok programowy,
– dany krok włącza się po spełnieniu warunku przełączenia tego kroku przy włączonym kroku poprzednim,
– w zwykłym trybie pracy włączenie danego kroku powoduje automatyczne wyłączenie kroku
– uruchomienie sterowania krokowego (włączenie kroku 1) jest możliwe po spełnieniu warunków startu.
Zadanie
Trzy silniki powinny być włączane kolejno jeden po drugim, przy czym w danej chwili może pracować tylko jeden silnik. Oto poszczególne kroki programu sterowniczego:
Krok 1:
Po spełnieniu warunków startu (wszystkie silniki są wyłączone) i wciśnięciu przycisku S1 (I 0.1) włącza się krok 1 i stycznik K1 (a tym samym silnik M1).
Krok 2:
Po włączeniu silnika M1 i wciśnięciu przycisku S2 (I0.2) (warunek przełączenia kroku 2) włącza się krok 2 i stycznik K2 (a tym samym silnik M2) co powoduje wyłączenie kroku 1 i stycznika K1 (silnika M1).
Krok 3:
Po włączeniu silnika M2 i wciśnięciu przycisku S3 (I 0.3) (warunek przełączenia kroku 3) włącza się krok 3 i stycznik K3 (a tym samym silnik M3), co powoduje wyłączenie kroku 2 i stycznika K2.
Wciśnięcie przycisku S4 „Wyłącz" (I 0.0) zeruje wszystkie kroki programowe, aby silniki znalazły się w sytuacji wyjściowej.
Przebieg programu sterowania został opisany zgodnie z metodą Grafcet i przedstawiony jest na rys. 4.3.59.
Rys. 4.3.59. Programu sterowania opisany zgodnie z metodą Grafcet