PLC - język tekstu strukturalnego ST

Podobne dokumenty
1. JĘZYK SFC WPROWADZENIE

SFC zawiera zestaw kroków i tranzycji (przejść), które sprzęgają się wzajemnie przez połączenia

1. SFC W PAKIECIE ISAGRAF 2. EDYCJA PROGRAMU W JĘZYKU SFC. ISaGRAF WERSJE 3.4 LUB 3.5 1

Sterowniki Programowalne (SP) Wykład 11

Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

W_4 Adaptacja sterownika PLC do obiektu sterowania. Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

W 5_2 Typy języków programowania sterowników PLC (zdefiniowane w IEC-61131) - języki graficzne (LD, FBD); języki tekstowe (ST, IL).

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Systemy wbudowane. Wprowadzenie. Nazwa. Oznaczenia. Zygmunt Kubiak. Sterowniki PLC - Wprowadzenie do programowania (1)

Zmiany. Initial Step krok inicjujący sekwenser

Procedura tworzenia oprogramowania sterownika Synteza algorytmu procesu i sterowania metodą GRAFCET i SFC

Podstawowe procedury przy tworzeniu programu do sterownika:

Sterowniki Programowalne (SP)

1. SYNTEZA UKŁADÓW SEKWENCYJNYCH

zmiana stanu pamięci następuje bezpośrednio (w dowolnej chwili czasu) pod wpływem zmiany stanu wejść,

LABORATORIUM 11, ZESTAW 1 SYNTEZA ASYNCHRONICZNYCH UKŁADÓW SEKWENCYJNYCH, CZ.I

PROGRAMY STEROWANIA I WIZUALIZACJI II

MIĘDZYNARODOWA NORMA IEC 61131

JĘZYK SFC Sequential Function Chart ki 2004 Graf sekwencji rbańs rad U on inż. K dr

LABORATORIUM 08, ZESTAW 1 SYNTEZA ASYNCHRONICZNYCH UKŁADÓW SEKWENCYJNYCH

PROGRAMOWALNE STEROWNIKI LOGICZNE

Nazwa kwalifikacji: Projektowanie i programowanie urządzeń i systemów mechatronicznych Oznaczenie kwalifikacji: E.19 Numer zadania: 01

Projekt prostego układu sekwencyjnego Ćwiczenia Audytoryjne Podstawy Automatyki i Automatyzacji

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Q t = δ(q t-1, X t ),

CoDeSys 3 programowanie w języku drabinkowym LD

koniec punkt zatrzymania przepływów sterowania na diagramie czynności

Asynchroniczne statyczne układy sekwencyjne

Najkrótsza droga Maksymalny przepływ Najtańszy przepływ Analiza czynności (zdarzeń)

JĘZYKI PROGRAMOWANIA STEROWNIKÓW

Opracował: Jan Front

Język programowania: Lista instrukcji (IL Instruction List)

Przemysłowe Systemy Automatyki ĆWICZENIE 2

CoDeSys 3 programowanie w języku FBD

Programowanie sterowników PLC wprowadzenie

Podstawy programowania PLC w języku drabinkowym - ćwiczenie 5

Przykład programowania PLC w języku drabinkowym - ćwiczenie 6

Stan/zdarzenie Nexo. Zmienne wirtualne. Zdarzenia wirtualne

Rys.1. Technika zestawiania części za pomocą polecenia WSTAWIAJĄCE (insert)

1. Zbiornik mleka. woda. mleko

Zadanie egzaminacyjne

Elementy oprogramowania sterowników. Instrukcje podstawowe, funkcje logiczne, układy czasowe i liczenia, znaczniki

Podstawy programowania PLC - zadania

Ćwiczenie 5. Realizacja prostych algorytmów sterowania z wykorzystaniem programu CONCEPT

LABORATORIUM 06, ZESTAW 1 SYNTEZA BEZSTYKOWYCH UKŁADÓW KOMBINACYJNYCH

Tranzystor JFET i MOSFET zas. działania

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Zadanie egzaminacyjne E.18 nr zad. 03

