• Nie Znaleziono Wyników

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

N/A
N/A
Protected

Academic year: 2022

Share "Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania"

Copied!
10
0
0

Pełen tekst

(1)

Politechnika Gdańska

Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

KOMPUTEROWE SYSTEMY STEROWANIA (sem. 6)

Sterowanie optymalizacyjne

Opracowanie:

Tomasz Rutkowski, dr inż.

Jarosław Tarnawski, dr inż.

Arkadiusz Cimiński, mgr inż.

Gdańsk, kwiecień 2010

(2)

2

Celem ćwiczenia jest wykorzystanie odpowiednio sformułowanego problemu optymalizacji do sterowania stacją pompowania z zbiornikiem (schemat technologiczny na rys.1), której celem jest dostarczenie odpowiedniej ilości wody do systemu wodociągowego (SW).

Pomiar przepływu

Pomiar poziomu

Zbiornik

Rozdzielacz Pompa

Ujęcie wody

SW

qp

qr

Rys. 1 Przykładowy schemat technologiczny stacji pompowania z zbiornikiem dostarczającej wodę do SW.

Cel stacji realizowany jest za pomocą urządzeń wykonawczych: pompa oraz rozdzielacz. Wartości sygnałów sterujących tymi elementami to ilość wody przepływającej przez pompę oraz rozdzielacz. W sformułowaniu zadania optymalizacji zakłada się, że:

• lokalny układ sterowania pompą jest na tyle szybki, że z punktu widzenia optymalizatora traktowany jest jako element bezinercyjny o charakterystyce statycznej przestawionej na rys. 2a;

• rozdzielacz doprowadzający/odprowadzający wodę z/do zbiornika jest elementem statycznym o charakterystyce jak na rys. 2b.

(3)

3

Rys. 2 Charakterystyki statyczne urządzeń wykonawczych stacji.

Stacja ma następujące ograniczenia technologiczne:

• minimalna i maksymalna ilość wody w zbiorniku, odpowiednio: Vmin=50 i Vmax=500 [m3];

• ilość wody w zbiorniku na początku symulacji V(t0)=300 [m3];

• maksymalne odchylenie ilości wody w zbiorniku na początku i końcu horyzontu predykcji ∆V=|V(t0|t0)-V(t0+Hp|t0)|=10 [m3];

• maksymalna i minimalna wartość zadanej pompą: qpmin=0 i qpmax100 [m3];

• maksymalna i minimalna wartość zadanej rozdzielaczem: urmin = -100 i urmax = 100 [m3];

• maksymalna szybkość zmian sygnału sterującego pompą i rozdzielaczem: 20 i 30 [m3].

Dodatkowo należy spełnić warunek aby stan lustra wody w zbiorniku na początku i końcu horyzontu predykcji był podobny.

Sformułowanie zadania optymalizacji wyznaczania sterowania pompą i rozdzielaczem:

0 10 20 30 40 50 60 70 80 90 100

0 10 20 30 40 50 60 70 80 90 100

Charakterystyka pompy

Przeplyw [m3/h]

Wartosc zadana pompa - 'up'

-100 -80 -60 -40 -20 0 20 40 60 80 100

-100 -80 -60 -40 -20 0 20 40 60 80 100

Charakterystyka zaworu

Wartosc zadana rozdzielacza - 'uz' Przeplyw [m3/h]

a) b)

(4)

4 Definicja zmiennych

Wektor zmiennych zadania jest postaci:

( ) ( ) ( ) ( )

[

qzadp t Hs ,qzadr t Hs ,V t Hp ,qzad t Hp

]

x= 0+ 0 + 0+ 0 +

,gdzie

(

s

)

p

zad t H

q 0 + - trajektoria zadana przepływu przez pompę dana na horyzont sterowania t0:t0+Hs,

(

s

)

r

zad t H

q 0+ - trajektoria zadana przepływu przez rozdzielacz dana na horyzont sterowania t0:t0+Hs, V

(

t0+Hp

)

- wyznaczona trajektoria ilości wody w zbiorniku dana na horyzont predykcji t0:t0 +Hp , qzad

(

t0+Hp

)

-

przewidywana ilość wody pobierana przez odbiorców SW dana na horyzont predykcji Hp

t :

t0 0+ .

Funkcja kryterialna (celu)

( ) ( ( ) ( ) )



 ⋅ + ⋅ −

=

∑ ∑

=

=

s Hp

k zad q

H

k

u u w q k q k

w min x f min

0

2 0

2

Ograniczenia modelowe na bilans masy wody w węźle

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( )

p rzad

( )

p zad

( )

p

p zad

p zad p

r zad p

p zad

zad r

zad p

zad

zad r

zad p

zad

zad r

zad p

zad

H q H q H q

H q H

q H

q ...

k q k q k q ...

q q

q

q q

q

= +

=

− +

= +

= +

= +

1 1

1

1 1

1

0 0

0

;k∈0,Hp

