Norma IEC-61131-3 definiuje typy języków: graficzne: schematów drabinkowych LD, schematów blokowych FBD, tekstowe: lista instrukcji IL, tekst strukturalny ST, grafów: graf funkcji sekwencyjnych SFC, graf przepływowy FC. SFC zawiera zestaw kroków i tranzycji (przejść), które sprzęgają się wzajemnie przez połączenia kierunkowe. Elementy sieci SFC są przeznaczone do użycia w wewnętrznej strukturze oprogramowania sterowników PLC oraz do zastosowania podczas zapisu algorytmu sterowania w jednym z języków zdefiniowanych w normie IEC-61131-3. 1
Krok (ang. step) (czasami używa się etap ) określa etap procesu lub zestaw działań sterownika PLC skojarzonych z etapem procesu. Stan początkowy (wyjściowy) procesu oraz sterownika PLC określa krok początkowy (inicjujący). Dowolna sieć SFC może mieć tylko jeden krok początkowy. 2
Symbol graficzny przejścia (tranzycji) Przejście (tranzycja) reprezentuje warunki logiczne realizacji poszczególnych kroków programu, czyli etapów procesu. Spełnienie tych warunków jest podstawą kontroli przechodzenia od jednego lub więcej kroków następujących po tranzycji, zgodnie z odpowiadającymi kierunkami łączenia. Każdą tranzycję opisuje określona zależność logiczna, która jest rezultatem modelowania logicznych zależności przyczynowo-skutkowych, określających warunki realizacji poszczególnych etapów procesu. 3
Z każdym etapem SFC skojarzone jest pewne działanie (action). Działanie może być wyrażone przez zmienną logiczną, zestaw instrukcji w języku IL, poleceń w języku ST, szczebli języka LD, obwodów FBD a także jako graf SFC. Etap, który zawiera zero działań realizuje funkcję WAIT, tzn. oczekiwane jest spełnienie warunków przejścia do następnego etapu. 4
Kwalifikatory działania służą do powiązania kroku z działaniem. Kwalifikatory działania specyfikują, czy określone działanie ma być uruchomione i z jakimi ewentualnymi ograniczeniami czasowymi. Tabela zawiera zestawienie zdefiniowanych w normie kwalifikatorów działania. Kwalifikatorom L, D, SD, DS, i SL towarzyszy dodatkowo zmienna typu TIME określająca czas trwania. 5
SiR 7_3: Typy języków programowania sterowników PLC (zdefiniowane w IEC-1131) - standard dokumentacji SFC; Przykładowe zastosowania w zadaniach sterowania procesem przemysłowym Tabela 7.2.1. Przedstawienie przejścia i warunków przejścia Spełnienie warunku przejścia jest opisane za pomocą symbolu 1 lub słowa TRUE 6
SiR 7_3: Typy języków programowania sterowników PLC (zdefiniowane w IEC-1131) - standard dokumentacji SFC; Przykładowe zastosowania w zadaniach sterowania procesem przemysłowym Zasady modelowania za pomocą sekwencji etapów i przejść w grafie SFC Tabela 7.1 Sekwencje kroków i przejść w grafie SFC 7
SiR 7_3: Typy języków programowania sterowników PLC (zdefiniowane w IEC-1131) - standard dokumentacji SFC; Przykładowe zastosowania w zadaniach sterowania procesem przemysłowym Tabela 7.1. cd. 8
SiR 7_3: Typy języków programowania sterowników PLC (zdefiniowane w IEC-1131) - standard dokumentacji SFC; Przykładowe zastosowania w zadaniach sterowania procesem przemysłowym Tabela 7.1 cd. 9
SiR 7_3: Typy języków programowania sterowników PLC (zdefiniowane w IEC-1131) - standard dokumentacji SFC; Przykładowe zastosowania w zadaniach sterowania procesem przemysłowym Tabela 7.1. cd. 10
Reguły modelowania za pomocą grafu SFC 1. Krok początkowy reprezentuje proces w stanie początkowym. Jest on w stanie aktywnym w przypadku zainicjowania go przez użytkownika lub przez blok instrukcji (działań). 2. Zmiana stanu procesu jest przedstawiana przez odblokowanie tranzycji przy spełnieniu następujących warunków: kroki poprzedzające tranzycję są aktywne; warunek logiczny określający tranzycję ma wartość,,1". 3. Tranzycja jest kasowana po spełnieniu określającego go warunku logicznego. Skasowanie tranzycji powoduje dezaktywację wszystkich kroków poprzedzających i aktywację wszystkich kroków bezpośrednio następujących po nim. 4. Bezpośrednie łączenie dwóch kroków / tranzycji jest zabronione. Kroki / tranzycje zawsze musi rozdzielać tranzycja / krok. 5. W celu modelowania procedur współbieżnych stosowana jest tranzycja specjalnego typu. Reprezentuje ona przechodzenie do jednoczesnej realizacji procedur sekwencyjnych lub jednoczesne zakończenie realizacji procedur sekwencyjnych. Ten typ tranzycji oznaczany jest linią podwójną. 11
Proces stemplowania napisu na wyrobie Do inicjacji procesu użyty został przycisk "START", który wyzwala pracę automatyczną całego procesu. Dla potrzeb zatrzymania procesu przez operatora systemu użyty został przycisk "STOP". Zastosowano sygnalizację optyczną załączanych zaworów. Ma to umożliwić diagnostykę pracy procesu technologicznego z poziomu operatora systemu, będącego niekiedy w znacznym oddaleniu od pracujących urządzeń np.: w maszynowni, nastawni. Proces stemplowania napisu na wyrobie powinien przebiegać w sposób następujący: ruch stempla w dół do pozycji D powoduje odbicie właściwego "logo" na wyrobie ustawionym w miejscu kontroli położenia P; po wykonaniu tej czynności stempel wraca do położenia wyjściowego G (w tym czasie następuje odbiór wyrobu) i oczekuje na podanie przez taśmociąg T kolejnego wyrobu do stemplowania; proces jest realizowany automatycznie. Uwaga! Transport wyrobów na taśmie kontroluje inny sterownik PLC. 12
Etapy procesu: I Start procesu II Stemplowanie napisu III Powrót stempla Kroki sieci SFC NR1 - inicjacja działania procesu stemplowania poprzez naciśnięcie przycisku "START" na pulpicie sterującym; kwalifikator działania jest typu N, ponieważ układ pracuje w systemie automatycznym i wyzwolenie jest jednorazowe. NR2 - rozpoczęcie procesu stemplowania poprzez wysterowanie zaworu Z1, zasilającego siłownik pneumatyczny; kwalifikator działania jest typu S. NR3 - rozpoczęcie procesu powrotu stempla poprzez wysterowanie Z2, zasilającego siłownik pneumatyczny; warunki jak wyżej. 13
Postać algorytmu SFC dla procesu stemplowania Warunki tranzycji: WARUNEK INICJACJI: - stempel znajduje się w pozycji górnej, tzn. G =,,1"; - materiał do stemplowania znajduje się w pozycji roboczej, tzn. P =,,1". WARUNEK POŁOŻENIA STEMPLA D - - stempel znajduje się w pozycji dolnej tzn. D =,,1" WARUNEK POŁOŻENIA STEMPLA G i WYROBU P- - stempel znajduje się w pozycji górnej tzn. G =,,1"; - materiał do stemplowania znajduje się w pozycji roboczej, P =,,1"; - nie został pobudzony przycisk "STOP=1". 14
Obwód 1: A START Obwód 4: AN STOP A G S M0 A P S H2 AN Z2 R H1 S Z1 Obwód 5: End S H1 R H2 R M0 Obwód 2: A Z1 A D S Z2 R Z1 Obwód 3: A Z2 A G A P AN M0 S Z1 R Z2 Program w języku lista instrukcji IL 15
Schemat funkcjonalny bramy typu szlaban Stacja operatorska 16
Wykorzystanie języka SFC do sterowania pracą bramy przemysłowej Sformułowanie zadania sterującego Sterowanie bramą może odbywać się w dwóch trybach pracy: użytkownik lub administrator Do podnoszenia i zamykania szlabanu służą dwa silniki zasilane przez styczniki K1(zam) i K2 (otw). Styki krańcowe S13 (kz) i S14 (ko) sygnalizują zamkniecie lub otwarcie zapory. Brama jest zabezpieczona przed opuszczeniem (podniesieniem) w przypadku obecności czegokolwiek w strefie bramy (czujnik S7 przesz). Do sterowania pracą bramy są dostępne przyciski: - otwórz - Start - zamknij - Zamknij - blokada - klucz unieruchomienie bramy (zapora w pozycji zamkniętej lub otwartej). Administrator brama może być zablokowana na stałe przy opuszczonej zaporze lub otwartej zaporze klucz=0. Użytkownik (Start=1) krótkie naciśnięcie przycisku powoduje otwarcie bramy (załączenie przekaźnika K2, aż do zadziałania krańcówki S14=0), krótkie naciśnięcie przycisku Zamknij=1 powoduje zamkniecie bramy (załączenie przekaźnika K1, aż do zadziałania krańcówki S13=0). Ponadto jeżeli upłynie zadany czas od otwarcia, brama zamknie się samoczynnie. W każdej chwili akcja może być zatrzymana po uaktywnieniu się czujnika przesz=0 i brama otworzy się automatycznie. 17
1 Brama po inicjalizacji blokada 1 ko=true and przesz=true and klucz=true 2 Brama zamknięta - odblokowana 2 start=true; 3 Otwieranie ACTION (N): otw:=true; zam:=false; czas:=t#0s; END_ACTION; 3 not(ko)=true 4 Brama otwarta ACTION (N) : otw:=false; tstart(czas); END_ACTION; 4 ((czas>t#10s) or zamknij=true) and przesz=true and klucz=true 18
5 Zamykanie ACTION (N): zam:=true; czas:=t#0s; END_ACTION; SiR 7_3: Typy języków programowania sterowników PLC (zdefiniowane w IEC-1131) 5 not(kz)=true and przesz=true 7 not(przesz)=true 3 6 Brama zamknięta ACTION (N) : zam:=false; tstop(czas); END_ACTION; 6 ko=true and przesz=true and klucz=true 2 8 not(klucz)=true 1 19