Lista zadań nr 5. Ścieżka projektowa Realizacja każdego z zadań odbywać się będzie zgodnie z poniższą ścieżką projektową (rys.

Statyczne badanie przerzutników - ćwiczenie 3

Pętla for. Wynik działania programu:

UKŁADY SEKWENCYJNO CZASOWE I SPECJALNE

Centrala Sterująca 540BPR

Język UML w modelowaniu systemów informatycznych

Programowanie w języku Python. Grażyna Koba

3. Sieć PLAN. 3.1 Adresowanie płyt głównych regulatora pco

Konfiguracja i programowanie sterownika GE Fanuc VersaMax z modelem procesu przepływów i mieszania cieczy

Użycie Visual Basic for Applications ("VBA")

Lista zadań nr 1. Zagadnienia stosowanie sieci Petriego (ang. Petri net) jako narzędzia do modelowania algorytmów sterowania procesami

Instrukcja. Rozdział 1 Schemat drabinkowy PLC oraz zasady kodowania mnemonika

PROGRAMOWANIE Z LICZNIKIEM CYKLI

Zadanie egzaminacyjne

Podstawy programowania w środowisku Totally Integration Automation Portal

UKŁADY KOMBINACYJNE WPROWADZENIE. przerzutniki, bramki ze sprzężeniami zwrotnymi. Układ przełączający Y t. Q t stan wewnętrzny

Układy VLSI Bramki 1.0

Bramki logiczne Podstawowe składniki wszystkich układów logicznych

UKŁADY CZASOWE PROGRAMOWANIE Z LICZNIKIEM CYKLI FALA PROSTOKĄTNA

Zwory na płycie z łączem szeregowym ustawienie zworek dla programowania.

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

PIERWSZY PROGRAM W JĘZYKU FBD

CoDeSys 3 programowanie w języku CFC

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

EGZAMIN POTWIERDZAJĄCY KWALIFIKACJE W ZAWODZIE Rok 2018 CZĘŚĆ PRAKTYCZNA

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Definicje. Algorytm to:

Politechnika Gdańska. Gdańsk, 2016

MODELOWANIE I PROGRAMOWANIE PRACY

LABORATORIUM 04, ZESTAW 1 SYNTEZA BEZSTYKOWYCH UKŁADÓW KOMBINACYJNYCH

LABORATORIUM PRZEMYSŁOWYCH SYSTEMÓW STEROWANIA

Zadanie egzaminacyjne E18 Nr zad 01

Definicja 2. Twierdzenie 1. Definicja 3

Podstawowe operacje arytmetyczne i logiczne dla liczb binarnych

Kurs Podstawowy S7. Spis treści. Dzień 1

Wykład 9. Metody budowy schematu funkcjonalnego pneumatycznego układu przełączającego:

Polcode Code Contest PHP-10.09

ARKUSZ EGZAMINACYJNY ETAP PRAKTYCZNY CZERWIEC 2010

miejsca przejścia, łuki i żetony

1. Wstęp. dr inż. Piotr Pawełko / Przed przystąpieniem do realizacji ćwiczenia patrz punkt 4!!!

Lekcja 5 - PROGRAMOWANIE NOWICJUSZ

Podstawy PLC. Programowalny sterownik logiczny PLC to mikroprocesorowy układ sterowania stosowany do automatyzacji procesów i urządzeń.

Istnieje wiele metod przekształcania algorytmów wprogram sterujący.

Sterownik Visilogic V260

ALGORYTMY. 1. Podstawowe definicje Schemat blokowy

Wykład nr 1 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Po uruchomieniu programu nasza litera zostanie wyświetlona na ekranie

Podstawy Techniki Cyfrowej Teoria automatów

Zadanie egzaminacyjne

Komentarz technik mechatronik 311[50]-01 Czerwiec 2009

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

Transkrypt:

PLC - język tekstu strukturalnego ST Język tekstu strukturalnego ST jest odpowiednikiem języka wysokiego poziomu, zawiera podobny zestaw instrukcji jak Pascal czy C. Podstawowymi elementami języka są wyrażenia i instrukcje. Wyrażenie zwraca wartość określonego typu, wartość ta wyznaczana jest na podstawie występujących w tym wyrażeniu wartości, zmiennych, operatorów oraz funkcji. Instrukcja to wyrażenie języka określające wybraną operację (czynność). W językach typu Asembler każda instrukcja odpowiada jednemu rozkazowi procesora, w językach wysokiego poziomu instrukcja tłumaczona jest na kilka rozkazów. Każda instrukcja w ST musi być zakończona średnikiem ;. Wybrane operatory ST AND lub & OR NOT Opis iloczyn logiczny; A & B lub A AND B zwraca wartość prawda jeżeli zmienne A i B są prawdziwe suma logiczna; A OR B zwraca wartość prawda jeżeli jedna ze zmiennych A lub B jest prawdziwa negacja logiczna; NOT A zwraca wartość prawda jeżeli zmienna A jest fałszywa Wybrane instrukcje ST Opis instrukcja przypisania Składnia: zmienna := wyrażenie; Instrukcja zastępuje aktualną wartość wybranej zmiennej nową wartością wyznaczoną w trakcie interpretacji wyrażenia, np.: Z := (B & C) OR (NOT A); przypisuje zmiennej Z wartość wynikającą z wartości wyrażenia logicznego BC + Ā (nawiasy w powyższej instrukcji są zbędne) Rys. Wybrane operatory i instrukcje języka ST. " Sterowniki programowalne f.2/1

PLC języki sekwencyjnych schematów funkcjonalnych historia Dyskretne procesy produkcyjne są złożonymi układami, których sterowanie przebiega w sposób sekwencyjny. Klasyczne metody projektowania układów sekwencyjnych (np. metoda Huffmana) są niewystarczające do projektowania algorytmów sterowania dla tak złożonych procesów. Języki sekwencyjnych schematów funkcjonalnych Ograniczenia metod klasycznych przyczyniły się do poszukiwania nowych metod opisu układów sekwencyjnych. Alternatywne podejście do modelowania wprowadziła metoda Grafcet. Grafcet metoda opisana w 1977 przez firmę Telemecanique, metoda ta oparta jest na teorii sieci Petriego typu P/T (pozycja/tranzycja). GRAPH 5, GRAPH 7, Grafpol, SFC metody będące modyfikacjami Grafcet, metoda SFC została opisana w normie IEC 61131-3. Metody Grafcet, GRAPH 5, GRAPH 7, Grafpol, SFC stanowią podstawę języków programowania sterowników PLC. Języki te nazywane są językami sekwencyjnych schematów funkcjonalnych lub językami sterowania sekwencyjnego. Języki sterowania sekwencyjnego są językami graficznymi. Zadania sterowania przedstawiane są w postaci sieci (grafu) składającej się z kroków (etapów) i tranzycji (przejść) między tymi krokami. " Sterowniki programowalne f.2/2

Sieć języka SFC to graf skierowanymi, który może mieć wierzchołki dwóch różnych typów: kroki, tranzycje. Kroki reprezentują elementarne etapy sterowanego procesu; graficznie krok prezentowany jest w postaci prostokąta, którego unikalna nazwa wpisywana jest w jego wnętrzu; Krok początkowy jest specjalnie wyróżnionym krokiem, sterownik PLC rozpoczyna wykonywanie programu zapisanego w SFC od kroku początkowego, program w SFC powinien zawierać co najmniej jeden krok tego typu; krok początkowy graficznie prezentowany jest w postaci prostokąta z podwójną ramką. Kroki mogą być aktywne lub nieaktywne. Krok jest aktywny od chwili rozpoczęcia jego wykonywania do chwili w której zostanie rozpoczęte wykonywanie kroku następnego. W programie SFC dostępne są następujące zmienne związane z każdym z jego kroków: zmienna ***.x jest zmienną boolowską określającą aktywność kroku, zmienna ***.t jest zmienną typu TIME określająca czas aktywności kroku, gdzie *** jest nazwą kroku. a) b) *** *** Rys. 1. Symbol a) kroku początkowego, b) kroku (*** jest nazwą kroku). " Sterowniki programowalne f.2/3