Ograniczenia modelowe na bilans masy wody w zbiorniku

( ) ( ) ( )

( ) ( )

( ) ( )

( ) ( )

(

p

)

zadr

( )

p p

r zad p

r zad r zad r zad

H q H

V

H q H V ...

k q k

V ...

q V

q V

V V

= +

=

= +

=

=

=

1

1 1

1 2

0 1

0 0

;k∈1,Hp

Ograniczenia na zmienne

(5)

5

( ) ( ) ( )

( ) ( ) ( )

( ) ( ) ( )

( )

k q

( )

k q

( )

k

q

k V k V k V

k q k q k q

k q k q k q

max zad zad

min zad

max min

max , r zad r

zad min

, r zad

max , p zad p

zad min

, p zad

;k∈0,Hp

Stacja pompowania sterowana jest z wykorzystaniem następującej struktury sterowania (rys.3).

Pomiar przepływu

Pomiar poziomu

Zbiornik Zawór Pompa

Ujęcie wody

Komputer „1” - Matlab

P L C

S C A D A

O P T Y M A

L I Z A C J A Komputer „2” – InTouch i Matlab

Obiekt sterowania

Algorytm sterowania optymalizującego V(t), qzad(t0:Np)

c(t0:Np)

qpzad (t0:Np), qrzad(t0:Np), k(t0:Np), Q(t0:Np) V(t0:Np) qpzad(t),

qrzad(t) V(t) , qzad(t) V(t), q(t)

qpzad(t), αzad(t)

Rys. 3 Schemat poglądowy układu sterowania stacją dostarczania wody do SW z pomocą optymalizacji.

,gdzie: V(t) – ilość wody w zbiorniku w chwili czasu t w [m3]; q(t) – wypływ ze stacji w chwili czasu t w [m3/h]; qzad(t0:Hp) – wektor zapotrzebowania na wodę przez SW określony w chwili czasu t0 na horyzont czasu t0:Hp w [m3/h]; c(t0:Hs) - wektor ceny energii elektrycznej określony w chwili czasu t0 na horyzont sterowania t0:Hs w [zł];

k(t0:Hs) – całkowity koszt sterowania pompą wyznaczony w chwili czasu t0 na horyzoncie sterowania t0:Hs w [zł]; qpzad(t0:Hs), qrzad (t0:Hs) –wartość zadana pompą i rozdzielaczem wyznaczone w chwili czasu t0 na horyzont predykcji t0:Hs; qpzad(t), qrzad

(t)– odpowiednio wartość zadana pompą i rozdzielaczem dane w chwili czasu t w [m3/h]; Q(t0:Hs) – wypływ ze stacji wyznaczony przez optymalizator wyznaczony w chwili czasu t0 na horyzont predykcji t0:Hs w [m3/h].

!!!UWAGA!!!

Do budowy układu sterowania wykorzystaj informacje z poprzednich laboratoriów oraz informacje zawarte poniżej.

(6)

6

Do bloku OPTYMALIZACJA dana jest funkcja o nazwie „MPC_SW.p”, która rozwiązuje zadanie optymalizacji wyznaczania sterowania pompą i rozdzielaczem na podstawie koniecznych informacji. Wywołanie funkcji jest o składni:

[U tr_zb koszt Q]=MPC_SW(Hs, Hp, w_u, w_q, V0, eps_V0, V_min_max, u_min_max, profil_cena, profil_poboru);

U – macierz i rozmiarach [2xHs], która składa się z dwóch wektorów kolumnowych sterowań pompą qpzad(t0:Hs)=U(:,1) oraz rozdzielaczem qrzad (t0:Hs)=U(:,2);

tr_zb – trajektoria zbiornika wyznaczona na podstawie wyznaczonego sterowania U;

koszt – koszt sterowania pompą;

Q – trajektoria przepływu do odbiorców SW realizowana dla wyznaczonego sterowania U;

Hs – długość horyzontu sterowania [h];

Hp – długość horyzontu predykcji [h];

w_u – waga przy składniku funkcji celu odpowiadającej za koszt sterowania;

w_q – waga przy składniku funkcji celu odpowiadającej za odchylenie trajektorii zadanej realizowanej;

V0 – stan lustra wody w zbiorniku w chwili czasu t0;

eps_V0 – maksymalne odchylenie wartości stanu lustra wody w zbiorniku na końcu horyzontu predykcji od wartości na początku tego horyzontu;

V_min_max – wektor ograniczeń zbiornika o rozmiarze [1x2] w postaci: [Vmin Vmax];

u_min_max – macierz zawierająca ograniczenia sterowań urządzeniami wykonawczymi stacji o rozmiarze [2x3] w postaci:[qpzad,min qp zad,max dqp; qrzad,min qrzad,max dqr], gdzie qpzad,min, qpzad,max, qrzad,min, qrzad,max – minimalna i maksymalna wartość sterowania odpowiednio pompą i rozdzielaczem; dqp, dqr; maksymalna szybkość zmiany sterowania odpowiednio pompą i rozdzielaczem;

