Wydział Mechaniczny Politechniki Białostockiej Katedra: Automatyki i Robotyki Instrukcja do zajęć projektowych z przedmiotu: Automatyzacja procesów (P-30) Ćwiczenia/zadania projektowe nr 1 6 Ogólny temat ćwiczeń projektowych: Modelowanie i badanie układów sterowanych zdarzeniami Kod przedmiotu: MPARS06001 Instrukcję opracował: Dr inż. Arkadiusz Mystkowski Dr inż. Leszek Ambroziak Białystok 2016 1
Spis treści Projektowanie układu sterowania podgrzewaczem wody z wykorzystaniem modułu Stateflow środowiska Matlab/Simulink... 3 Projektowanie układu sterowania typu: Bang-Bang w środowisku Stateflow/Simulink... 14 Modelowanie układu sekwencyjnego w postaci automatu skończonego typu Mealy ego i Moore a z wykorzystaniem modułu Stateflow... 17 Modelowanie i projektowanie układu sterowania dla wybranego systemu automatyzacji przemysłowej z wykorzystaniem modułu Stateflow i środowiska Matlab/Simulink... 19 Projektowanie i badanie układu sterowania o zmiennej strukturze regulatora... 21 Projektowanie i modelowanie układu sekwencyjnego sterowania procesem produkcyjnym. 26 Wykaz literatury:... 28 2
ZADANIE PROJEKTOWE NR 1 Projektowanie układu sterowania podgrzewaczem wody z wykorzystaniem modułu Stateflow środowiska Matlab/Simulink 1. Wprowadzenie 1.1. Układy sterowane zdarzeniami dyskretnymi Układy sterowane zdarzeniami (ang. event-driven systems) zwane są układami reaktywnymi lub układami o skończonej liczbie przełączanych stanów (ang. finite state machines, FSM). Układ sterowany zdarzeniami jest reprezentowany poprzez skończony zbiór stanów. W układach tych przejście z jednego stanu do drugiego odbywa się w odpowiedzi na występujące zdarzenie i po spełnieniu postawionego warunku. Istnieje wiele przykładów fizycznych urządzeń i systemów wykorzystujących sterowanie zdarzeniami, np: sterowanie grzałką, wentylatorem, pompą, skrzynią biegów, układy sterowania PLC oraz automaty. 1.2. Charakterystyka modułu Stateflow Moduł Stateflow zaimplementowany do pakietu Matlab/Simulink stanowi graficzny interaktywny interfejs do modelowania i symulacji układów sterowanych zdarzeniami. Zazwyczaj symulowany układ sterowany zdarzeniami posiada zmienne określające dane wejściowe i wyjściowe, zbiór zdarzeń i przerwań oraz zdefiniowane warunki opisujące przejście pomiędzy stanami. Przybornik Stateflow dzięki wbudowanemu generatorowi kodu C (ang. Stateflow Coder) można wykorzystać do zbudowania aplikacji sterowania w czasie rzeczywistym. Algorytm sterowania w kodzie C może zostać zaimplementowany w sterowniku rzeczywistym połączonym z obiektem fizycznym. Jest to możliwe dlatego, że moduł Stateflow współpracuje z modułem Real-Time Workshop oraz z zwykłymi blokami bibliotek środowiska Simulink. Projektowanie układu sterowania zdarzeniami często opiera się na wykorzystaniu tablicy prawdy (ang. truth table) definiującej zależności logiczne pomiędzy sygnałami we/wy oraz stanami FSM. W przypadku występowania niewielkiej liczby stanów, modelowanie układu sterowanego zdarzeniami można zrealizować poprzez zdefiniowanie stanów i warunków przejść między nimi. Zastosowanie znajduje tutaj teoria grafów, a graficzna reprezentacja systemu opiera się na diagramie przejść między stanami (ang. sequential-transistion diagram). 2. Przykład sterowania podgrzewaczem wody Zadanie układu sterowania podgrzewaczem wody polega na utrzymaniu stałej temperatury wody w zbiorniku na poziomie 70. Temperatura otoczenia wynosi 18 i jest traktowana jako stała wartość zakłócenia. Transmitancja operatorowa modelu zbiornika z s e grzałką jest następująca: G( s) =. Podgrzewacz jest wyposażony w dwie grzałki 100s + 1 załączane okresowo. Jeżeli temperatura wody spadnie poniżej 40 obie grzałki są załączane w innym przypadku działa tylko jedna. Układ sterowania jest reprezentowany przez trzy stany: żadna grzałka nie pracuje, pracuje jedna grzałka, pracuję dwie grzałki. W takich układach nie jest konieczne dokładne utrzymywanie uchybu regulacji na poziomie zero. Wystarczy jedynie 3
podtrzymywanie temperatury w pewnym zakresie. Dlatego też, regulator dyskretny sterujący podgrzewaniem wody jest uruchamiany okresowo sygnałem np. z okresem 300 sekund. W celu realizacji układu sterowania należy zamodelować obiekt w programie Simulink. Następnie należy powiązać sygnały wejściowe i wyjściowe obiektu z projektowanym modelem regulatora dyskretnego, patrz rys. 1. Rys. 1. Model obiektu sterowania Następnie model obiektu należy zgrupować i podłączyć wartość stałą temperatury otoczenia, patrz rys. 2. Rys. 2. Zgrupowany model obiektu W dalszej części zadania należy zaprojektować sygnały sterujące regulatorem podgrzewacza. Z biblioteki Simulink/Sources należy wybrać blok Signal Builder. Sygnał włączający lub wyłączający grzałki o nazwie SWITCH dodajemy poprzez zakładkę Signal/New/Square. Parametry sygnału SWITCH to: częstotliwość 1/300 Hz, amplituda 1, offset 0, wypełnienie okresu 50%, długość sygnału: 600 sekund. Sygnał SWITCH powinien zaczynać się od wartości zero, można to zmienić poprzez przeciągnięcie myszką. W podobny sposób dodajemy sygnał taktujący przełączanie pomiędzy stanami regulatora o nazwie CLOCK. Parametry sygnału CLOCK to: częstotliwość 1 Hz, amplituda 2, offset 0 i wypełnienie okresu 50%. Ograniczenia sygnału CLOCK (prawy klawisz myszy) y: od 0 do 2, x: od -inf do inf. Po zbudowaniu sygnałów okno bloku Signal Builder przedstawiono na rys. 3. 4
Rys. 3. Sygnały referencyjne Realizacja opisu zadania dotyczy wersji Stateflow nr 7.1, R2008a. W celu uruchomienia Stateflow należy otworzyć bibliotekę modułu Stateflow z linii komend Matlab poleceniem >>stateflow. Następnie należy metodą drag and drop przekopiować diagram chart do wcześniej utworzonego okna z modelem obiektu. Po wykonaniu opisanych działań, model układu sterowania wygląda tak jak na rys. 4. Rys. 4. Układ sterowania zdarzeniami Okno wywołanego diagramu chart będącego graficznym edytorem Stateflow przedstawiono na rys. 5. 5
Rys. 5. Okno interfejsu graficznego Stateflow Do zrealizowania włączenia/wyłączenia podgrzewacza potrzebujemy dwóch stanów. Za pomocą przycisku state wybieramy dwukrotnie stany i nadajemy im nazwy: PowerOn i PowerOff, patrz rys. 6. Następnie za pomocą myszki tworzymy dwa połączenia między tymi stanami o nazwie SWITCH. Stan PowerOn definuje pracę dwóch grzałek, dlatego kopiujemy dodatkowe dwa stany o nazwach np. Heater1 i Heater2, które mogą być uruchamiane jednocześnie (równolegle) i będą reprezentować poszczególne grzałki. W tym celu w obszarze diagramu PowerOn klikamy prawym klawiszem myszy i wybieramy opcję Decomposition/Parallel (AND). Ramki oznaczone liną przerywaną mogą być jednocześnie aktywne (Parallel, AND). Ramki ciągłe oznaczają stany wzajemnie wykluczające się (Exclusive OR), patrz rys. 7. Rys. 6. Stany w polu edycji 6
Rys. 7. Stany AND i OR Dalej kolejno należy stany Heater1 i Heater2 rozbudować o dwa następne stany o nazwach On i Off. Przejścia pomiędzy stanami wykonujemy myszką, definiując przy tym warunki, np: dla Heater1: OnOff when [temp>70], OffOn when [temp<=70] oraz dla Heater2: OnOff when [temp>40], OffOn when [temp<=40], patrz rys. 8. Zmienna temp jest definiowana jako sygnał wejściowy. W tym celu wybieramy zakładkę Add/Data/Input from Simulink, patrz rys. 9. Rys. 8. Przejścia między stanami On i Off 7
Rys. 9. Definicja zmiennej wejściowej W obrębie stanu PowerOn pozostaje dodanie trzeciego stanu o nazwie np. HeatersOn definiującego stan kiedy obie grzałki będą włączone. Zapis definicji stanu HeatersOn jest następujący: during: heaters_on=in(heater1.on)+in(heater2.on);. Zapis definicji stanu PowerOff, kiedy obie grzałki są wyłączone jest następujący: entry: heaters_on=0;. Zmienna heaters_on jest sygnałem wyjściowym, definiowanym zgodnie z rys. 10. Następnie należy zdefiniować zdarzenia SWITCH i CLOCK. W tym celu korzystając z zakładki Add/Event/Input from Simulink definiujemy zdarzenia według rys. 11 i 12. Rys. 10. Definicja zmiennej wyjściowej 8
Rys. 11. Zdarzenie SWITCH Rys. 12. Zdarzenie CLOCK Po wykonaniu opisanych czynność okno Stateflow przedstawiono na rys. 13. 9
Rys. 13. Okno Stateflow Uruchomienie zbudowanego diagramu Stateflow z zakładki Simulation/Start, powoduje generowanie błędu o komunikacie: Chart #1104 has no unconditional default path to a state. This may lead to a state inconsistency error during runtime. Co jest związane z brakiem definicji pozostania w stanie wyłączenia. W tym celu wszystkie stany Off zaopatrujemy przejściem domyślnym. Finalne okno Stateflow pokazano na rys. 14. Rys. 14. Ostateczne okno Stateflow Dostęp do zdefiniowanych sygnałów oraz zdarzeń jest możliwy poprzez eksploratora edytora Stateflow, wybór zakładki Tools/Explore, patrz rys. 15. Rys. 15. Okno eksploatora Stateflow 10
Widok finalnego układu sterowania zdarzeniami przedstawiono na rys. 16. Rys. 16. Układ sterowania zdarzeniami W celu przeprowadzenia symulacji należy ustawić opcje symulacji w oknie układu Simulink: Simulation/Configuration Parameters: Stop time=600, stałokrokowa metoda całkowania: Solver option type: Fixed-step, Solver: ode4 (Runge-Kutta), Fixed-step size: 0.1. Przebieg zmian temperatury w zbiorniku (temperature plot) przedstawiono na rys. 17. Rys. 17. Przebieg wielkości regulowanej Wizualizacja i analiza procesów przełączania stanów w Stateflow jest łatwiejsza z zadanym opóźnieniem. W tym celu w zakładce Tools/Debug ustawiamy opóźnienie na np. 1 sec, patrz rys. 18. 11
Rys. 18. Okno Stateflow debugging Uruchamiamy diagram Stateflow z zakładki Simulation/Start lub przyciskiem Run, patrz rys. 19. Rys. 19. Przełączanie stanów w uruchomionym oknie Stateflow 12
Polecenia do wykonania sprawozdania z projektu w ramach realizacji zadania nr 1: 1. Analiza i powtórzenie przykładu z punktu 2 (Przykład sterowania podgrzewaczem wody), dla zmienionych parametrów modelu obiektu oraz innego rozwiązania regulatora przełączającego za pomocą grafu w Stateflow. 2. Wykonanie opisu obiektu, przeprowadzenie modelowania oraz wykonanie sterowania zdarzeniami dla podobnego/wybranego obiektu z opóźnieniem (np. żelazko, wentylator, klimatyzator, pompa, silnik krokowy, itp.). 3. Wykonanie badań symulacyjnych, opracowanie i sporządzenie wykresów przebiegu zmiennych procesowych, dobór parametrów regulatora w Stateflow, dla układu z powyższego punktu (punkt nr 2). 4. Sporządzenie wniosków opisujących wpływ zmian parametrów regulatora w StateFlow na przebiegi wielkości regulowanych w czasie. 5. Sporządzenie sprawozdania ze wszystkich wykonanych poleceń i przedstawienie go prowadzącemu zajęcia w formie zwartej papierowej z załącznikami elektronicznymi wszystkich plików źródłowych. 13
ZADANIE PROJEKTOWE NR 2 Projektowanie układu sterowania typu: Bang-Bang w środowisku Stateflow/Simulink Opis modelu obiektu sterowania nr 1 Metalowa kulka o masie m została zawieszona w polu magnetycznym generowanym przez aktywny elektromagnes (rys. 1). Jest to obiekt strukturalnie niestabilny o bardzo małej stałej czasowej rzędu 0.0001 sec. Sygnałem wejściowym jest napięcie zasilające cewkę elektromagnetyczną u, natomiast sygnałem wyjściowym (obserwowanym) jest przemieszczenie kulki x. W celu uproszczenia modelu obiektu pominięto efekt strat elektrycznych (prądy wirowe), straty cieplne, itd. Rys. 1. Kulka w polu magnetycznym Model siłownika magnetycznego składa się z części mechanicznej i elektrycznej. Równanie ruchu kulki jest następujące: mx && = kxx + kii + Fz, (1) gdzie: masa kulki: m=6 [kg], przemieszczenie masy z położenia równowagi: x [m], sztywność przemieszczeniowa: k x =400593 [N/m], sztywność prądowa: k i =50 [N/A], prąd elektryczny cewki: i [A], siła zewnętrzna (zakłócenie): F z [N]. Równanie dynamiki obwodu elektrycznego siłownika elektromagnetycznego jest następujące: gdzie: k i di u R = i x &, (2) dt L L L 0 0 0 napięcie elektryczne cewki: u [V], indukcyjność nominalna cewki: L 0 =0.006 [H], rezystancja cewki: R=0.5 [Ω]. 14
Opis modelu obiektu sterowania nr 2 Metalowa kulka została zamieszczona na pochylni, której kąt jest sterowany poprzez ramię korbowe serwo-silnika (patrz rys. 2). Zmiana kąta serwa θ (sygnał wejściowy) powoduje zmianę kąta pochylenia bieżni α. Jeżeli pochylenie bieżni zmieni się od pozycji poziomej, siła grawitacyjna spowoduje przemieszczanie się kulki po bieżni ruchem obrotowym. Zmiana przemieszczenia liniowego kulki r jest sygnałem wyjściowym obiektu (obserwowanym). W celu uproszczenia modelu obiektu pominięto poślizg oraz tarcie pomiędzy kulką a bieżnią. Rys. 2. Kulka na pochylni Wychodząc z równań Lagrange a, równanie równowagi kulki na bieżni możemy zapisać następująco: J 2 + m r + mg sin α mr( α) = 0 2 && &, (3) R gdzie: moment inercji kulki: J=9.99e-6 [kgm 2 ], promień kulki: R=0.015 [m], masa kulki: m=0.11 [kg], przyspieszenie grawitacyjne: g=9.8 [m/s 2 ], kąt pochylenia wahadła: α, przemieszczenie kulki: r [m]. Równanie (3) zostało zlinearyzowane w otoczeniu punktu pracy dla α=0 następująco: J + m r + mgα = 0 2 &&. (4) R Równanie wiążące kąt pochylenia wahadła z kątem obrotu serwa jest opisane liniową i przybliżoną zależnością: d α = θ, (5) L gdzie: promień przekładni serwa d=0.03 [m], długość wahadła L=1 [m], kąt obrotu serwa θ. 15
Polecenia do wykonania sprawozdania z projektu w ramach realizacji zadania nr 2: 1. Wykonanie zadania nr 2 polega na realizacji układów sterowania bang-bang w module Stateflow dla dwóch modeli obiektów sterowania: nr 1 i nr 2. 2. Wykonanie opisów obiektów sterowania, przeprowadzenie modelowania równań różniczkowych w środowisku Simulink. 3. Opracowanie regulatorów typu bang-bang w Stateflow oraz dobór ich nastaw. 4. Wykonanie badań symulacyjnych, opracowanie i sporządzenie wykresów przebiegu zmiennych regulowanych, dla modeli obiektów sterowania: nr 1 i nr 2. 5. Sporządzenie wniosków opisujących wpływ zmian parametrów regulatora w StateFlow na przebiegi wielkości regulowanych w czasie. 6. Sporządzenie sprawozdania ze wszystkich wykonanych poleceń i przedstawienie go prowadzącemu zajęcia w formie zwartej papierowej z załącznikami elektronicznymi wszystkich plików źródłowych. 16
ZADANIE PROJEKTOWE NR 3 Modelowanie układu sekwencyjnego w postaci automatu skończonego typu Mealy ego i Moore a z wykorzystaniem modułu Stateflow Przykład 1. Należy zbudować synchroniczny układ sekwencyjny modelujący wybrane tabele stanów: a) dla automatu Mealy ego: tablica wejść i wyjść x x S X 1 X 2 S X 1 X 2 S 1 S 2 S 1 S 1 Y 1 Y 2 S 2 S 3 S 2 S 2 Y 3 Y 1 S 3 S 2 S 1 S 3 Y 2 Y 3 b) dla automatu Moore a X 2 S x X 1 X 2 Y S 1/Y 2 X 1 X 2 S 1 S 2 S 1 Y 2 S 2/Y 1 S 2 S 3 S 3 S 2 S 2 S 1 Y 1 Y 3 X 2 X 1 X 1 S 3/Y 3 Przykład 2. Należy zbudować układ wykrywający podaną sekwencję np. 011 w dowolnym miejscu grafu. Układ zatrzymywany jest sekwencją 100. Graf detekcji sekwencji 00110: 17
Polecenia do wykonania sprawozdania z projektu w ramach realizacji zadania nr 3: 1. Realizacja zadania projektowego nr 3, która polega na wykonaniu w Stateflow dwóch zadań: nr 1 modelowanie automatu Mealy ego i automatu Moore a oraz nr 2 opracowanie modelu grafu wykrywającego powtarzający się ciąg sekwencji stanów binarnych. 2. Przyjęcie różnych danych liczbowych dla każdego z zadań nr 1 i nr 2 przez każdą osobę realizującą sprawozdanie. 3. Zadanie nr 2 powinno być zrealizowane na dwa sposoby: przez wykorzystanie automatu Mealy ego i automatu Moore a. 4. Opracowanie treści i danych liczbowych zadań. 5. Wykonanie badań symulacyjnych, które powinny potwierdzić poprawność wykonania zadań. W szczególności: w zadaniu nr 1 zarejestrowane stany automatu zrealizowanego w Stateflow powinny być zgodne z zadaną tabelą stanów, w zadaniu nr 2 zarejestrowane stany grafu w Stateflow (w tym sygnał wyjściowy) powinny poprawnie identyfikować zadaną sekwencję stanów logicznych (sekwencja powinna być zadawana losowo). 6. Sporządzenie wniosków opisujących różnice w działaniu automatów: Mealy ego i Moore a w zastosowaniu do wykonanych zadań. 7. Sporządzenie sprawozdania ze wszystkich wykonanych poleceń i przedstawienie go prowadzącemu zajęcia w formie zwartej papierowej z załącznikami elektronicznymi wszystkich plików źródłowych. 18
ZADANIE PROJEKTOWE NR 4 Modelowanie i projektowanie układu sterowania dla wybranego systemu automatyzacji przemysłowej z wykorzystaniem modułu Stateflow i środowiska Matlab/Simulink Lista tematów zadań do wyboru: 1. Konwersje automatów np. Moore a Mealy ego i Mealy ego Moore a 2. Inne automaty skończone 3. Synteza abstrakcyjna automatów 4. Układy do wykrywania sekwencji binarnych 5. Komparatory 6. Sumatory 7. Kody np. BCD, 7-segmentowe 8. Układy sekwencyjne 9. Układy kombinacyjne 10. Sterowanie bang-bang 11. Minimalizacja funkcji logicznych (minimalizacja stanów) 12. Sterowanie silnikiem DC 13. Sterowanie sygnalizacją świetlną 14. System alarmowy antywłamaniowy 15. System przeciwpożarowy 16. Sterowanie silnikiem krokowym 17. Układ sterowania skrzynią biegów 18. Sterowanie systemem ogrzewania 19. Układ do konwersji kodów liczbowych 20. Sterowanie serwomechanizm 21. Automatyzacja wybranego procesu montażu 22. Automatyzacja wybranego procesu produkcyjnego 23. Sterowanie układami wykonawczymi obrabiarki CNC 24. Automatyzacja linii transportowej 25. Automatyzacja magazynu 26. Automatyzacja załadunku, wyładunki, układania w ramach linii produkcyjnej 27. Automatyzacja operacji kontrolno-pomiarowych 19
Polecenia do wykonania sprawozdania z projektu w ramach realizacji zadania nr 4: 1. Realizacja zadania projektowego nr 4, która polega na wybraniu indywidualnego tematu z powyższej listy oraz opracowaniu tego tematu w zastosowaniu do wybranego systemu automatyzacji przemysłowej. 2. Wykonanie modelowania i projektowania układu sterowania z wykorzystaniem Matlab/Simulink/Stateflow. 3. Opracowanie treści i danych liczbowych zadań. 4. Wykonanie opisów obiektów sterowania, w tym sporządzenie rysunków poglądowych, schematów funkcjonalnych, schematów obwodowych oraz schematów sygnałowych i zasilających w programie EPLAN. 5. Opracowanie algorytmów sterowania w postaci języka Grafcet i SFC. 6. Wykonanie badań symulacyjnych, opracowanie i sporządzenie wykresów przebiegu zmiennych procesowych. 7. Sporządzenie wniosków opisujących wpływ zmian parametrów regulatora w StateFlow na przebiegi wielkości regulowanych w czasie. 8. Sporządzenie sprawozdania ze wszystkich wykonanych poleceń i przedstawienie go prowadzącemu zajęcia w formie zwartej papierowej z załącznikami elektronicznymi wszystkich plików źródłowych. 20
ZADANIE PROJEKTOWE NR 5 Projektowanie i badanie układu sterowania o zmiennej strukturze regulatora Opis obiektu sterowania: Dany jest obiekt opisany transmitancją: Tzs + 1 G(s) = k p e ( T s + 1)( T s + 1)( T s + 1) p1 p2 p3 T s d. Parametry modelu transmitancyjnego podane są w tabeli 1 i przydzielane są indywidualnie dla każdej osoby podczas zajęć. Opracuj układ sterowania tym obiektem w oparciu o regulator przełączający, który realizował będzie następujący algorytm: w stanie ustalonym (przy uchybie < a ) sygnał sterujący jest równy 0; gdy sygnał uchybu regulacji e będzie większy od wartości progowej a układ sterowania przełączy się na działanie proporcjonalne (włączony zostanie regulator P), gdy sygnał uchybu regulacji e będzie większy od wartości progowej b (b > a) układ sterowania zostanie przełączony automatycznie na działanie proporcjonalno - całkująco - różniczkujące (włączony zostanie regulator PID). Wartości parametrów a oraz b należy dobrać indywidualnie (trafność doboru podlega ocenie). Zasada działania układu sterowania zaprezentowana została na rysunku 1. Rysunek 1 Schemat działania układu sterowania 21
Układ sterowania oparty o automat stanów realizujący zaprezentowany powyżej algorytm opracuj w środowisku Matlab/Simulink z wykorzystaniem środowiska StateFlow. W celu realizacji zadania projektowego zrealizuj następujące etapy: Polecenia do wykonania sprawozdania z projektu w ramach realizacji zadania nr 5: 1. Utwórz model obiektu opisanego transmitancją G(s) (wprowadź go do Simulink'a). 2. Wyznacz odpowiedź tego układu na skok jednostkowy, określ parametry takie jak czas narastania i czas ustalania podanego obiektu. 3. Opracuj regulatory dyskretne P oraz PID z wykorzystaniem funkcji Simulinka (regulator PID powinien posiadać ograniczenie sygnału sterującego oraz funkcję anti - windup), 4. Dobierz nastawy regulatorów (i opisz proces/metodę doboru) tak aby: czas narastania wartości regulowanej był mniejszy od x, czas regulacji był mniejszy od y; maksymalny uchyb w stanie ustalonym był nie większy od z, (wartości parametrów określających jakość regulacji przydziela prowadzący zgodnie z tabelą 1 indywidualnie dla każdej osoby) 5. Opracuj automat stanów z użyciem diagramu StateFlow chart, który realizował będzie algorytm przełączania pomiędzy regulatorami (stanami pracy układu sterowania) w zależności od wartości sygnału uchybu regulacji. Dokładnie określ warunki "przechodzenia"/przełączania się między trybami pracy układu sterowania. 6. Sprawdź działanie układu dla różnych wartości progu przełączania, różnych wartości sygnału zadanego oraz dla różnych nastaw regulatorów. 7. Przetestuj działanie układu sterowania dla zaszumionej wartości zadanej sygnałem losowym o rozkładzie jednostajnym stanowiącym 5%, 10% oraz 20% wartości sygnału zadanego. 8. Wyciągnij wnioski na temat działania zaprojektowanego automatu stanów w różnych warunkach (z p. 6 oraz 7) oraz dla różnych kryteriów przechodzenia między trybami pracy układu sterowania 22
Podczas analizy działania układu sterowania należy przedstawić przebiegi czasowe następujących sygnałów: - sygnał wartości regulowanej (wyjściowej) oraz sygnału wymuszenia (wartości zadanej), - sygnał uchybu regulacji, - sygnał przełączania pomiędzy regulatorami. - sygnał sterujący wychodzący z regulatorów. Tab. 1 Parametry układu sterowania Parametr k p T T z p1 T p2 p3 T d T x [s] y [s] z [%] Zestaw 1 0,5 0,05 0,45 1,75 1,35 0,91 12,04 10,09 10,05 2 0,5552 0,128 0,528 1,828 1,482 1,011 12,457 10,211 10,0145 3 0,6104 0,206 0,606 1,906 1,614 1,112 12,914 10,422 10,029 4 0,6656 0,284 0,684 1,984 1,746 1,213 13,371 10,633 10,0435 5 0,7208 0,362 0,762 2,062 1,878 1,314 13,828 10,844 10,058 6 0,776 0,44 0,84 2,14 2,01 1,415 14,285 11,055 10,0725 7 0,8312 0,518 0,918 2,218 2,142 1,516 14,742 11,266 10,087 8 0,8864 0,596 0,996 2,296 2,274 1,617 15,199 11,477 10,1015 9 0,9416 0,674 1,074 2,374 2,406 1,718 15,656 11,688 10,116 10 0,9968 0,752 1,152 2,452 2,538 1,819 16,113 11,899 10,1305 11 1,052 0,83 1,23 2,53 2,67 1,92 16,57 12,11 10,145 12 1,1072 0,908 1,308 2,608 2,802 2,021 17,027 12,321 10,1595 13 1,1624 0,986 1,386 2,686 2,934 2,122 17,484 12,532 10,174 14 1,2176 1,064 1,464 2,764 3,066 2,223 17,941 12,743 10,1885 15 1,2728 1,142 1,542 2,842 3,198 2,324 18,398 12,954 10,203 16 1,328 1,22 1,62 2,92 3,33 2,425 18,855 13,165 10,2175 23
17 1,3832 1,298 1,698 2,998 3,462 2,526 19,312 13,376 10,232 18 1,4384 1,376 1,776 3,076 3,594 2,627 19,769 13,587 10,2465 19 1,4936 1,454 1,854 3,154 3,726 2,728 20,226 13,798 10,261 20 1,5488 1,532 1,932 3,232 3,858 2,829 20,683 14,009 10,2755 21 1,604 1,61 2,01 3,31 3,99 2,93 21,14 14,22 10,29 22 1,6592 1,688 2,088 3,388 4,122 3,031 21,597 14,431 10,3045 23 1,7144 1,766 2,166 3,466 4,254 3,132 22,054 14,642 10,319 24 1,7696 1,844 2,244 3,544 4,386 3,233 22,511 14,853 10,3335 25 1,8248 1,922 2,322 3,622 4,518 3,334 22,968 15,064 10,348 26 1,88 2 2,4 3,7 4,65 3,435 23,425 15,275 10,3625 27 1,9352 2,078 2,478 3,778 4,782 3,536 23,882 15,486 10,377 28 1,9904 2,156 2,556 3,856 4,914 3,637 24,339 15,697 10,3915 29 2,0456 2,234 2,634 3,934 5,046 3,738 24,796 15,908 10,406 30 2,1008 2,312 2,712 4,012 5,178 3,839 25,253 16,119 10,4205 31 2,156 2,39 2,79 4,09 5,31 3,94 25,71 16,33 10,435 32 2,2112 2,468 2,868 4,168 5,442 4,041 26,167 16,541 10,4495 33 2,2664 2,546 2,946 4,246 5,574 4,142 26,624 16,752 10,464 34 2,3216 2,624 3,024 4,324 5,706 4,243 27,081 16,963 10,4785 35 2,3768 2,702 3,102 4,402 5,838 4,344 27,538 17,174 10,493 36 2,432 2,78 3,18 4,48 5,97 4,445 27,995 17,385 10,5075 37 2,4872 2,858 3,258 4,558 6,102 4,546 28,452 17,596 10,522 38 2,5424 2,936 3,336 4,636 6,234 4,647 28,909 17,807 10,5365 39 2,5976 3,014 3,414 4,714 6,366 4,748 29,366 18,018 10,551 40 2,6528 3,092 3,492 4,792 6,498 4,849 29,823 18,229 10,5655 41 2,708 3,17 3,57 4,87 6,63 4,95 30,28 18,44 10,58 24
42 2,7632 3,248 3,648 4,948 6,762 5,051 30,737 18,651 10,5945 43 2,8184 3,326 3,726 5,026 6,894 5,152 31,194 18,862 10,609 44 2,8736 3,404 3,804 5,104 7,026 5,253 31,651 19,073 10,6235 45 2,9288 3,482 3,882 5,182 7,158 5,354 32,108 19,284 10,638 25
ZADANIE PROJEKTOWE NR 6 Projektowanie i modelowanie układu sekwencyjnego sterowania procesem produkcyjnym Opis procesu: System napełniania beczek typu KEG składa się z dwóch maszyn połączonych szeregowo (rys. 1) - myjki beczek (maszyna M1) oraz napełniarki beczek (maszyna M2). Obie maszyny nie posiadają bufora (miejsca oczekiwania produktu). Beczki transportowane są za pomocą przenośnika taśmowego. Proces wygląda następująco: jeśli beczka przyjeżdża i maszyna M1 jest zajęta, beczka jest usuwana z kolejki, Jeśli maszyna M1 kończy proces i maszyna M2 jest zajęta, M1 przetrzymuje beczkę do momentu ukończenia procesu przez M2 (blokada beczki). Częstotliwość podawania beczek przez podajnik jest równa 1min. Dla wyżej opisanego procesu opracuj graf automatu stanów w postaci (Q, X, Y, δ, λ) i zamodeluj go w przyborniku StateFlow środowiska Matlab/Simulink z użyciem automatu Moor'a, Mealy'ego oraz klasycznego diagramu StateFlow, zakładając, że obie maszyny są na początku puste (bezczynne). Przeprowadź badania symulacyjne i porównaj działanie układu w zależności od rodzaju automatu. Q - zbiór stanów automatu, X - alfabet wejściowy, Y - alfabet wyjściowy, δ - funkcja przejść, λ - funkcja wyjść. Rysunek 1 Schemat procesu 26
Q = Q 1 = {0, 1, 2}, Q 2 = {0, 1}, 0 - maszyna wolna (bezczynna), 1 - praca, 2 - blokada, X = {a, d 1, d 2 } a - przyjazd pustej beczki d 1 - koniec pracy maszyny M1, d 2 - koniec pracy maszyny M2. Polecenia do wykonania sprawozdania z projektu w ramach realizacji zadania nr 6: 1. Opisz przedstawiony powyżej proces w postaci grafu automatu stanów jako (Q, X, Y, δ, λ). 2. Zamodeluj opracowany automat stanów w środowisku StateFlow jako automat Moor'a, automat Mealy'ego, automat StateFlow. 3. Przeprowadź badania symulacyjne opracowanych układów z automatami stanów. 4. Porównaj działanie układu w zależności od rodzaju automatu stanów. 5. Przedstaw wnioski dotyczące przeprowadzonych analiz. 27
Wykaz literatury: Podręczniki: [1] Barczyk J.: Automatyzacja procesów dyskretnych. Oficyna Wydawnicza Pol. Warszawskiej, Warszawa 2003. [2] Mikulczyński T., Samsonowicz Z.: Automatyzacja dyskretnych procesów produkcyjnych. WNT Warszawa 1997. [3] Kwaśniewski J.: Programowalne sterowniki przemysłowe w systemach sterowania, Kraków 1999. [4] Mikulczyński T., Automatyzacja procesów produkcyjnych: metody modelowania procesów dyskretnych i programowania sterowników PLC, WNT, 2009. [5] Honczarenko J.: Elastyczna automatyzacja wytwarzania. WNT Warszawa 2000. [6] Gosiewski Z., Siemieniako F., Automatyka, Tom 1 i 2, Wyd. Politechniki Białostockiej, 2007. [7] Kowal J.: Podstawy automatyki. Uczelniane Wyd. Nauk.-Dydakt. AGH, Kraków 2004. Dokumentacje.pdf: [8] Stateflow Getting Started Guide, Matlab &Simulink, R2015b, MathWorks. [9] Stateflow User Guide, Matlab &Simulink, R2015b, MathWorks. [10] Simulink Getting Started Guide, Matlab &Simulink, R2015b, MathWorks. [11] Simulink User Guide, Matlab &Simulink, R2015b, MathWorks. [12] Control System Toolbox Getting Started Guide, Matlab &Simulink, R2015b, MathWorks. [13] Control System Toolbox User Guide, Matlab &Simulink, R2015b, MathWorks. Strony internetowe: [14] http://www.mathworks.com/products/stateflow/ [15] http://www.mathworks.com/products/simulink/ [16] http://www.mathworks.com/products/control/ 28