Tranzycje (przejścia) powiązane są z warunkami logicznymi, warunki te nazywane są warunkami przejść; Spełnienie warunku przejścia kończy wykonywanie kroku lub kroków bezpośrednio poprzedzających tranzycję i rozpoczyna wykonywanie kroku lub kroków bezpośrednio następujących po tranzycji. Dopuszczalne jest stosowanie tranzycji bez zdefiniowanych warunków przejścia, tranzycje takie są zawsze spełnione. Warunki przejścia mogą być zapisane w pozostałych języka definiowanych przez normę: ST, LD, FBD, IL. Graficznie tranzycja rysowana jest jako poziomy odcinek przecinający połączenie kroków (połączenia rysowane są liniami pionowymi). Bezpośrednio obok symbolu może być zapisywana jej nazwa lub warunki przejścia. a) b) c) W2 %I2 & %I3 %I2 %I3 Rys. 2. Symbol tranzycji pomiędzy krokiem a krokiem a) z umieszczoną obok nazwą W2, b) i c) ze zdefiniowanym w języku ST i LD warunkiem przejścia (jeżeli aktywny jest krok to krok zostanie aktywowany jeśli na drugim i trzecim wejściu cyfrowym pojawi się sygnał 1, krok straci wtedy aktywność). " Sterowniki programowalne f.2/4