profil_cena – profil ceny sterowania pompą;

profil_poboru – profil poboru wody przez SW.

Profil poboru wody oraz strukturę profilu ceny jest taka sama jak w laboratorium T5.

(7)

7

Informacje mogące pomóc w wykonywaniu ćwiczenia

Skrypty w InTouch

Skrypty w InTouch umożliwiają wprowadzanie algorytmów użytkownika udostępniając w ten sposób możliwość realizacji sterowania nadzorczego. Skrypty wprowadzane są w języku wysokiego poziomu zbliżonego do języka Pascal.

Mamy do dyspozycji skrypty aplikacyjne, związane ze skrótem klawiaturowym, skrypty warunkowe oraz monitorujące zmianę zmiennych.

Rys. 4 Okno widoku skryptów

Skrypty typu aplikacyjnego dotyczą całej aplikacji InTouch i umożliwiają pracę w trzech trybach:

• Podczas startu aplikacji (On Startup)

• Podczas działania aplikacji (While Running) z określonym okresem (Every x msec)

• Podczas zakończenia pracy aplikacji (On Shutdown)

Rys. 5 Skrypt aplikacyjny

(8)

8

Skrypty związane z klawiszami umożliwiają wywołanie logiki określonej przez użytkownika w przypadku naciśnięcia, trzymania naciśniętego, bądź zwolnienia klawisza klawiatury.

Rys. 6 Skrypt działający przy naciśnięciu klawisza

Skrypty warunkowe umożliwiają ciągłe monitorowanie wyrażenia logicznego i reakcję w zależności od spełnienia i niespełnienia tego warunku

Rys. 7 Skrypt warunkowy

Skrypty związane z monitorowaniem zmiany zmiennej umożliwiają reakcję na taką zmianę.

(9)

9

Rys. 8 Skrypt działający przy zmianie wartości danej zmiennej

Pilnowanie czasu w InTouch

Zmienne systemowe związane z czasem:

$Date

$DateString

$DateTime

$Day

$Hour

$Minute

$Month

$Msec

$Second

$Time

$TimeString

$Year

Zmienne te mogą być wykorzystywane w skryptach użytkownika w celu kontroli nad czasem, zmiany parametrów prowadzenia procesu, zmiany reżimu produkcji, odliczania czasu itd.

InTouch jako serwer, Matlab jako klient

Dostępne polecenia w Matlabie jako kliencie DDE to:

ddeadv - Set up advisory link.

ddeexec - Send string for execution.

ddeinit - Initiate DDE conversation.

(10)

10

ddepoke - Send data to application.

ddereq - Request data from application.

ddeterm - Terminate DDE conversation.

ddeunadv - Release advisory link.

W celu zainicjowania komunikacji program View InTouch musi być uruchomiony. W Matlabie inicjujemy połączenie komendą DDEinit

channel = ddeinit('View','Tagname')

Dane pobieramy komendą ddereq podając otwarty wcześniej kanał oraz nazwę zmiennej

dane = ddereq(channel, 'v')

Dane wpisujemy podając wcześniej otwarty kanał, nazwę zmiennej i wartość do wpisania

ddepoke(channel, 'v', 23.24)

Cytaty

Powiązane dokumenty

10) Z punktu widzenia OSD do aktywnego zarządzania siecią w czasie rzeczywistym niezbędne będzie pozyskiwanie informacji obejmujących m.in prognozy produkcji źródeł

Politechnika Gdańska, Wydział Elektrotechniki i Automatyki, Katedra Mechatroniki i Inżynierii Wysokich Napięć 1. e-mail: stanislaw.wojtas@pg.edu.pl Streszczenie: W artykule

Największą wartość pracy, moim zdaniem, stanową oryginalne wyniki badań dotyczące wyznaczenia strumienia energii spalin w układach wylotowych silników spalinowych w

Autor w bardzo ogólny sposób przedstawił cel rozprawy nie formułując zagadnienia naukowego, które jest rozwiązane. Bardziej konkretna jest teza pracy „Układ

a) Imperfekcje geometryczne wpływają na stan zmienności wszystkich sił wewnętrznych a tym samym na zmienność naprężeń w powłoce walcowej zbiornika. Jak

Sterowanie ma zapewniać programowaną zwłokę zapalania (lub gaszenia) lampki w stosunku do momentu zmiany stanu przycisku. Po naciśnięciu przycisku wejście 10.3 jest

Jeśli żaden wektor ofertowy nie będzie poprawiał aktualnego wyniku i wszystkie sztuczne zmienne wynoszą zero (z założoną dokładnością), to oznacza to, że

 Definicja 5 (Wzmocnienie ścieżki) Wzmocnienie ścieżki jest iloczynem wzmocnień związanych z poszczególnymi gałęziami tworzącymi ścieżkę.  Definicja 6 (Wzmocnienie