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