Z krokiem może być skojarzone tzw. akcje. Akcje to operacje wykonywane w czasie aktywności kroku, operacje te mogą np. przypisywać odpowiednie wartości zmiennym wyjściowym. Dopuszczalne jest stosowanie kroków nie połączonych z akcjami. Kroki tego typu oczekują na spełnienie warunku przejścia do kolejnego kroku. Akcjami mogą być ciągi instrukcji napisane w każdym z języków normy. W językach tekstowych akcja definiowana jest w postaci: nazwa akcji kwalifikator akcji ACTION nazwa (kwalifikator) instrukcje ciąg instrukcji w wybranym języku END_ACTION Wybrane kwalifikatory Opis brak lub N P S R akcja nieprzechowywana, (normalna), instrukcje akcji wykonywane są przez cały czas aktywności kroku w każdym cyklu programowym sterownika akcja impulsowa, instrukcje akcji wykonywane są tylko raz gdy krok zyskuje aktywność akcja zapamiętywana, akcja jest uruchamiana gdy krok zyskuje aktywność, utrata aktywności nie przerywa akcji akcja musi być kasowana w innym kroku akcja nadrzędnie kasowana, akcja uruchomiona w innym kroku jest kasowana Rys. 3. Deklaracja akcji w języku tekstowym i wybrane kwalifikatory akcji. " Sterowniki programowalne f.2/5

Akcją może być również zmienna boolowska. W zależności od użytej składni zmiennej mogą być przypisywane różne wartości albo w czasie aktywności kroku albo aż do następnej zmiany wartości. Składnia Opis zmienna(n) w skrócie: zmienna, zmienna otrzymuje wartość prawda na czas aktywności kroku /zmienna zmienna(s) zmienna otrzymuje wartość fałsz na czas aktywności kroku zmiennej przypisywana jest wartość prawda po uaktywnieniu kroku, zmienna zapamiętuje tą wartość nawet po utracie aktywności kroku zmienna(r) podobnie jak wyżej, tylko zmiennej przypisywana jest wartość fałsz aktywność kroku akcja (N) aktywność kroku zmienna(n) akcja (P) akcja (S) akcja (R) /zmienna zmienna(s) zmienna(r) Rys. 4. Deklaracja akcji w języku tekstowym i wybrane kwalifikatory akcji. " Sterowniki programowalne f.2/6

Struktura grafu języka SFC: graf jest grafem skierowanym, wierzchołki grafu tzn. kroki i tranzycje połączone są krawędziami skierowanymi wskazującymi kierunek aktywowania kolejnych kroków, pomiędzy dwoma kolejnymi krokami w grafie musi znajdować się dokładnie jedna tranzycja, pomiędzy dwoma kolejnymi tranzycjami musi znajdować się dokładnie jeden krok, graf musi zawierać krok początkowy, domyślnym kierunkiem zmiany aktywności kroków jest kierunek z góry do dołu, na gałęziach grafu prowadzących z kroków położonych niżej do kroków położonych wyżej można umieszczać groty wskazujące kierunek połączeń. Po uruchomieniu programu aktywowany jest krok, /Z; zmienna Z na czas aktywności tego kroku przyjmuje wartość fałsz. akcja skojarzona z krokiem Jeżeli warunek przejścia A (B+C) uzyska wartość prawda krok straci aktywność na rzecz kroku, zmienna Z A & (B+C) otrzyma wartość prawda. Aktywacja kroku spowoduje uruchomienie akcji nadającej Z; akcja skojarzona z krokiem zmiennej Z na czas aktywności tego kroku przyjmuje wartość prawda. Akcja Z nie musi być dołączona do kroku NOT A + (NOT B & NOT C) zmienna Z otrzymała już właściwą wartość. Rys. 5. Przykładowy program w SFC, akcje i warunki przejścia zostały zapisane w ST. Po spełnieniu warunku A B C krok traci aktywność i ponownie aktywowany jest krok " Sterowniki programowalne f.2/7

