AUTOMATYKA 2009 Tom 13 Zeszyt 2 Krzysztof Oprzêdkiewicz* Implementacja algorytmów sterowania systemami o niepewnych parametrach na platformach PLC 1. Uwagi wstêpne W pracy planuje siê przedstawienie zagadnieñ implementacji algorytmów sterowania systemami o niepewnych parametrach na platformach sprzêtowo-programowych PLC na przyk³adzie systemu SIEMENS. Przedstawione zostan¹ nastêpuj¹ce zagadnienia: Elementy organizacyjne oprogramowania sterowników PLC SIEMENS. Uwagi o u yciu jêzyków programowania. Uwagi o realizacji algorytmu sterowania procesem o niepewnych parametrach na platformie PLC SIEMENS. Przyk³ad realizacja uk³adu kompensatora dynamicznego dla systemu o niepewnych parametrach na platformie SIEMENS. Uwagi koñcowe. 2. Elementy organizacyjne oprogramowania sterowników PLC SIEMENS W systemie PLC SIEMENS u ytkownik ma do dyspozycji typowe, opisane w normie IEC 1131 (zob. [3]) elementy organizacyjne oprogramowania: funkcje (FC) i bloki funkcyjne (FB), przy czym dostêpne s¹ zarówno elementy standardowe, a ponadto u ytkownik mo e w zale noœci od potrzeb samodzielnie definiowaæ te elementy. Przypomnijmy, e funkcja jest elementem statycznym wielu wejœciach i jednym wyjœciu (w systemie SIEMENS funkcja mo e mieæ te dodatkowe wyjœcia), zwracaj¹cym po wykonaniu wynik okreœlonego typu. Typowe funkcje standardowe realizuj¹ np. operacje arytmetyczne i matematyczne lub konwersjê typu zmiennej. Typ funkcji to typ zwracanego przez ni¹ wyniku. Jest tak e mo liwe zdefiniowanie funkcji typu VOID, która nie zwraca * Katedra Automatyki, Akademia Górniczo-Hutnicza w Krakowie 531
532 Krzysztof Oprzêdkiewicz adnego wyniku na wyjœciu. Podczas budowy funkcji nale y pamiêtaæ, e jej zmienne wewnêtrzne nie powinny byæ dostêpne na zewn¹trz. Funkcja wywo³ana z tymi samymi parametrami wejœciowymi zawsze zwraca ten sam wynik na wyjœciu. Wynika to z faktu, e funkcja nie posiada stanu wewnêtrznego, czyli zmiennych, których wartoœæ jest pamiêtana pomiêdzy wywo³aniami. Z kolei blok funkcyjny jest elementem dynamicznym o wielu wejœciach i wielu wyjœciach, który nie ma zdefiniowanego typu. W przypadku bloku funkcyjnego wa ne jest rozró nienie jego definicji (jest to zapis zmiennych wejœciowych, wyjœciowych i wewnêtrznych FB wraz operuj¹cym na tych zmiennych algorytmem) oraz ukonkretnienia lub instancji (Instance). Ukonkretnienie jest lokaln¹ kopi¹ bloku, pracuj¹c¹ na konkretnym, innym ni pozosta³e instancje zestawie danych roboczych. Dla bloku funkcyjnego zdefiniowanego jeden raz mo na zdefiniowaæ wiele instancji w programie, przy czym ka da z nich bêdzie posiada³a tê sam¹ strukturê danych i realizowa³a ten sam algorytm, natomiast dzia³a w pe³ni niezale nie od innych. Instancja bloku funkcyjnego wywo³ana kilkakrotnie z tymi samymi danymi wejœciowymi nie musi daæ tego samego wyniku na wyjœciu, gdy wynik wykonania bloku funkcyjnego zale y nie tylko od wejœcia, lecz tak e od stanu wewnêtrznego. Tylko instancja FB jest jego wersj¹ wykonywaln¹ i blok funkcyjny aby by³ wykonywany, musi mieæ zdefiniowan¹ co o najmniej jedn¹ instancjê. Typowe przyk³ady bloków funkcyjnych to liczniki i bloki regulatorów PID, jako bloki funkcyjne musz¹ byæ ta e realizowane wszystkie elementy dynamiczne, np. obserwatory lub elementy modeluj¹ce podstawowe obiekty dynamiczne, niezbêdne podczas realizacji algorytmów specjalnych. Dodatkowo, w systemie SIEMENS SIMATIC S7 s¹ stosowane elementy nietypowe, charakterystyczne wy³¹cznie dla tego systemu PLC i nie opisane w normie. S¹ to miêdzy innymi: bloki organizacyjne (OB) i bloki danych (DB). Blok organizacyjny stanowi rodzaj pomostu pomiêdzy systemem operacyjnym i programem u ytkownika. Z poziomu systemu operacyjnego s¹ uaktywniane wy³¹cznie bloki organizacyjne ( aden inny element nie). Z tego wzglêdu ka da funkcja lub instancja bloku funkcyjnego, która ma byæ wykonana w programie, musi byæ wywo³ana z poziomu bloku jakiegoœ organizacyjnego. W systemie SIEMENS jest dostêpnych kilka kategorii bloków organizacyjnych, które mog¹ byæ aktywowane w ró ny sposób: Pierwsz¹ grup¹ s¹ bloki organizacyjne wywo³ywane cyklicznie przez system operacyjny w ka dym cyklu programowym, przyk³adem jest blok OB1, który mo e byæ interpretowany jako blok programu g³ównego. Kolejn¹ grup¹ s¹ bloki organizacyjne aktywowane wyst¹pieniem okreœlonego zdarzenia w systemie: np. restartem (bloki OB100, OB101, OB102), przerwaniem zegarowym (np. OB35) przerwaniem kalendarzowym (np. OB20) lub awari¹ okreœlonego elementu systemu. Ostatni¹ kategori¹ s¹ bloki wywo³ywane z u yciem instrukcji wywo³ania, które mog¹ byæ interpretowane jako podprogramy.
Implementacja algorytmów sterowania systemami o niepewnych parametrach... 533 Blok danych (DB) w przeciwieñstwie do innych elementów nie zawiera adnych wykonywalnych instrukcji, s³u y tylko do przechowywania danych. Od strony funkcjonalnej blok danych jest struktur¹ i dostêp do jego elementów jest taki jak do elementów struktury. Obszar pamiêci do przechowywania bloku danych jest przydzielany automatycznie podczas za³adowywania programu do pamiêci sterownika. 3. Uwagi o u yciu jêzyków programowania Programowanie sterowników PLC mo e siê odbywaæ z u yciem czterech opisanych w normie IEC 1131-3 jêzyków programowania oraz dodatkowo z wykorzystaniem grafu sekwencji. Znormalizowane jêzyki programowania PLC to jêzyki graficzne: drabinkowy (LD) i jêzyk schematów funkcyjnych (FBD) oraz tekstowe: lista instrukcji (IL, STL w systemie SIEMENS) oraz testowy wysokiego poziomu (ST, STEP 7 SCL w systemie SIEMENS). Ka dy z wy ej wymienionych jêzyków ma zalety i wady i jest dedykowany do okreœlonych obszarów zastosowañ (zob. np. [3]). Z tego wzglêdu podczas realizacji algorytmu sterowania procesem o niepewnych parametrach najbardziej zalecanym podejœciem jest stosowanie ró nych jêzyków do realizacji ró nych czêœci programu. Do budowy czêœci programu realizuj¹cych z³o one operacje matematyczne najlepiej jest wykorzystaæ jêzyk strukturalny wysokiego poziomu, gdy pozwala on na ³atwy zapis z³o onych wyra eñ i posiada bardzo dobre w³asnoœci real time (zob. [7]). U ycie jêzyka listy instrukcji jest uzasadnione w sytuacji, gdy zachodzi koniecznoœæ wywo³ania funkcji dostêpnej wy³¹cznie z poziomu tego jêzyka (np. obs³uga adresacji poœredniej). Ponadto jêzyk ten posiada bardzo dobre w³asnoœci czasu rzeczywistego i z tego wzglêdu zalecane jest jego u ycie w sytuacji, gdy wymagania real time s¹ wysokie, a dane œrodowisko konfiguracyjne PLC nie zapewnia mo liwoœci u ycia tekstu strukturalnego. Z kolei jêzyk drabinkowy dobrze nadaje siê do po³¹czenia w ca³oœæ poszczególnych elementów programu, zrealizowanych jako funkcje i bloki funkcyjne, gdy posiada jasn¹ i jednoznaczn¹ interpretacjê oraz pozwala na ³atwe warunkowe sterowanie wykonaniem poszczególnych czêœci programu. 4. Uwagi o realizacji algorytmu sterowania procesem o niepewnych parametrach na platformie PLC SIEMENS Ogólny schemat realizacji algorytmu sterowania procesem o niepewnych parametrach na platformie PLC SIEMENS oraz zadania realizowane podczas wyznaczania sygna³u steruj¹cego pokazane s¹ na rysunku 1. W schemacie przedstawionym na rysunku 1 PV oznacza wielkoœæ regulowan¹ odczytywan¹ z obiektu (czyli wyjœcie obiektu), a CV oznacza sterowanie podawane na obiekt (czyli wejœcie obiektu).
534 Krzysztof Oprzêdkiewicz Rys. 1. Ogólny schemat realizacji algorytmu sterowania procesem o niepewnych parametrach na platformie PLC SIEMENS Podczas implementacji algorytmu sterowania procesem o niepewnych parametrach na PLC regu³¹ jest tak e budowa aplikacji SCADA wspó³pracuj¹cej z aplikacj¹ steruj¹c¹. Zasady budowy i zadania systemu SCADA w systemie sterowania procesem o niepewnych parametrach zosta³y dok³adnie omówione w pracach: [9] i [11]. W przypadku sterowania procesem o niepewnych parametrach system SCADA, oprócz swych typowych funkcji, takich jak monitorowanie i nadzór procesu, archiwizacja danych, sterowanie rêczne itp., realizuje te funkcje dodatkowe, zwi¹zane z niepewnoœci¹ sterowanego procesu i algorytmem sterowania realizowanym na poziomie PLC. Spoœród tych funkcji najwa niejsze jest dostrojenie regulatora do procesu, które jest w tym przypadku ogólnym procesem o du ej z³o onoœci obliczeniowej. Z tego wzglêdu parametry regulatora powinny byæ wyznaczone na poziomie SCADA, a nastêpnie zapisane do pamiêci sterownika. 5. Przyk³ad Do badañ testowych jako obiekt regulacji wykorzystano laboratoryjny obiekt typu cieplnego, omawiany w wielu wczeœniejszych pracach autora, np. [6, 8, 9], którego uproszczony schemat pokazany jest na rysunku 2.
Implementacja algorytmów sterowania systemami o niepewnych parametrach... 535 Rys. 2. Uproszczony schemat obiektu regulacji Sygna³y: wejœciowy i wyjœciowy z obiektu s¹ znormalizowanymi sygna³ami pr¹dowymi 0 5 ma. Rozwa any obiekt mo e byæ opisany zarówno modelem dok³adnym w postaci równania przewodnictwa cieplnego, jak i modelem przybli onym w postaci transmitancji zastêpczej. W rozwa anym przypadku wspó³czynniki wymiany ciep³a w obiekcie s¹ znane jedynie w przybli eniu, natomiast dok³adnie znana jest lokalizacja czujnika pomiarowego i elementu grzejnego. Podstawowym modelem matematycznym obiektu jest równanie przewodnictwa cieplnego w oœrodku jednowymiarowym, które mo e byæ zapisane w postaci równowa nego, abstrakcyjnego, nieskoñczenie wymiarowego równania stanu w przestrzeni Hilberta (zob. [6, 8, 9]). Dla celów syntezy kompensatora dyskretnego równanie to mo e byæ przekszta³cone do postaci skoñczenie wymiarowego, dyskretnego równania stanu o postaci nastêpuj¹cej: + + + + + Q ( i+ 1) = A Q ( i) + B u ( i) + + + y () i = C Q () i (1) gdzie: Q + (i) oznacza temperaturê w i-tej chwili czasu oraz znanym, sta³ym punkcie zamocowania czujnika, A + jest macierz¹ stanu systemu, B + jest macierz¹ sterowañ oraz C + jest macierz¹ wyjœæ systemu, u + (i) oznacza sterowanie podawane na obiekt, y + (i) oznacza wyjœcie z obiektu, odczytywane za poœrednictwem czujnika, indeks + oznacza sygna³y i macierze systemu dyskretnego. W rozwa anym wypadku macierz stanu systemu A + jest macierz¹ diagonaln¹ o niepewnych parametrach. Wynika to z faktu, e w przypadku rozwa anego obiektu wartoœci wspó³czynników wymiany ciep³a w obiekcie s¹ znane jedynie w przybli eniu. Macierz sterowañ B + jest tak e macierz¹ o niepewnych parametrach, przy czym jej niepewnoœæ wynika z dyskretyzacji modelu (dla przypadku ci¹g³ego jest to macierz o znanych wspó³czynnikach), natomiast macierz wyjœæ C + jest macierz¹ o znanych parametrach, gdy jej postaæ nie ulega zmianie podczas dyskretyzacji systemu (zob. [8]).
536 Krzysztof Oprzêdkiewicz Dyskretny, odporny kompensator skoñczenie wymiarowy jest budowany w oparciu o parametry równania stanu (1), opisuj¹cego system, po jego dekompozycji na skoñczenie wymiarow¹ czêœæ wyk³adniczo niestabiln¹ (s³abo t³umion¹) i nieskoñczenie wymiarow¹ wyk³adniczo stabiln¹. Zadaniem kompensatora odpornego jest utrzymanie zadanej wartoœci wspó³czynnika t³umienia uk³adu zamkniêtego dla wartoœci niepewnych parametrów obiektu zawartych w zadanym przedziale. Zagadnienie syntezy takiego kompensatora zosta³o dok³adnie omówione w pracach [4] i [9]. W przypadku, gdy parametry systemu s¹ niepewne, wyznaczanie parametrów kompensatora jest doœæ z³o one obliczeniowo (zob. [4, 9]) i powinno byæ wykonane poza sterownikiem PLC (np. na poziomie systemu SCADA lub w œrodowisku MATLAB). Na poziomie CPU sterownika jest realizowany algorytm kompensatora, opisany nastêpuj¹co: + + w1 ( i+ 1) w 1 ( i) + + + + = Ak + B k y () i + M r + + w2( i+ 1) w2( i) (2) + + + + () = 1 1 () + u i K w i N r gdzie: + + + + + + + + A1 G1 C1 + B1 K1 G1 C 2 G + + 1 Ak =, Bk =. + + + B2K1 A2 0 Schemat blokowy kompensatora (2) pokazany jest na rysunku 3, a jego implementacja na PLC SIEMENS na rysunku 4. Synteza kompensatora (2) jest dok³adnie omówiona w pracach [4] i [9]. Rys. 3. Schemat blokowy dyskretnego kompensatora dynamicznego
Implementacja algorytmów sterowania systemami o niepewnych parametrach... 537 Rys. 4. Realizacja kompensatora na sterowniku PLC SIEMENS Rys. 5. Trendy wielkoœci regulowanej, sygna³u steruj¹cego, uchybu regulacji oraz wartoœci zadanej w uk³adzie z kompensatorem opisanym przez (2) Dla zbudowanej aplikacji steruj¹cej z kompensatorem opisanym przez (2) wykonano badania testowe. Przyk³adowy wynik testów pokazany jest na rysunku 5. Rysunek ten
538 Krzysztof Oprzêdkiewicz przedstawia przebiegi trendów wielkoœci regulowanej (PV), sygna³u steruj¹cego (CV), uchybu regulacji (ERR) przy skokowej zmianie wartoœci zadanej SP z 20% zakresu na 80% zakresu, przy czym wartoœæ 100% zakresu odpowiada znormalizowanemu sygna³owi pr¹dowemu 5 ma. Trendy zosta³y wyznaczone z u yciem systemu SCADA wspó³pracuj¹cego z aplikacj¹ steruj¹c¹ i zbudowanego zgodnie z za³o eniami omówionymi pracy [9]. 6. Uwagi koñcowe Uwagi koñcowe do pracy mo na sformu³owaæ nastêpuj¹co: algorytmy sterowania odpornego dla procesów o niepewnych parametrach mog¹ byæ bez problemu implementowane na platformach sprzêtowo programowych PLC; w przypadku koniecznoœci dostrojenia algorytmu do sterowanego procesu o niepewnych parametrach niezbêdne do tego celu obliczenia powinny byæ w ogólnym przypadku wykonywane poza sterownikiem PLC, np. na poziomie aplikacji SCADA, ze wzglêdu na ich doœæ znaczn¹ z³o onoœæ obliczeniow¹. Literatura [1] Berger H., Automating with STEP7 in STL and SCL. MCD Corporate Publishing 2001. [2] Grega W., Metody i algorytmy sterowania cyfrowego w uk³adach scentralizowanych i rozproszonych. UWND AGH, 2004. [3] Lewis R.W., Programming industrial control systems using IEC1131-3. Revised Edition. IEE 1998. [4] Mitkowski W., Oprzêdkiewicz K., Odporny dyskretny kompensator dynamiczny dla systemu parabolicznego o niepewnych parametrach. Automatyka, t. 11, z. 1 2, 2007, 203 215. [5] Mueller J., Controlling with SIMATIC. SIEMENS 2005. [6] Oprzêdkiewicz K., Przyk³ad identyfikacji obiektu parabolicznego. Zesz. Nauk. AGH Elektrotechnika, t. 16, z. 2, 1997, 100 106. [7] Oprzêdkiewicz K., Porównanie jêzyków programowania sterowników PLC pod k¹tem spe³nienia wymagañ czasu rzeczywistego. PAR. Pomiary Automatyka Robotyka, r. 10, nr 12, 2006, 5 9. [8] Oprzêdkiewicz K., Dyskretny system paraboliczny o niepewnych parametrach. Przegl¹d Elektrotechniczny, nr 9, 2008, 179 187. [9] Oprzêdkiewicz K., Praktyczne sterowanie systemami dynamicznymi z widmem punktowym i parametrami przedzia³owymi. UWND AGH 2008. [10] Oprzêdkiewicz K., Odporny regulator PID dla systemu dynamicznego o niepewnych parametrach. Przegl¹d Elektrotechniczny, nr 3, 2009, 22 27. [11] Oprzêdkiewicz K., System SCADA we wspó³pracy ze specjalnym algorytmem sterowania. Pomiary Automatyka, Robotyka (PAR), czerwiec 2009 (w przygotowaniu).