POLITECHNIKA SZCZECIŃSKA WYDZIAŁ ELEKTRYCZNY PROJEKT Symulator układu regulacji z regulatorem PID materiał pobrany ze strony: www.gryf-elektryk.pl/teoria.html 1
1. WSTĘP... 3 2. BUDOWA UKŁADU REGULACJI CYFROWEJ... 3 2.1 OGÓLNY SCHEMAT UKŁADU REGULACJI... 3 2.2 STRUKTURA OBIEKTU REGULACJI... 3 2.3 STRUKTURA REGULATORA PIERWSZEGO... 5 2.4 STRUKTURA REGULATORA DRUGIEGO... 5 3 DOBOR NASTAW REGULATORA PID... 5 4. LISTING PROGRAMU WRAZ Z KOMENTARZEM... 9 5. OBSLUGA PROGRAMU B&R AUTOMATION STUDIO... 15 6. SYMULACJA UKLADU REGULACJI W PROGRAMIE B&R AUTOMATION STUDIO... 32 6.1 ODPOWIEDZ UKŁADU NA SYGNAŁ STERUJACY... 32 6.2 ZMIANA TRYBU PRACY Z RĘCZNEJ NA AUTOMATYCZNA... 36 6.3 WPŁYW ZAKŁÓCEŃ NA PRACE REGULATORA... 36 7. LITERATURA... 38 2
1. WSTĘP ZałoŜeniem projektu było napisanie programu symulującego układ regulacji ze sprzęŝeniem zwrotnym. Program miał być napisany w języku C a testowany na symulatorze sterownika programowalnego PLC firmy B&R. Program miał umoŝliwiać wybór trybu pracy: automatyczna, ręczna. Przejście z jednego trybu do drugiego miało odbywać się bezuderzeniowo. 2. BUDOWA UKŁADU REGULACJI CYFROWEJ 2.1. OGÓLNY SCHEMAT UKŁADU REGULACJI PoniŜszy schemat przedstawia ogólny schemat układu regulacji. Zmienne które są na rysunkach są uŝywane w programie. Wartość zmiennej prac_recz decyduje czy sygnał podawany na obiekt jest brany z regulatora czy z zadajnika sygnału. Rys. 1 Ogólny schemat układu regulacji 2.2. STRUKTURA OBIEKTU REGULACJI Rys. 2 Struktura obiektu regulacji z uwzględnieniem generatora zakłóceń. BO_ i BZ_ bloki o nastawnej dynamice i statyce. 3
Rys. 3 Struktura blokow: BO_ i BZ_ Rys. 4. Struktura bloku N_ blok N_ realizuje następującą funkcje: we wy = mi < 0 :1) 1 1 + 1 we mi we-wy*s*td=wy we wy= 1 + std Rys 5a. Struktura analogowa bloku In_ Rys. 5b. Struktura cyfrowa bloku In_ wy=we-(wy-wypop)t/tp wy=we-wy*t/tp+wypop*t/tp wy(1+t/tp)=we+wypop*t/tp T we + wypop wy= 1 + T Tp Tp Rys. 6a. Struktura analogowa opóźnienia. Rys 6b. Struktura cyfrowa opóźnienia. 4
2.3. STRUKTURA REGULATORA PIERWSZEGO Rys. 7 Struktura cyfrowa regulatora numer 1. 2.4. STRUKTURA REGULATORA DRUGIEGO Rys. 8 Struktura cyfrowa regulatora numer 2. 3. DOBOR NASTAW REGULATORA PID Obiekt do którego zostanie dobrany regulator jest opisany funkcja przejścia: 1 1 1 1 P(s)= * * * 0.5s + 1 s + 1 2s + 1 0.4s + 1 PoniŜej jest przedstawiona struktura regulatora: 5
Rys. 9. Schemat regulatora o funkcji przejścia: (1 + sti )(1 + std ) 1 Ti + Td R( s) = k = k + + std st i sti Ti e s τ Obiekt zostanie przedstawiony za pomocą modelu o inercji I - rzędu: M(s)=. 1+ st Tab. 1. Wzory uŝyte do obliczania nastaw regulatora: ln(1/ OVR) przy czym: β = π 2 2 + ln (1/ OVR) OVR - wartość przeregulowania Ti - stała róŝniczkowania T i =T Td - stała całkowania τ T d = k - współczynnik wzmocnienia 4 2Ti 2 2 k (1 + β β 3 + β ) 2 τ (1 β ) T - stała czasowa - modelu τ -stała czasowa opóźnienia - modelu Symulacja odpowiedzi skokowej procesu, wyznaczenie stałych podstawie znajomości τ / T, został wyznaczony model. Algorytm wyznaczenia stałych czasowych: Szukanie stycznej w punkcie przegięcia: Ogólne równanie stycznej y=ax+b. Punkt przegięcia ma współrzędne pp= (x P,y P ). - wyznaczenie x P : y (x p )=0 - wyznaczenie y P : y P =y(x P ). - wyznaczenie współczynnika kierunkowego prostej: a=y (x P )=max(y (x p )) - wyznaczenie wyrazu wolnego: b=y P -ax P τ / T. Na 6
Rys. 10. Wyznaczenie współczynnika kierunkowego a=0.2232, oraz punktu przegięcia pp=(2.5,3.08). Po podstawieniu wartości za współczynniki a=max(p ),b=y p -ax p otrzymujemy równanie stycznej: y st =0.2232x st -0.308. Rys.11.. Wyznaczenie stałych czasowych τ = 1. 1198 T=4.4803. 7
Podstawienie stałych czasowych do modelu τ = 1.1198S e 1.1198 T=4.4803. M(s)= 1+ 4.4803s Rys.12. Porównanie odpowiedzi na skok jednostkowy dla obiektu rzeczywistego i dla modelu. Tab. 2. Obliczenia parametrów regulatora: ln(1/ OVR) β = π 2 2 + ln (1/ OVR) T i =T τ T d = 4 2Ti 2 2 k (1 + β β 3 + β ) 2 τ (1 β ) OVR=10% β ln(1/10) = π 2 2 + ln (1/10) = -0.5914 T i = 4.4803 T d = 0.2799 k<=2.9925 k skorygowane =1.8 Rys. 13. Schemat układu uŝyty przy doborze parametru k. 8
Rys. 14. Odpowiedz układu regulacji na skok jednostkowy dla przeregulowania OVR=10%. Przy parametrze k- obliczonym i k - skorygowanym doswiadczalnie. Wyliczone parametry regulatora o strukturze z Rys. 9. są odpowiednio równe: T i = 4.4803, T d = 0.2799, k=1.8. 4. LISTING PROGRAMU WRAZ Z KOMENTARZEM LISTING: /* Include C extensions for automation functions */ #include <bur/plc.h> #include <math.h> /* Deklaracje zmiennych */ /*ZMIENNE ZASTOSOWANE DO REGULATORA NR 1 i NR2 */ float _GLOBAL xo; /* wartosc zadana sygnal wejsciowy */ float _GLOBAL x; /* sygnal wyjsciowy */ float _GLOBAL alfa; /* wspolczynnik w torze proporcjonalnym (0,1) */ float _GLOBAL e; /* blad regulacji e=xo-x */ float _GLOBAL ealfa; /* blad regulacji ealfa=alfa*xo-x */ float _GLOBAL Uisat; /* Sygnal na wyjsciu czlonu calkujacego */ float _GLOBAL Ud; /* Sygnal na wyjsciu czlonu rozniczujacego */ float _GLOBAL Upwe,Upwepop; /* sygnal wykorzystywany w torze rozniczkowania */ 9
float _GLOBAL Ur,Uob; /* sygnaly wyjsciowe regulatora, Uob wyjsciowe po ograniczeniu */ int _GLOBAL roz; /* ==1 - to sygnal Upwe na rozniczkowanie, ==0 - sygnal x na rozniczkowanie */ /*wspolczynniki regulatora*/ float _GLOBAL Kp; /* wspolczynnik proporcjonalnosci */ float _GLOBAL Ti; /* stala calkowania regulaora */ float _GLOBAL Td; /* stala rozniczkowania */ /*ZMIENNE ZASTOSOWANE DO REGULATORA NR1*/ float _GLOBAL Up,Ui; /* sygnal wyjsciowy proporcjonalny i calkujacy wykorzystywany przy regulatorze 1 */ /*ZMIENNE ZASTOSOWANE DO REGULATORA NR2*/ float _GLOBAL V; /* wzmocnienie korekcyjne */ float _GLOBAL Ue,Uesat,Ukorekty; /* sygnaly pomocnicze w torze calkujacym*/ float _GLOBAL Uip,Uipsat; /* suma sygnalow wyjsciowych z toru proporcjonalnego i rozniczkowego */ /*NASTAWY OGRANICZEN*/ float _GLOBAL Umin,Umax; /* ograniczenie bledu na wyjsciu czlonu rozniczkujacego */ float _GLOBAL Uimin,Uimax; /* ograniczenie sygnalu na wyjsciu czlonu rozniczkujacego */ float _GLOBAL Urmin,Urmax; /* ograniczenie sumy sygnalow proporcjaonalego i calkujacego */ float _GLOBAL Uwymin,Uwymax; /*ograniczenie sygnalu wyjsciowego */ /*ZMIENNE WYBORU TRYBU PRACY*/ int _GLOBAL praca_reczna; /* praca_reczna==1 sygnal podawany jest na obiekt z zadajnika sterowania praca_reczna==0 sygnal podawany jest na obiekt z regulatora */ int _GLOBAL wyb_reg; /* ==0 struktura nr1 ==1 struktura nr2 */ float _GLOBAL ureczne; /* sygnal z zadajnika */ float _GLOBAL Tp; /* czas probkowania*/ /*ZMIENNE ZWIAZANE Z OBIEKTEM*/ float _GLOBAL we_bo1,wy_bo1,we_bo2,wy_bo2,we_bo3,wy_bo3; /*sygnaly wejsciowe i wyjsciowe obiektu-1,2,3*/ 10
float _GLOBAL B[100]; jest opoznienie*/ /*ZMIENNE ZWIAZANE Z ZAKLOCENIAMI*/ /*w tablicy zapisywane float _GLOBAL zak1_we,zak1_wy,zak2_we,zak2_wy,zak3_we,zak3_wy; /*sygnaly wejsciowe i wyjsciowe zaklocen*/ float _GLOBAL A,t,z,k1,szer_imp; prostokata, szer_imp*tp-szerokosc impulsu*/ /* A - amplituda /* utworzenie struktury o nazwie blok, zawiera ona wszystkie parametry blokow B_ */ struct blok { float WE; /* Sygnal na wejsciu obiektu */ float T1,T2,T3; /* Stala czasowa obiektu */ float mi; /* Wspolczynnik w funkcji nieliniowosci statycznej */ float uin1,uin2,uin3,un2,uk; /*wejscie na inercje I, II, III, na obiekt nieliniowy N2 oraz na opoznienie*/ float k; /* Wzmocnienie obiektu */ float B[100]; /*w tablicy B zapisywane jest opoznienie*/ int tau; /*wartosc opoznienia. Jest liczba naturalna.*/ /*opoznienie=tau*tp*/ float WY; /* wyjscie z obiektu */ }; /* deklaracja zmiennych zlozonych typu strukturalnego */ struct blok BO1; /* zmienna strukuralna bloku OB1 */ struct blok BO2; /* zmienna strukuralna bloku OB2 */ struct blok BO3; /* zmienna strukuralna bloku OB3 */ struct blok BZ1; /* zmienna strukuralna bloku OZ1 */ struct blok BZ2; /* zmienna strukuralna bloku OZ2 */ struct blok BZ3; /* zmienna strukuralna bloku OZ3 */ /*Deklaracje funkcji */ struct blok obiekt(struct blok BO,float wejscie_obiektu) /* funkcja odpowiadajaca za blok obiektu */ float zak_prost(float szer_imp); /* zaklocenia typu prostokatnego */ float wartosc_zadana(); /* Declaration of global variables */ void _INIT ObjectInit( void ) { /* Inicjalizacja zmiennych*/ 11
Tp=0.1; /* czas probkowania */ wyb_reg=0; /*'0'-regulator pierwszy, '1'-regulator drugi*/ /* parametry zaklocen */ A=0.02; /*0-brak zaklocen*/ szer_imp=10; /*szerokosc impulsu=szer_imp*tp*/ /*Parametry czesci obiektu OB1*/ BO1.k=1; BO1.T1=0.5; BO1.T2=0; BO1.T3=0; BO1.mi=1; BO1.tau=0; /*Parametry czesci obiektu OB2*/ BO2.k=1; BO2.T1=1; BO2.T2=0; BO2.T3=0; BO2.mi=1; BO1.tau=0; /*Parametry czesci obiektu OB3*/ BO3.k=1; BO3.T1=2; BO3.T2=0.4; BO3.T3=0; BO3.mi=1; BO1.tau=0; /* Parametry bloku zaklocen OZ1 */ BZ1.k=1; BZ1.T1=0; BZ1.T2=0; BZ1.T3=0; BZ1.u=1; BZ1.mi=1; BZ1.tau=0; /*Parametry bloku zaklocen OZ2 */ BZ2.k=1; BZ2.T1=0; BZ2.T2=0; BZ2.T3=0; BZ2.u=1; BZ2.mi=1; BZ2.tau=0; /* Parametry bloku zaklocen OZ3 */ BZ3.k=1; BZ3.T1=0; BZ3.T2=0; BZ3.T3=0; BZ3.u=1; BZ3.mi=1; BZ3.tau=0; /* Parametry regulatora */ Kp=1.8; /* Wzmocnienie regulatora*/ Ti=4.48; /* Stala calkowania */ Td=0.279; /* Stala rozniczkowania */ alfa=1; /* wspolczynnik w torze proporcjonalnosci */ V=1; Umin=-10; Umax=10; Uimin=0; Uimax=10; Uwymin=-10; Uwymax=10; Urmin=-10; Urmax=10; roz=1; praca_reczna=0; /*'0'-praca automatyczna, '1'-praca reczna*/ 12
Uob=0; ureczne=0.5; x=0; /*sygnal regulowany*/ xo=0.5; /*wartosc zadana*/ } void _CYCLIC ObjectCycle( void ) { xo=wartosc_zadana(); /* Cyclic section of the C object */ /* obliczanie bledu regulacji */ e=xo-x; ealfa=xo*alfa-x; /* obliczanie skladowej proporcjonalnej */ Up=ealfa*Kp*(Ti+Td)/Ti; /* regulator nr1 */ if(wyb_reg==0) { /* obliczanie skladowej calkowania */ Upwe=e*Kp; if(roz==0)upwe=-x; Uesat=Upwe; if(upwe>umax) Uesat=Umax; if(upwe<umin) Uesat=Umin; Uisat=Uesat*(Tp/Ti)+Ui; Ui=Uisat; if(uisat>uimax) Ui=Uimax; if(uisat<uimin) Ui=Uimin; /* obliczanie skladowej rozniczkowania */ Ud=(Upwe-Upwepop)*(Td/Tp); Upwepop=Upwe; /* obliczanie sygnalu sterujacego z regulatora PID */ Ur=Up+Ui+Ud; Uob=Ur; if(ur>uwymax) Uob=Uwymax; if(ur<uwymin) Uob=Uwymin; } if(wyb_reg==1) { Ue=e*Kp-Ukorekty; Uesat=Ue; if(ue>umax)uesat=umax; if(ue<umin)uesat=umin; 13
Uisat=Uesat*(Tp/Ti)+Ui; /*Ui wczsniejsza wartosc sygnału*/ Ui=Uisat; if(uisat>uimax) Ui=Uimax; if(uisat<uimin) Ui=Uimin; Uip=Ui+Up; /*obliczanie Ukorekcyjnego i sygnalu Uipsat*/ Uipsat=Uip; if(uip>urmax)uipsat=urmax; if(uip<urmin)uipsat=urmin; Ukorekty=(Uip-Uipsat)*V; /*obliczanie sygnalu rozniczkowania*/ Upwe=e*Kp; if(roz==0)upwe=-x; Ud=(Upwe-Upwepop)*(Td/Tp); Upwepop=Upwe; /*obliczanie sygnalu sterujacego z reg. PID*/ Ur=Uipsat+Ud; Uob=Ur; if(ur<uwymin)uob=uwymin; if(ur>uwymax)uob=uwymax; } /*WYLICZANIE SYGNALU ZAKLOCEN */ BZ1=obiekt(BZ1,zak_prost(10*szer_imp)) zak1_wy=bz1.wy; BZ2=obiekt(BZ2,zak_prost(5*szer_imp)); zak2_wy=bz2.wy; BZ3=obiekt(BZ3,zak_prost(szer_imp)); zak3_wy=bz3.wy; /*WYBOR STEROWANIA Z ZADAJNIKA LUB Z REGULATORA*/ if(praca_reczna==1) we_bo1=ureczne; else we_bo1=uob; /*WYLICZANIE WARTOSCI SYGNALU W OBIEKCIE*/ BO1=obiekt(BO1,we_BO1); /*obiekt 1*/ wy_bo1=bo1.wy; BO2=obiekt(BO2,BO1.WY+zak3_wy); /*obiekt 2*/ wy_bo2=bo2.wy; BO3=obiekt(BO3,BO2.WY+zak2_wy); /*obiekt 3*/ wy_bo3=bo3.wy; x=bo3.wy+zak1_wy; /* sygnal na wyjsciu obiektu */ 14
} float zak_prost(float szer_imp) prostokatnych */ { /* Generowanie zaklocen k1=k1+tp; if(k1<szer_imp*tp) z=a; else z=-a; if(k1>2*szer_imp*tp)k1=0; return(z); } float wartosc_zadana() { t=t+tp; if(t<100) xo=0.5; if(t>100 &&t<200)xo=0.75; if(t>200&&t<300)xo=0.25; if(t>300&&t<400)xo=0.75; return(xo); } struct blok obiekt(struct blok BO,float wejscie_obiektu) /* Funkcja symulujaca obiekt */ { int i; BZ1.WE=wejscie_obiektu; BO.uIn1=BO.WE/(1+((1/BO.mi)-1)*BO.WE); /*wyliczanie sygnalu wchodzacego na 1-sza inercje*/ BO.uIn2=(BO.uIn1+(BO.T1/Tp)*BO.uIn2)/(1+BO.T1/Tp);/*wyliczanie sygnalu wchodzacego na 2-ga inercje*/ BO.uIn3=(BO.uIn2+(BO.T2/Tp)*BO.uIn3)/(1+BO.T2/Tp);/*wyliczanie sygnalu wchodzacego na 3-cia inercje*/ BO.uN2=(BO.uIn3+(BO.T3/Tp)*BO.uN2)/(1+BO.T3/Tp); /*wyliczanie sygnalu wchodzaceg na blok N2*/ BO.uk=BO.uN2/(1+((1/BO.mi)-1)*BO.uN2); /*wyliczenie sygnalu wchodzacego na opoznienie*/ A(0)=BO.uk*BO.k; /*...*/ for(i=0;i<=bo.tau;i++) BO.B(i+1)=BO.B(i) /* wyliczanie opoznienia*/ BO.WY=BO.B(i); /*wyliczenie sygnału opoznienia*/ return(bo); } 5. OBSLUGA PROGRAMU B&R AUTOMATION STUDIO Tworzenie projektu i programu w środowisku Automation Studio. Po otwarciu programu B&R Automation Studio, wybieramy AR000 w menu Tools, aby uruchomić nasz wirtualny sterownik. 15
Następnie z menu File wybieramy opcję New Project, w celu utworzenia nowego projektu. 16
Otworzy nam się okno dialogowe, w którym naleŝy podać nazwę projektu i miejsce, gdzie ma być on zapisany. NaleŜy zaznaczyć opcję Upload hardware from target, aby nasz projekt działał z wirtualnym sterownikiem AR000. 17
Na koniec zostanie utworzony nowy projekt, w którym napiszemy nasz program symulujący pracę regulatora. śeby zacząć juŝ pisać nasz program, naleŝy utworzyć obiekt cykliczny. 18
Otworzy się nam okno dialogowe z moŝliwymi obiektami do wstawienia. Wybieramy Cyclic Object. W następnym kroku nadajemy nazwę naszemu obiektowi oraz wybieramy język 19
programowania. Dodatkowo moŝemy ustawić czas wykonywania się programu. Jeszcze został do utworzenia plik C, w którym będzie pisany nasz program. W ten sposób utworzyliśmy obiekt cykliczny z plikiem, w którym będziemy pisali program. W tym celu otwieramy do edycji nasz plik: 20
Otworzy nam się okno edytora, w którym będziemy pisali program. 21
Po napisaniu programu kompilujemy go wybierając funkcję Build z menu Project. 22
Po skompilowaniu, gdy program nie zawiera błędów, przesyłamy go do sterownika. W tym celu naciskamy na przycisk Transfer. Podgląd zmiennych za pomocą modułu Watch. Moduł Watch daje nam moŝliwość podglądania zmiennych uŝytych w programie, aktualnie znajdujących się w sterowniku. Za pomocą modułu Watch będziemy takŝe sterowali naszym programem. Zmieniając wartość zadaną, tryb pracy czy aktualną konfigurację regulatora. Aby uruchomić moduł Watch wybieramy odpowiednią opcję w menu Open. 23
Otworzy nam się moduł Watch. Teraz naleŝy wybrać zmienne, które chcemy podglądać. W tym celu wciskamy odpowiedni przycisk. 24
Otworzy się nam okno dialogowe w którym naleŝy wybrać zmienne. 25
Po wybraniu zmiennych będą one wyświetlone w oknie Watch wraz z wartościami jakie w danej chwili są im przypisane. Klikając w odpowiednią zmienną w rubryce Value i wpisując tam dowolną wartość, moŝemy dokonywać zmian w tej zmiennej. Rejestrowanie zmiennych w module Trace. W celu uruchomienia modułu Trace naleŝy z menu Open wybrać opcję Trace. 26
Otworzy nam się moduł Trace. Teraz naleŝy w module umieścić blok konfiguracyjny, w którym będziemy wybierać zmienne do rejestracji, w tym celu klikamy na przycisk zaznaczony poniŝej. 27
W oknie modułu pokaŝe nam się blok konfiguracyjny. Teraz naleŝy wybrać które zmienne chcemy zarejestrować, w tym celu klikamy na zaznaczony niŝej przycisk. 28
Otworzy nam się okno dialogowe w którym wybieramy zmienne jakie mają zostać zarejestrowane. 29
Teraz naleŝy przejść w tryb monitora, wciskając zaznaczony niŝej przycisk. MoŜemy teraz tak skonfigurowany moduł Trace zainstalować w sterowniku. Instalacja odbywa się przez naciśnięcie przycisku Instal. Po zebraniu interesującej nas liczby próbek zatrzymujemy pracę modułu przyciskiem Stop. 30
Teraz naleŝy ściągnąć dane ze sterownika, w tym celu klikamy na przycisk Show Target Data. Zarejestrowane dane zostaną wyświetlone w formie wykresu. 31
6. SYMULACJA UKLADU REGULACJI W PROGRAMIE B&R AUTOMATION STUDIO 6.1 ODPOWIEDZ UKŁADU NA SYGNAŁ STERUJACY 32
Rys. 15. Odpowiedz układu regulacji na sygnał sterujący dla regulatora o strukturze nr 1, zmienna roz=0, czyli sygnał podany na akcje róŝniczkującą podany z wyjścia obiektu (patrz Rys. 7.). JeŜeli sygnał był podawany bezpośrednio z wyjścia obiektu na akcje róŝniczkującą to przeregulowanie było mniejsze. Regulator działał szybciej. RóŜnice tą pokazują rysunki numer 15 i 16. 33
Rys. 16. Odpowiedz układu regulacji na sygnał sterujący dla regulatora o strukturze nr 1, zmienna roz=1(patrz Rys. 7.). W regulatorze numer dwa akcja całkująca zostaje ograniczona przez ujemne sprzęŝenie zwrotne. Sygnał z całki nie moŝe przekroczyć sygnału zadanego. JeŜeli go przekroczy to sygnał akcji całkującej jest korygowany. Współczynnik V był dobrany doświadczalnie. Górna granica była ustalana dynamicznie i zawsze równała się wartości sygnału zadanego. Dzięki temu w sygnale regulowanym nigdy nie było przeregulowania. Co jest pokazane na rysunkach 17 i 18. 34
Rys. 17. Odpowiedz układu regulacji na sygnał sterujący dla regulatora o strukturze nr 2, zmienna roz=0, czyli sygnał podany na akcje róŝniczkującą podany z wyjścia obiektu (patrz Rys. 8.). 35
Rys. 18. Odpowiedz układu regulacji na sygnał sterujący dla regulatora o strukturze nr 2, zmienna roz=1, czyli sygnał podany na akcje róŝniczkującą podany z wyjścia obiektu (patrz Rys. 8.). 6.2 ZMIANA TRYBU PRACY Z RĘCZNEJ NA AUTOMATYCZNA Zmiana trybu pracy z ręcznej na automatyczną miała odbywać się w sposób bezuderzeniowy. śeby to uzyskać w trybie pracy ręcznej sygnał z zadajnika cały czas podawany jest na akcje całkująca regulatora. Rys. 19. Zmiana trybu pracy z ręcznej na automatyczna. Przy sygnale zadanym równym xo=0.5. Symulacja dla układu regulacji z rys. 7. 6.3 WPŁYW ZAKŁÓCEŃ NA PRACE REGULATORA Zakłócenia prostokątne były podawane na wejście obiektu i wyjście obiektu. Z zakłóceniami podawanymi na wejście obiektu regulator radził sobie dość dobrze. Natomiast z zakłóceniami podawanymi na wyjście obiektu regulator nie radził sobie. Jest to pokazane na rysunkach 20, 21, 22. 36
Rys. 20. Zakłócenia podawane na wyjście obiektu, dla układu regulacji numer 1. Rys. 21. Zakłócenia podawane na wejście obiektu, dla układu regulacji numer 1. 37
Rys. 22. Zakłócenia podawane na wejście obiektu, dla układu regulacji numer 1. 7. LITERATURA [1] wykłady - Dr inŝ. K. Pietrusewicz 38