Tranzycja może być bezpośrednio poprzedzona jednym lub kilkoma krokami, podobnie bezpośrednio za tranzycją może znajdować się jeden lub kilka kroków. Struktury z kilkoma krokami zostały wprowadzone, żeby np. umożliwić kierowanie aktywności do jednej z alternatywnych gałęzi grafu czy realizację kilku kroków jednocześnie. Realizacja wyboru rozbieżność Jeżeli po wykonaniu określonego kroku zachodzi potrzeba realizacji jednej z kilku możliwych sekwencji kroków to po symbolu kroku należy na grafie narysować pojedynczą linię poziomą a pod nią zestaw tranzycji odpowiadających możliwym wyborom. Sprawdzanie warunków przejścia jest przeprowadzane: od lewej strony (najpierw sprawdzana jest prawdziwość warunku pierwszego od lewej, jeżeli warunek jest fałszywy, sprawdzany jest kolejny itd.), albo na podstawie liczbowego priorytetu przypisanego przez użytkownika gałęziom (najpierw sprawdzana jest prawdziwość warunku gałęzi o najniższym numerze, jeżeli warunek jest fałszywy, sprawdzany jest warunek gałęzi o kolejnym numerze itd..). W21 ilość gałęzi alternatywnych może być dowolna W22 W23 Jeżeli aktywny jest krok i spełniony jest warunek przejścia: W21 to uaktywniany jest krok, W22 to uaktywniany jest krok, W23 to uaktywniany jest krok. Rys. 6. Realizacja wyboru gałęzi grafu rozbieżność. " Sterowniki programowalne f.2/8

Realizacja wyboru zbieżność Alternatywne gałęzie grafu można używając symbolu połączenia (tzw. symbol zbieżności) kroków alternatywnych połączyć w jeden ciąg kroków. a) b) W1 W1 W3 W4 W5 W21 W22 W21 W22 K6 W3 W4 W3 W4 Rys. 7. Realizacja wyboru gałęzi grafu zbieżność. Krok K6 jest uaktywniany gdy: aktywny jest krok i spełniony jest warunek W3, aktywny jest krok i spełniony jest warunek W4, aktywny jest krok i spełniony jest warunek W5. W5 W5 Rys. 8. Przykładowe programy wykorzystujące rozbieżność a) program ze zrealizowaną zbieżnością, b) program bez łączenia gałęzi alternatywnych. " Sterowniki programowalne f.2/9

Realizacja współbieżności rozbieżność Jeżeli po wykonaniu określonego kroku zachodzi potrzeba jednoczesnej realizacji kilku sekwencji kroków to po symbolu tranzycji związanej z tym krokiem należy na grafie narysować podwójną linię poziomą a pod nią zestaw odpowiednich kroków. ilość gałęzi równoległych może być dowolna Realizacja współbieżności zbieżność Równoległe gałęzie grafu można używając symbolu połączenia (tzw. symbol zbieżności) kroków równoległych połączyć w jeden ciąg kroków. Połączenie takie sprowadza się do synchronizacji operacji wykonywanych w krokach współbieżnych, tzn. krok wykonywany krócej pozostaje aktywny do czasu zakończenia operacji wykonywanych przez krok dłuższy. W2 Rys. 9. Realizacja współbieżności rozbieżność. Jeżeli aktywny jest krok i spełniony jest warunek przejścia W2 jednocześnie uaktywniane są kroki, i. Po aktywacji kroków, i przetwarzanie dalszych kroków w gałęziach równoległych odbywa się niezależnie. K6 W3 ilość gałęzi równoległych może być dowolna Rys. 10. Realizacja współbieżności zbieżność. Krok K6 jest uaktywniany gdy aktywne są kroki,, i spełniony jest warunek W3. " Sterowniki programowalne f.2/10

