Analiza obwodu regulacyjnego dla liniowego procesu

Kontynuując rozważania dotyczące możliwości przewidywania zachowania się obiektu regulacji o liniowej charakterystyce za pomocą obliczeń matematycznych, przybliżamy sposób działania regulatora komputerowego.

Powtarzalność odpowiedzi obiektu liniowego na sygnały korygujące pozwala regulatorowi przewidywać przyszłe zachowanie się obiektu na bieżący impuls wymuszający. Zagadnienie to było przedmiotem artykułu ?Przemysłowe regulatory przewidują przyszłość? (Control Engineering Polska nr 7/2008). Wykorzystując analizę opisaną w tamtym artykule, zobrazujmy tok postępowania przy matematycznym wyliczaniu oczekiwanej wartości odpowiedzi regulowanego parametru na ciąg wymuszeń płynących z komputerowego regulatora. Na razie ograniczamy się do rozważania obwodu otwartego (nie uwzględniamy sygnału sprzężenia zwrotnego).
Krok pierwszy: regulator wysyła impuls korygujący w postaci pojedynczego impulsu o wartości jednej jednostki (u = 1) i czasie trwania ?t sekundy.

Krok drugi: odpowiedzią obiektu jest zmiana regulowanego parametru, ma charakter ciągły, trwa dłuższy czas i zwykle jest opóźniona.
Krok trzeci: ciągłą odpowiedź obiektu zastępujemy szeregiem wartości liczbowych o wartościach h(0) ? dla chwili 0, h(1) ? po upływie czasu ?t, h(2) ? po czasie 2?t, h(3) i dalsze mierzone w odstępach co ?t [s]. Zbiór liczb będących odpowiedzią na pojedynczy, jednostkowy sygnał wymuszający regulatora oznaczmy literą H. Zatem jego wartość można wyrazić wzorem H = h(0), h(1), h(2), …  
Krok czwarty: regulator wysyła szereg impulsów korygujących o amplitudach u (różnych od 1) i mających w kolejnych chwilach (0, 1?t, 2?t …) wartości u(0), u(1), u(2) itd. Ten zbiór impulsów korygujących oznaczmy literą U (tak, jak dla wymuszeń). Zapisujemy ten zbiór jako U = u(0), u(1), u(2), u(3), …
Krok piąty: obliczamy wartość zmiany regulowanego parametru (odpowiedzi obiektu) wiedząc, że:

  • wartość odpowiedzi ?y? w chwili n?t na jeden impuls wymuszający, jest iloczynem amplitudy tego impulsu u(x) oraz odpowiedzi h(n) na jednostkowe wymuszenie (proporcjonalność), 
  • całkowita zmiana wartości regulowanego parametru y(n) w danej chwili (n?t) jest sumą (zasada superpozycji) wszystkich odpowiedzi na kolejne wymuszenia, od pierwszej (w chwili 0) do ostatnio ujawnionej – po czasie zwłoki.

Możemy zatem obliczyć odpowiedź regulowanego parametru Y jako wynik mnożenia przez siebie zbiorów H i U, czyli Y =  H*U, przy czym symbol * jest oznaczeniem operatora zwijającego, opisanego w poprzednim artykule. Należy pamiętać, że odpowiedź obiektu Y jest kolejnym zbiorem obejmującym odpowiedzi y(0), y(1), y(2) itd. w kolejnych chwilach, te zaś są sumami odpowiednich iloczynów, jak to jest opisane poniżej.

y(0) = u(0) ? h(0)
y(1) = u(0) ? h(1) + u(1) ? h(0)
y(2) = u(0) ? h(2) + u(1) ? h(1) + …
+ u(2) ? h(0)

i postępując analogicznie wartość y(k) wyliczymy jako:

y(k) = u(0) ? h(k) + u(1) ? h(k?1) + ?
+ u(k?1) ? h(1) + u(k) ? h(0)

Jeżeli regulowany proces jest prawdziwie liniowy i nie działają na niego żadne uboczne wpływy, wtedy policzone powyżej wartości powinny odpowiadać prawdziwym, zmierzonym wartościom regulowanej zmiennej.
Jako rezultat wprowadzonego przez regulator wymuszenia korygującego. Uzasadnione jest też działanie odwrócone, a mianowicie, że równania opisane w piątym kroku mogą posłużyć (przy otwartej pętli regulacyjnej) do wyliczenia wartości chwilowych sygnałów korygujących z regulatora (U), aby wymusić rezultat w postaci określonej (np. uzyskanej z pomiarów) sekwencji zmian regulowanego parametru (Y). Należy tylko zapis ciągły z rejestratora przedstawić w postaci chwilowych wartości regulowanej zmiennej, a następnie dokonać takich przeliczeń, aby uzyskać z nich wartości składające się na zbiór U.  
Z przytoczonych powyżej równań oznaczonych literami ?a? do ?d? wynika, że:
           y(0)
u(0) = ____
           h(0)
             1
