14
1/14 Politechnika Bialostocka Wydzial Mechaniczny Instrukcja do zajęć projektowych Temat projektu: Modelowanie i badanie ukladów sterowanych zdarzeniami Zajęcia projektowe z przedmiotu: Sterowanie procesami dyskretnymi Kod: Opracowal: Dr inż. Arkadiusz Mystkowski 2011

Sterowanie Procesami Dyskretnymi 2010lato

Embed Size (px)

DESCRIPTION

Wykłady ze Sterowania Procesami dyskretnymi

Citation preview

  • 1/14

    Politechnika Biaostocka

    Wydzia Mechaniczny

    Instrukcja do zaj projektowych

    Temat projektu: Modelowanie i badanie ukadw sterowanych zdarzeniami

    Zajcia projektowe z przedmiotu: Sterowanie procesami dyskretnymi

    Kod:

    Opracowa:

    Dr in. Arkadiusz Mystkowski

    2011

  • 2/14

    ZADANIE PROJEKTOWE NR 1

    Projektowanie ukadu sterowania o skoczonej liczbie stanw z wykorzystaniem moduu Stateflow rodowiska Matlab/Simulink

    1. Wprowadzenie 1.1. Ukady sterowane zdarzeniami dyskretnymi

    Ukady sterowane zdarzeniami (ang. event-driven systems) zwane s ukadami reaktywnymi lub ukadami o skoczonej liczbie przeczanych stanw (ang. finite state machines, FSM). Ukad sterowany zdarzeniami jest reprezentowany poprzez skoczony zbir stanw. W ukadach tych przejcie z jednego stanu do drugiego odbywa si w odpowiedzi na wystpujce zdarzenie i po spenieniu postawionego warunku. Istnieje wiele przykadw fizycznych urzdze i systemw wykorzystujcych sterowanie zdarzeniami, np: sterowanie grzak, wentylatorem, pomp, skrzyni biegw, ukady sterowania PLC oraz automaty.

    1.2. Charakterystyka moduu Stateflow

    Modu Stateflow zaimplementowany do pakietu Matlab/Simulink stanowi graficzny interaktywny interfejs do modelowania i symulacji ukadw sterowanych zdarzeniami. Zazwyczaj symulowany ukad sterowany zdarzeniami posiada zmienne okrelajce dane wejciowe i wyjciowe, zbir zdarze i przerwa oraz zdefiniowane warunki opisujce przejcie pomidzy stanami. Przybornik Stateflow dziki wbudowanemu generatorowi kodu C (ang. Stateflow Coder) mona wykorzysta do zbudowania aplikacji sterowania w czasie rzeczywistym. Algorytm sterowania w kodzie C moe zosta zaimplementowany w sterowniku rzeczywistym poczonym z obiektem fizycznym. Jest to moliwe dlatego, e modu Stateflow wsppracuje z moduem Real-Time Workshop oraz z zwykymi blokami bibliotek rodowiska Simulink.

    Projektowanie ukadu sterowania zdarzeniami czsto opiera si na wykorzystaniu tablicy prawdy (ang. truth table) definiujcej zalenoci logiczne pomidzy sygnaami we/wy oraz stanami FSM. W przypadku wystpowania niewielkiej liczby stanw, modelowanie ukadu sterowanego zdarzeniami mona zrealizowa poprzez zdefiniowanie stanw i warunkw przej midzy nimi. Zastosowanie znajduje tutaj teoria grafw, a graficzna reprezentacja systemu opiera si na diagramie przej midzy stanami (ang. sequential-transistion diagram).

    2. Przykad sterowania podgrzewaczem wody

    Zadanie ukadu sterowania podgrzewaczem wody polega na utrzymaniu staej temperatury wody w zbiorniku na poziomie 70. Temperatura otoczenia wynosi 18 i jest traktowana jako staa warto zakcenia. Transmitancja operatorowa modelu zbiornika z grzak jest nastpujca: 100 1( )

    seG ss

    ====

    ++++. Podgrzewacz jest wyposaony w dwie grzaki

    zaczane okresowo. Jeeli temperatura wody spadnie poniej 40 obie grzaki s zaczane w innym przypadku dziaa tylko jedna. Ukad sterowania jest reprezentowany przez trzy stany: adna grzaka nie pracuje, pracuje jedna grzaka, pracuj dwie grzaki. W takich ukadach nie jest konieczne dokadne utrzymywanie uchybu regulacji na poziomie zero. Wystarczy jedynie podtrzymywanie temperatury w pewnym zakresie. Dlatego te, regulator dyskretny sterujcy podgrzewaniem wody jest uruchamiany okresowo sygnaem np. z okresem 300 sekund.

  • 3/14

    W celu realizacji ukadu sterowania naley zamodelowa obiekt w programie Simulink. Nastpnie naley powiza sygnay wejciowe i wyjciowe obiektu z projektowanym modelem regulatora dyskretnego, patrz rys. 1.

    Rys. 1. Model obiektu sterowania

    Nastpnie model obiektu naley zgrupowa i podczy warto sta temperatury otoczenia, patrz rys. 2.

    Rys. 2. Zgrupowany model obiektu

    W dalszej czci zadania naley zaprojektowa sygnay sterujce regulatorem podgrzewacza. Z biblioteki Simulink/Sources naley wybra blok Signal Builder. Sygna wczajcy lub wyczajcy grzaki o nazwie SWITCH dodajemy poprzez zakadk Signal/New/Square. Parametry sygnau SWITCH to: czstotliwo 1/300 Hz, amplituda 1, offset 0, wypenienie okresu 50%, dugo sygnau: 600 sekund. Sygna SWITCH powinien zaczyna si od wartoci zero, mona to zmieni poprzez przecignicie myszk. W podobny sposb dodajemy sygna taktujcy przeczanie pomidzy stanami regulatora o nazwie CLOCK. Parametry sygnau CLOCK to: czstotliwo 1 Hz, amplituda 2, offset 0 i wypenienie okresu 50%. Ograniczenia sygnau CLOCK (prawy klawisz myszy) y: od 0 do 2, x: od -inf do inf. Po zbudowaniu sygnaw okno bloku Signal Builder przedstawiono na rys. 3.

  • 4/14

    Rys. 3. Sygnay referencyjne

    Realizacja opisu zadania dotyczy wersji Stateflow nr 7.1, R2008a. W celu uruchomienia Stateflow naley otworzy bibliotek moduu Stateflow z linii komend Matlab poleceniem >>stateflow. Nastpnie naley metod drag and drop przekopiowa diagram chart do wczeniej utworzonego okna z modelem obiektu. Po wykonaniu opisanych dziaa, model ukadu sterowania wyglda tak jak na rys. 4.

    Rys. 4. Ukad sterowania zdarzeniami

    Okno wywoanego diagramu chart bdcego graficznym edytorem Stateflow przedstawiono na rys. 5.

  • 5/14

    Rys. 5. Okno interfejsu graficznego Stateflow

    Do zrealizowania wczenia/wyczenia podgrzewacza potrzebujemy dwch stanw. Za pomoc przycisku state wybieramy dwukrotnie stany i nadajemy im nazwy: PowerOn i PowerOff, patrz rys. 6. Nastpnie za pomoc myszki tworzymy dwa poczenia midzy tymi stanami o nazwie SWITCH. Stan PowerOn definuje prac dwch grzaek, dlatego kopiujemy dodatkowe dwa stany o nazwach np. Heater1 i Heater2, ktre mog by uruchamiane jednoczenie (rwnolegle) i bd reprezentowa poszczeglne grzaki. W tym celu w obszarze diagramu PowerOn klikamy prawym klawiszem myszy i wybieramy opcj Decomposition/Parallel (AND). Ramki oznaczone lin przerywan mog by jednoczenie aktywne (Parallel, AND). Ramki cige oznaczaj stany wzajemnie wykluczajce si (Exclusive OR), patrz rys. 7.

    Rys. 6. Stany w polu edycji

  • 6/14

    Rys. 7. Stany AND i OR

    Dalej kolejno naley stany Heater1 i Heater2 rozbudowa o dwa nastpne stany o nazwach On i Off. Przejcia pomidzy stanami wykonujemy myszk, definiujc przy tym warunki, np: dla Heater1: OnOff when [temp>70], OffOn when [temp40], OffOn when [temp

  • 7/14

    Rys. 9. Definicja zmiennej wejciowej

    W obrbie stanu PowerOn pozostaje dodanie trzeciego stanu o nazwie np. HeatersOn definiujcego stan kiedy obie grzaki bd wczone. Zapis definicji stanu HeatersOn jest nastpujcy: during: heaters_on=in(Heater1.On)+in(Heater2.On);. Zapis definicji stanu PowerOff, kiedy obie grzaki s wyczone jest nastpujcy: entry: heaters_on=0;. Zmienna heaters_on jest sygnaem wyjciowym, definiowanym zgodnie z rys. 10. Nastpnie naley zdefiniowa zdarzenia SWITCH i CLOCK. W tym celu korzystajc z zakadki Add/Event/Input from Simulink definiujemy zdarzenia wedug rys. 11 i 12.

    Rys. 10. Definicja zmiennej wyjciowej

  • 8/14

    Rys. 11. Zdarzenie SWITCH

    Rys. 12. Zdarzenie CLOCK Po wykonaniu opisanych czynno okno Stateflow przedstawiono na rys. 13.

    Rys. 13. Okno Stateflow

  • 9/14

    Uruchomienie zbudowanego diagramu Stateflow z zakadki Simulation/Start, powoduje generowanie bdu o komunikacie: Chart #1104 has no unconditional default path to a state. This may lead to a state inconsistency error during runtime. Co jest zwizane z brakiem definicji pozostania w stanie wyczenia. W tym celu wszystkie stany Off zaopatrujemy przejciem domylnym. Finalne okno Stateflow pokazano na rys. 14.

    Rys. 14. Ostateczne okno Stateflow Dostp do zdefiniowanych sygnaw oraz zdarze jest moliwy poprzez eksploratora edytora Stateflow, wybr zakadki Tools/Explore, patrz rys. 15.

    Rys. 15. Okno eksploatora Stateflow

    Widok finalnego ukadu sterowania zdarzeniami przedstawiono na rys. 16.

  • 10/14

    Rys. 16. Ukad sterowania zdarzeniami

    W celu przeprowadzenia symulacji naley ustawi opcje symulacji w oknie ukadu Simulink: Simulation/Configuration Parameters: Stop time=600, staokrokowa metoda cakowania: 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 wielkoci regulowanej

    Wizualizacja i analiza procesw przeczania stanw w Stateflow jest atwiejsza z zadanym opnieniem. W tym celu w zakadce Tools/Debug ustawiamy opnienie na np. 1 sec, patrz rys. 18.

    Rys. 18. Okno Stateflow debugging

  • 11/14

    Uruchamiamy diagram Stateflow z zakadki Simulation/Start lub przyciskiem Run, patrz rys. 19.

    Rys. 19. Przeczanie stanw w uruchomionym oknie Stateflow

    Polecenia do wykonania - analiza i powtrzenie przykadu z punktu 2, - wykonanie sterowania zdarzeniami wybranym obiektem z opnieniem typu np. elazko, wentylator, klimatyzator, pompa, silnik krokowy, itp. (kada grupa indywidualnie), - sporzdzenie sprawozdania z wykonanych zada z analiz wynikw.

  • 12/14

    ZADANIE PROJEKTOWE NR 2 Projektowanie ukadu sterowania typu: Bang-Bang w rodowisku Stateflow/Simulink

    Polecenia do wykonania - wykonanie ukadu sterowania zdarzeniami (regulator Bang-Bang) dla wybranego obiektu, np. zawieszenie magnetyczne, kulka na pochylni, silnik liniowy, silnik krokowy, itd., - sporzdzenie sprawozdania z wykonanego zadania z analiz i syntez otrzymanych wynikw.

    Model obiektu sterowania 1 Metalowa kulka o masie m zostaa zawieszona w polu magnetycznym generowanym przez aktywny elektromagnes (rys. 1). Jest to obiekt strukturalnie niestabilny o bardzo maej staej czasowej rzdu 0.0001 sec. Sygnaem wejciowym jest napicie zasilajce cewk elektromagnetyczn u, natomiast sygnaem wyjciowym (obserwowanym) jest przemieszczenie kulki x. W celu uproszczenia modelu obiektu pominito efekt strat elektrycznych (prdy wirowe), straty cieplne, itd.

    Rys. 1. Kulka w polu magnetycznym

    Model siownika magnetycznego skada si z czci mechanicznej i elektrycznej. Rwnanie ruchu kulki jest nastpujce:

    x i zmx k x k i F= + + , (1) gdzie:

    masa kulki: m=6 [kg], przemieszczenie masy z pooenia rwnowagi: x [m], sztywno przemieszczeniowa: kx=400593 [N/m], sztywno prdowa: ki=50 [N/A], prd elektryczny cewki: i [A], sia zewntrzna (zakcenie): Fz [N].

    Rwnanie dynamiki obwodu elektrycznego siownika elektromagnetycznego jest nastpujce:

    0 0 0

    ikdi u R i xdt L L L

    = , (2)

    gdzie: napicie elektryczne cewki: u [V], indukcyjno nominalna cewki: L0=0.006 [H], rezystancja cewki: R=0.5 [].

  • 13/14

    Model obiektu sterowania 2 Metalowa kulka zostaa zamieszczona na pochylni, ktrej kt jest sterowany poprzez rami korbowe serwo-silnika (patrz rys. 2). Zmiana kta serwa (sygna wejciowy) powoduje zmian kta pochylenia bieni . Jeeli pochylenie bieni zmieni si od pozycji poziomej, sia grawitacyjna spowoduje przemieszczanie si kulki po bieni ruchem obrotowym. Zmiana przemieszczenia liniowego kulki r jest sygnaem wyjciowym obiektu (obserwowanym). W celu uproszczenia modelu obiektu pominito polizg oraz tarcie pomidzy kulk a bieni.

    Rys. 2. Kulka na pochylni

    Wychodzc z rwna Lagrangea, rwnanie rwnowagi kulki na bieni moemy zapisa nastpujco:

    22 sin ( ) 0

    Jm r mg mr

    R

    + + =

    , (3)

    gdzie: moment inercji kulki: J=9.99e-6 [kgm2], promie kulki: R=0.015 [m], masa kulki: m=0.11 [kg], przyspieszenie grawitacyjne: g=9.8 [m/s2], kt pochylenia wahada: , przemieszczenie kulki: r [m].

    Rwnanie (3) zostao zlinearyzowane w otoczeniu punktu pracy dla =0 nastpujco:

    2 0J

    m r mgR

    + + =

    . (4) Rwnanie wice kt pochylenia wahada z ktem obrotu serwa jest opisane liniow i przyblion zalenoci:

    dL

    = , (5) gdzie:

    promie przekadni serwa d=0.03 [m], dugo wahada L=1 [m], kt obrotu serwa .

  • 14/14

    ZADANIE PROJEKTOWE NR 3 Modelowanie ukadu sekwencyjnego w postaci automatu skoczonego typu Mealyego i

    Moorea z wykorzystaniem moduu Stateflow

    Polecenia do wykonania - wykonanie modelu i symulacji ukadu zdarze sekwencyjnych w oparciu o automaty Mealyego i Moorea w Stateflow, kada grupa pracuje nad indywidualnym zadaniem, - sporzdzenie sprawozdania z wykonanego zadania z analiz i opisem dziaania automatu.

    Przykad 1. Naley zbudowa synchroniczny ukad sekwencyjny modelujcy wybrane tabele stanw: a) dla automatu Mealyego: tablica wej i wyj

    b) dla automatu Moorea

    Przykad 2. Naley zbudowa ukad wykrywajcy podan sekwencj np. 011 w dowolnym miejscu grafu. Ukad zatrzymywany jest sekwencj 100.

    Graf detekcji sekwencji 00110:

    S1 S2 S3

    S2 S3 S2

    S1 S2 S1

    S

    X2 X1 x

    Y3 Y2 S3

    Y1 Y3 S2

    Y2 Y1 S1

    S

    X2 X1 x

    S1/Y2 X1

    X2

    X1 X2

    X1

    S2/Y1

    S3/Y3

    X2

    S1

    S2

    S1

    X2

    Y3 S2 S3

    Y1 S3 S2

    Y2 S2 S1

    S

    Y X1 x