Pomijanie realizacji sekwencji kroków Jeżeli po wykonaniu określonego kroku, przy spełnieniu określonych warunków, zachodzi potrzeba pominięcia sekwencji kroków to kroki te można pominąć wykorzystując pustą gałąź alternatywną. W11 W12 Skok do kroku Symbol skoku (w postaci strzałki) jest wykorzystywany dla zwiększenia czytelności grafu, zastępuje linię łączącą.dwa odległe od siebie kroki. 0 W10 jeżeli aktywny jest krok 0 i spełniony warunek W10 to uaktywniany jest krok W2 W3 Kroki i są pomijane gdy aktywny jest krok i spełniony jest warunek W12. Rys. 12. Przykładowy skok do kroku. W1 W1 W5 Rys. 11. Przykładowy program z pomijaniem sekwencji kroków. W2 W2 Rys. 13. Program w wersji bez i ze skokiem. " Sterowniki programowalne f.2/11

Język SFC przykład 1. Program steruje pracą lampy. Jeśli lampa nie świeci, wciśnięcie przycisku P powoduje jej zaświecenie, jeśli lampa świeci, wciśnięcie przycisku powoduje jej zgaszenie. Zwolnienie przycisku nie powoduje zmian stanu lampy. 0 1 1 1 2 0 4 0 1 Rys. 14. Graf przejść układu. Wewnętrzne stany stabilne układu: 1 lampa nie świeci, przycisk P zwolniony, 2 lampa świeci, przycisk P wciśnięty, 3 lampa świeci, przycisk P zwolniony, 4 lampa nie świeci, przycisk P wciśnięty. 3 1 0 P NOT P P /Y; Y; Y; /Y; NOT P NOT P Rys. 15. Dwie wersje programu w SFC (akcje i warunki przejścia zapisane w ST), Wersje różnią się sposobem zapisu akcji w krokach i patrz slajd 4. P P Y(R); Y(S); Y(R); NOT P " Sterowniki programowalne f.2/12

Język SFC przykład 2. Program steruje pracą zaworów Z 1 i Z 2 przy pomocy których napełniany jest zbiornik. Poziom wody w zbiorniku jest kontrolowany przez czujniki A i B. Jeżeli jest niski poziom wody (a = 0, b = 0) obydwa zawory są otwarte (Z 1 = 1, Z 2 = 1), jeżeli poziom wody jest wysoki (a = 1, b = 1) obydwa zawory są zamknięte (Z 1 = 0, Z 2 = 0), jeżeli poziom wody jest średni (a = 1, b = 0) otwierany jest zawór, który poprzednio był zamknięty. 10 10 3 00 Z1;Z2; 10 11 11 00 00 11 1 5 6 2 11 10 00 4 10 01 Rys. 16. Graf przejść układu. Wewnętrzne stany stabilne układu: 1 poziom niski, zawory otwarte, poprzednio otwarty Z 2, 2 poziom niski, zawory otwarte, poprzednio otwarty Z 1, 3 poziom średni, otwarty zawór Z 1, 4 poziom średni, otwarty zawór Z 2, 5 poziom wysoki, zawory zamknięte, poprzednio otwarty Z 2, 6 poziom wysoki, zawory zamknięte, poprzednio otwarty Z 1. " Sterowniki programowalne f.2/13 a & NOT b Z1;/Z2; NOT a & NOT b Z1;Z2; a & NOT b /Z1;Z2; NOT a & NOT b Rys. 17. Przykładowy program. K6 a & b /Z1;/Z2; a & NOT b a & b /Z1;/Z2; a & NOT b