u(1) = ____ ? [y(1) ? u(0) ? h(1)]
           h(0)
z kolei:
             1
u(2) = ____ ? [y(2) ? u(0) ? h(2) ? …
           h(0)
           ? u(1) ? h(1)]
i podobnie dla impulsu w chwili k otrzymamy:
             1
u(2) = ____ ? [y(k) ? u(0) ? h(k) ? …
           h(0)
           ? u(1) ? h(k?1) ? u(k?1) ? h(1)]

Powyżej przedstawiona symboliczna procedura obliczeń, znana jako operator rozwijający, jest w rzeczywistości bardzo długim dzieleniem poszczególnych liczb tworzących zbiory Y i H, aby otrzymać wartości zbioru U. Przykład takich obliczeń jest przedstawiony w dalszej części artykułu (rys. 3.).
Analiza obwodu zamkniętego
W praktycznym zastosowaniu na obiekcie regulatory dla wygenerowania sygnału korygującego używają bardziej skomplikowanych obliczeń, niż w przypadku obwodu otwartego. Nie zmienia to faktu, że obliczenia z użyciem rachunku operatorowego mogą być również używane do analizy działania zamkniętego obwodu regulacji. Dla przykładu, rozważmy klasyczny obwód regulacji z zamkniętą pętlą pokazany na rys. 1. Zmienna procesowa (regulowany parametr) jest próbkowana w regularnych odstępach czasu, a wynik każdego pomiaru jest konfrontowany (w węźle
sumującym) z wartością zadaną tej zmiennej. W ten sposób wyliczana jest sekwencja wartości błędu (uchybu regulacji). Na podstawie wielkości i znaku uchybu (w kolejnych momentach) regulator generuje sekwencję sygnałów wyjściowych wymuszających na obiekcie zdążanie do wartości zadanej.  

Takie wymuszające działanie regulatora spotyka się jednak z niekontrolowanymi zakłóceniami D oddziaływującymi na proces. To powoduje, że wartość mierzoną regulowanego parametru Y można przedstawić wzorem Y = U*H + D (1). Jeżeli działanie regulatora ma charakter liniowy (zwykle tak jest), to jego sygnał wyjściowy opisuje równanie U = G * E (2). Wiemy, że uchyb regulacji jest różnicą wartości zadanej i wartości mierzonej. To znaczy, że zbiór wartości E wynika z odejmowania elementów zbioru Y od elementów zbioru S, zatem E = S ? Y (3). Podstawiając w wyrażeniu (2) równowartość E ze wzoru (3) otrzymujemy: U = G * (S -Y). Następnie, podstawiając to wyrażenie do wzoru (1) otrzymamy: Y = G * H * (S – Y) + D. Kolejne przekształcenia doprowadzają nas do równania końcowego mającego postać:

          G * H                     1
Y = __________ * S + __________ * D
       1 + G* H          1 + G * H


Powyższe wyrażenie przewiduje kształtowanie się wartości regulowanego parametru Y, jako rezultat dowolnej kombinacji wartości zadanych S i ubocznych zakłóceń D w procesie, który w otwartej pętli regulacyjnej odpowiada wartościami H na impulsy korygujące regulatora G (ze sprzężeniem zwrotnym). Jest to podstawowe matematyczne narzędzie w teorii regulacji służące do projektowania regulatorów oraz do analizowania działań zamkniętych obwodów regulacyjnych.
Iloraz z pierwszego członu tego wyrażenia
 
         G * H       
TS = __________
       1 + G * H 

nazywany jest funkcją transferu, oznaczany zazwyczaj symbolem TS. Opisuje zależność między wartością zadaną a zmienną regulowaną. Ta funkcja określa, w jaki sposób wartość regulowanego parametru Y będzie reagowała na określoną sekwencję wartości zadanych S, gdy nie występują zakłócenia D. Bowiem dla D = 0 drugi człon wyrażenia ma wartość zerową, a wtedy Y = TS * S.   
Zbiór wartości funkcji transferu TS jest zatem również impulsową odpowiedzią zamkniętego obwodu regulacji. Ukazuje bowiem, jaki przebieg miałby regulowany parametr, gdyby impuls jednostkowy został zastąpiony wartością zadaną, a regulator byłby bezpośrednio sprzężony z obiektem.
Ten fakt wykorzystuje się jako test stabilności obwodu regulacyjnego z zamkniętą pętlą sprzężenia zwrotnego. W przypadku, gdy znane są zarówno impulsy wysyłane przez regulator, jak też odpowiedzi obwodu otwartego, do obliczenia wartości funkcji transmisji TS  może być użyty operator zwijający wartości zbiorów G * H. Gdy dadzą się obliczyć wszystkie elementy zbioru TS, będzie to oznaczało, że obwód z zamkniętą pętlą jest stabilny. Rozumiemy przez to, że kolejne elementy zbioru odpowiedzi obiektu są coraz mniejsze, zdążające do zera. Co jest logiczne, bo po ustąpieniu wymuszenia obiekt stabilny powraca do stanu przed pobudzeniem. W przeciwnym razie, gdy elementy tego zbioru będą stale rosnąć i to bez względu na wartości S, będzie to znakiem, że obwód regulacji z zamkniętą pętlą jest niestabilny (patrz rys. 2.).  
Zauważmy teraz, że jeżeli wartość zadana S będzie równa zero, wtedy pierwszy człon równania (4) będzie miał wartość zerową. Pozostaje tylko człon drugi 

           1       
