© Dr inż. JANUSZ LICHOTA
PODSTAWY AUTOMATYKI
Egzamin 25 I 2011
Wydział Mechaniczno-
Energetyczny
Wrocław 2011
KOLEJNY TERMIN EGZAMINU
• ?
PYTANI
A
1. Narysuj i opisz układ automatycznej regulacji
2. Opisz metodę doboru nastaw regulatorów podaną
przez Zieglera i Nicholsa (częstotliwościową)
3. Wyznacz model Kuepfmuellera dla obiektu z
rysunku
4. Opisz powiązania równań przestrzeni stanu i
transmitancji G(s)
5. Opisz jak dobrać zawór regulacyjny ?
1. Podaj definicję transformaty Laplace’a i transmitancji
operatorowej i widmowej
2. Opisz sposób sporządzania charakterystyk
częstotliwościowych i wymień typy wykresów
częstotliwościowych
3. Podaj równanie czasowe, transmitancję regulatora PID,
narysuj odpowiedź regulatora na skok jednostkowy
oraz sygnał narastający liniowo w czasie u=t
4. Znajdź ścieżkę optymalną (minimalny koszt) posługując
się dyskretnym równaniem Bellmana
5. Narysuj układ z samopodtrzymaniem przekaźników i
napisz jego równanie schematowe
1
1
3
Stan
początkowy
Stan
końcowy
D
1
3
2
1
1
3
1
1
1
0
1
0
100
Grupa A
Grupa B
Dziękuję za uwagę i
zainteresowanie
Utwórz listę wskaźników dla zadania
optymalizacyjnego i napisz procedurę
(rekurencyjną lub nie) minimalizacji
długości ścieżki metodą Bellmana.
Podpowiedź : Min(min(min(....)))
2. Jaki typ regulatora realizuje procedura
HIS ?
3. Sygnał wyjściowy z inercji I rzędu (filtr)
można zapisac w pascalu jako
Out_ := Tcyklu/T_*SygOld + OutOld*(1-
Tcyklu/T_);
Tcyklu – czas pomiędzy dwoma kolejnymi
wejściami do procedury
T- stała czasowa inercji
SygOld – sygnał wejściowy do inercji
OutOld – poprzednia wartość sygnału
Napisz program, który będzie w czasie
rzeczywistym filtrował zadane tablicą
sygnały. Podpowiedź: do obliczeń
Tcyklu można wykorzystać funkcję
GetTime i zapamiętywać kolejne
wejścia do procedury Filtr
1
1
3
Stan
początkowy
Stan
końcowy
D
1
3
2
1
1
3
1
1
1
procedure HIS(I : Integer);
begin
With Pro[I]^.HIS^, Pro[I]^ do
begin
if (A1 - A2 > Histereza/2) then
Out_ := 1;
if (A1 - A2 < -Histereza/2) then
Out_ := 0;
UzupelnijNastepneModuly(acHIS, Next,
Out_, 1);
end;
end;
procedure FIL(I : Integer);{ filtr I rzedu }
var CzasBiez, Tcyklu, T_ : Real;
h, m, s, hund : Word;
begin
T_ := Pro[I]^.FIL^.T;
With Pro[I]^.FIL^, Pro[I]^ do
begin
if T_ <> 0 then
begin
GetTime(h,m,s,hund);
CzasBiez := h*3600;
CzasBiez := CzasBiez + m*60 + s + hund/100;
Tcyklu := CzasBiez - CzasPoprz;
Out_ := Tcyklu/T_*SygOld + OutOld*(1-Tcyklu/T_);
SygOld := A;
CzasPoprz := CzasBiez;
OutOld := Out_;
end;
UzupelnijNastepneModuly(acFIL, Next, Out_, 1);
end;
end;