Język SFC przykład 3. Program steruje umożliwia sterowanie pracą urządzenia dwoma przyciskami: Z (załącz) i W (wyłącz). Naciśnięcie przycisku Z załącza urządzenie, urządzenie pracuje również po zwolnieniu tego przycisku. Naciśnięcie przycisku W wyłącza urządzenie. Urządzenie nie pracuje gdy wciśnięte są obydwa przyciski. Dodatkowo, nie jest możliwa jednoczesna zmiana stanu obydwu przycisków. X=(Z,W) A 00 01 11 10 Y 1 2 5 0 2 1 3 0 3 4 5 1 4 1 3 1 /Y; NOT Z & NOT W /Y; NOT Z & W Z & NOT W Z & W /Y; Z & NOT W NOT Z & W 5 1 3 0 Wewnętrzne stany stabilne układu: 1 Z=0, W=1, urz. wył. (Y=0), 2 Z=0, W=0, urz. wył. (Y=0), 3 Z=1, W=0, urz. wł. (Y=1), 4 Z=0, W=0, urz. wł. (Y=1), 5 Z=1, W=1, urz. wył. (Y=0). Rys. 18. Pierwotna tablica programu i przykładowy program. Y; NOT Z & NOT W Y; Z & NOT W Z & W NOT Z & W " Sterowniki programowalne f.2/14

Język SFC przykład 3. Otrzymana w wyniku łączenia odpowiadających sobie wierszy pierwotnej tablicy programu tzw. zredukowana tablica programu pozwala na napisanie prostszego programu. X=(Z,W) A 00 01 11 10 Y 1 2 5 0 2 1 3 0 3 4 5 1 4 1 3 1 5 1 3 0 X=(Z,W) A 00 01 11 10 Y 1,2,5 3 0 3,4 1 5 1 stany 1, 2, 5 oznaczone zostały symbolem I, stany 3, 4 symbolem II. X=(Z,W) A 00 01 11 10 Y I I I I II 0 II II I I II 1 KI Z & NOT W W /Y; KII Y; Rys. 19. Pierwotna i zredukowana tablica programu oraz przykładowy program. " Sterowniki programowalne f.2/15

Język SFC przykład 4. Program steruje procesem załadunku kontrolując obroty silnika wózka (OP=1 obroty w prawo, OL=1 obroty w lewo) i położenie klapy zamykającej silos (Z=1 klapa otwarta, Z=0 klapa zamknięta). Proces załadunku powinien przebiegać zgodnie z następującym schematem: wózek na żądanie operatora po naciśnięciu przez niego przycisku START (START=1) podjeżdża do stanowiska załadunku (proces ten może rozpocząć się tylko wtedy gdy wózek znajduje się w pozycji początkowej zgłaszanej przez czujnik A, (A=1)), załadunek rozpoczyna się automatycznie po osiągnięciu przez wózek stanowiska załadunku (zgłaszane przez czujnik B, (B=1)), po załadowaniu właściwej ilości materiału (kontrolowane czujnikiem W (W=1)) załadunek jest przerywany a wózek powraca do pozycji początkowej i tam oczekuje na rozładunek. START & A OP; B Z; W A Z B OL; W A Rys. 20. Schemat ideowy procesu załadunku oraz przykładowy program. " Sterowniki programowalne f.2/16

Język SFC przykład 5. Program steruje pracą czterech zaworów Z1, Z2, Z3 i Z4 (Z i =1 zawór otwarty i Z i =0 zawór zamknięty) umożliwiając cykliczne napełnianie i opróżnianie dwóch zbiorników. Zbiornik pierwszy jest napełniany przy pomocy zaworu Z1 a opróżniany przy pomocy zaworu Z2. Zbiornik drugi jest napełniany przez zawór Z3 a opróżniany przez zawór Z4. W stanie początkowym obydwa zbiorniki są puste a wszystkie zawory są zamknięte. Proces powinien przebiegać zgodnie z następującym schematem: napełnianie zbiorników rozpoczyna się równocześnie po naciśnięciu przez operatora przycisku START (START=1). napełnianie zbiornika jest przerywane z chwilą jego całkowitego wypełnienia (wypełnienie zbiorników sygnalizują czujniki A1 i A2 (A1=1, A2=1), wypełniony zbiornik jest automatycznie opróżniany, po całkowitym opróżnieniu zbiorników (sygnalizowane przez czujniki B1 i B2 (B1=0, B2=0)) zawory odpływu są zamykane a ponowne napełnianie może być rozpoczęte po jeżeli przycisk START jest włączony. A1 B1 Z1 Z2 A2 B2 Z4 Z3 START A1 Z1; Z2; A2 NOT B1 & NOT B2 Rys. 21. Schemat ideowy procesu oraz przykładowy program. Z3; Z4; " Sterowniki programowalne f.2/17