Y = __________ * D
       1 + G * H 

zaś oznaczajac symbolem

            1       
YD = __________ * D
       1 + G * H
 
zapisujemy równanie krócej, że Y = TD * D. Oznacza to, że regulator będzie wyłącznie przeciwdziałał skutkom zakłóceń. Symbol TD oznacza kolejną funkcję transferu pomiędzy zbiorem zakłóceń D a regulowaną zmienną Y. Ta funkcja pozwala określić, jaki przebieg będzie miał regulowany parametr w obwodzie zamkniętym w odpowiedzi na impuls zakłócający o wartości jeden. Zbiór wartości funkcji TD także można wyliczyć za pomocą operatora zwijającego dla G * H. Niemniej będzie on miał inne wartości niż funkcja TS, jednak ten sam charakter. Oznacza to, że odpowiedź obwodu regulacyjnego na zakłócenie jest inna niż na wartość zadaną. Jeśli jednak obwód jest stabilny, to będzie pozostawał nim nadal, niezależnie od sposobu pobudzenia.  
Funkcje transferu TS  i TD  można także wykorzystać przy budowaniu regulatora, jeżeli zbiór H jest już znany. Nawet gdy zbiór G nie jest jeszcze określony. Na przykład, jeśli regulator będzie przeznaczony głównie do reagowania na zmiany wartości zadanej, to funkcja TS będzie wyznaczała właściwe wartości, aby uzyskać pożądaną odpowiedź na zmianę wartości zadanej. Regulator będzie wtedy potrzebował, aby jego sygnały wyjściowe były określone przez obliczenie zgodnie ze wzorem

            TS       
G = __________
       H * (1?TS)

Podobnie, jeśli chcemy, aby regulator tylko eliminował zakłócenia, wtedy sygnały korygujące powinny być obliczone ze wzoru

       1 _ TD       
G = _______
       H * TD


Budowanie regulatora, który dokładnie wygeneruje otrzymaną z obliczeń sekwencję impulsów, jest skomplikowane i zawiera pewne ryzyko. Jednak istnieją metody matematyczne, znane pod wspólną nazwą teorii przekształceń, które są tu pomocne. Podajmy prosty przykład: nieskończony ciąg cyfr 1,14285 … nie jest niczym innym, jak wynikiem dzielenia jednościprzez 7, co łatwo sprawdzić. Zatem bez popełnienia znaczącego błędu można wartość wyrażoną ową nieskończoną liczbą zastąpić krótkim zapisem 1/7. Podobny zabieg zastosujmy teraz na wybranych zbiorach, w tym przypadku w celu przybliżenia operatora rozwijania. Dla uproszczenia weźmy zbiory o możliwie małej liczbie elementów znaczących (reszta to będą zera). Załóżmy, że zbiór H (odpowiedź obiektu na wymuszenie) to nieskończenie długi ciąg liczb całkowitych lub ułamkowych, równy: H = 16, 4, 1, ?, … Taki zapis zastąpimy teraz formą ilorazu (jak przy 1/7), będzie to H = A/B. Przyjmijmy też, że A = 16, 0, 0, 0, … natomiast B = 1, – ?, a pozostałe elementy B to zera, więc ich nie zapisujemy. Przykład podany na rys. 3. (tabela rozwijania) wykazuje, że jeśli dzielną A podzielimy przez dzielnik B w sposób znany nam od lat szkolnych przy dzieleniu liczb, to rzeczywiście wynikiem będzie wyżej przyjęty zbiór H. W rzeczywistości bowiem operator rozwijania i dzielenie są w swej istocie równorzędnymi arytmetycznymi działaniami. Uproszczona wersja H może też być poddana przekształceniu Z, służąc analizie zachowania się obwodu zamkniętego. Bez potrzeby przetwarzania nieskończenie długich ciągów danych. Niestety, zagadnienie przekształcenia Z wymaga znacznie poważniejszej wiedzy matematycznej pozwalającej na zrozumienie, w jaki sposób się go dokonuje. Trzeba też wiedzieć, jak i dlaczego to przekształcenie może być również zastąpione innymi, na przykład bardziej znanymi przekształceniami Laplace?a lub Fouriera. Oczywiście pod warunkiem, że przedział czasowy ?t impulsów i próbek zdąża do zera.

Vance J. Van Doren  

Artykuł pod redakcją inż. Józefa Czarnula