background image

I. Proste modele symulacyjne

Konstrukcja i weryfikacja modeli 

Charakterystyki czasowe modeli obiektów

Procedura
Cel: 
Badanie reakcji obiektu na skokowe zakłócenia na wybranych wejściach, w różnych  punktach 
pracy. Symulacja ma być uruchamiana od dowolnego stanu ustalonego (punktu równowagi). 

1. Określenie zmiennych wejściowych (U) i wyjściowych modelu (X)
2. Identyfikacja wartości współczynników (I część skryptu)

a) Z modelu statycznego na podstawie podanych wartości nominalnych i dodatkowych założeń 

wyprowadzić wzory do obliczania współczynników modelu

b) Zainicjować w skrypcie zmienne wejściowe i wyjściowe, nominalne (tzn. zmienne wejściowe U

N

 i 

wyjściowe X

N

, pod które podstawia się podane wartości nominalne)

c) Wpisać w skrypcie wzory na współczynniki (k), wykorzystując zmienne nominalne 
d) Zainicjować pozostałe zmienne (np. parametry opisujące dynamikę obiektu)

3. Ustalenie warunków początkowych (II część skryptu)

a) Zainicjować w skrypcie zmienne wejściowe, początkowe (U

0

) i nadać im wartości nominalne (U

U

N

)

b) Zainicjować w skrypcie zmienne wyjściowe, początkowe (X

0

) i nadać im wartości nominalne (X

X

N

)

4. Zdefiniowanie zakłóceń (III część skryptu)

a) Zainicjować w skrypcie zmienne opisujące zakłócenia na wejściach, o zerowych wartościach (dU

0)

5. Aplikacja modelu w oknie Simulink/Scicos.

a) Narysować schemat (jako parametry bloków używać zmienne zdefiniowane w skrypcie)
b) W „końcowych” blokach całkujących podstawić jako warunki początkowe odpowiednie zmienne X

(wartości początkowe pozostałych bloków całkujących pozostają na domyślnej wartości 0)

c) Jako źródła wejściowe zastosować bloki skoku, w których jako wartości początkowe zostaną 

podstawione odpowiednie zmienne U

0

, a jako wartości końcowe – wyrażenia U

dU

. Warto 

wprowadzić zmienną określającą czas wystąpienia skoku (np. wspólna zmienna czas_skok dla 
wszystkich bloków skoku, o wartości ustawianej w skrypcie)

d) Uruchomić symulację przy zerowych zakłóceniach (dU

= 0), tzn. że układ jest w stanie równowagi - 

jeśli model jest poprawny to na wyjściach występują stałe wartości, równe wartościom nominalnym 
(jeśli nie, to jest błąd - prawdopodobnie na schemacie) 

6. Ustalenie warunków początkowych w dowolnym punkcie równowagi

a) Z modelu statycznego na podstawie obliczonych współczynników i założonych wartości 

początkowych zmiennych wejściowych (U

0

)

 

wyprowadzić wzory na zmienne wyjściowe (X

0

) w 

stanie ustalonym 

b) Wprowadź wzory na zmienne wyjściowe (X

0

) do skryptu (podmień podstawienia X

X

N

  w II części 

skryptu na wzory)

c) Sprawdzić poprawność wzorów i skryptu – jeśli zmienne wejściowe mają wartości nominalne (U

U

N

), to obliczenie zmiennych wyjściowych ze wzorów też powinno dawać wartości nominalne (X

X

N

) (jeśli nie, to jest błąd w wyprowadzeniu wzoru lub w skrypcie)

7. Uruchomienie symulacji od dowolnego punktu równowagi

a)  Ustawić w skrypcie wartości początkowe zmiennych wejściowych (np. względem wartości 

nominalnych: U

0

 = U

N

 * 0.5, czyli 50% wartości nominalnej; U

0

 = U

N

 -1, czyli o 1 mniej niż wartość 

nominalna)

b)

Uruchomić skrypt i symulację – ponieważ wartości wejściowe są stałe (brak zakłóceń), to na 
wyjściach też powinny być stałe wartości (jeśli nie, to jest błąd na schemacie lub w

 skrypcie)

8. Zbadanie reakcji na skokową zmianę wartości wybranych wielkości wejściowych

a) Ustawić w skrypcie wartość zakłócenia na wybranym wejściu, podając wprost wartość (np. dU

= 1) 

lub względem wartości nominalnych (np. dU

U

N

 * 0.1, czyli 10% wartości nominalnej)

background image

Przykład
Pomieszczenie z grzejnikiem elektrycznym – model uwzględnia pojemność cieplną jedynie dla 
pomieszczenia C

vw

.

 

T

zew 

T

wew

,V,ρ,c

 q

k

cw 

(

)

)

(

)

(

)

(

)

(

t

T

t

T

K

t

q

t

T

C

zew

wew

cw

g

wew

vw

=

˙

Stan ustalony:

(

)

)

(

)

(

)

(

0

t

T

t

T

K

t

q

zew

wew

cw

g

=

Identyfikacja:

(

)

zewN

wewN

gN

cw

T

T

q

K

=

/

Punkt równowagi:

0

0

0

/

zew

cw

g

wew

T

K

q

T

+

=

Matlab
Schemat modelu zapamiętany w pliku „grzejnik”

Skrypt inicjujący zmienne i uruchomiający symulację

model=

'grzejnik'

;

czas=30;
tmin=0.1;

tmax=10;
terr=1e-5;

opcje = simget(model);
opcje = simset(

'MaxStep'

, tmax, 

'RelTol'

,terr);

%==========================
%wartości nominalne

Tzewn=-20;
Qgn=5000;

%5kW

Twewn=20;

%identyfikacja parametrów statycznych

Kcw = Qgn/(Twewn-Tzewn);

%parametry "dynamiczne"

cpp=1000;

%J/kg K, powietrze

rop=1.2;

%kg/m3, powietrze

Vwew=5*5*3;

%m3

Cvw=cpp*rop*Vwew;

%==========================
%warunki początkowe

Tzew0= Tzewn+0;

%+1

Qg0  = Qgn*1.0;

%*.8

%stan równowagi

Twew0 = Qg0/Kcw+Tzew0;

%==========================

%zakłócenie

czas_skok=10;

dTzew=1;
dQg=0;

Qg0
Qg0+dQg

Tzew0
Tzew 0+dTzew

Twew0

background image

%==========================

%symulacja

[t]=sim(model,czas,opcje); 

plot(t,aTwew,

'g'

),hold on, grid on, title(

'Twew, Tzew'

);

plot(t,aTzew,

'r'

)


Document Outline