Regulatory PID są praktycznie wszechobecne w systemach i układach sterowania, jednak wciąż wiele im brakuje do ideału.
Rozmaite ograniczenia skuteczności teoretycznego algorytmu PID w rzeczywistych aplikacjach sterowania ze sprzężeniem zwrotnym wynikają przede wszystkim z niedokładności. Czasami sterownik nie ma pełnych informacji na temat sterowanego procesu, zatem nie wiadomo, jaki jest czas jego trwania czy zakres oddziaływania sterowania. Niekiedy brakuje informacji zwrotnych dotyczących tego, czy sterowanie przebiega prawidłowo, jak można na przyszłość poprawić ustawienie czujników, jakie są ograniczenia fizyczne wynikające z zastosowanej technologii sensorów czy jaki jest poziom szumów, sygnałów zakłóceń. Wszystkie te zmienne procesowe są trudne do zmierzenia.
Szczególnie problematyczny dla członu różniczkującego regulatora PID jest wspomniany pomiar poziomu szumów czy sygnałów zakłóceń. Sterowanie odbywa się przez policzenie ostatniej zmiany wartości błędu (różnicy między nastawą a zmienną sterowaną) i pomnożenie przez wzmocnienie części różniczkującej w członie D.
Gdy losowe impulsy elektryczne lub inne zakłócenia na wyjściu z czujnika powodują, że sterownik odczytuje fikcyjne zmiany sterowanej zmiennej, oddziaływanie członu różniczkującego narasta lub obniża się w sposób nieprzewidywalny. Jeżeli szumy są szczególnie nasilone lub wzmocnienie członu różniczkującego jest bardzo wysokie, poza oczywistym, chaotycznym oddziaływaniem sterownika może dojść nawet do uszkodzenia siłownika lub innych urządzeń wykonawczych w trakcie sterowanego procesu.
Filtrowanie pomiarów zmiennej procesowej
Najprostszymrozwiązaniem tego problemu jest po prostu zmniejszenie wartości wzmocnienia części różniczkującej w przypadku występowania znacznych zakłóceń w sygnałach pomiarowych. Jednak w ten sposób ogranicza się skuteczność działania regulatora. Czasami pomaga poprawienie ustawienia sensora lub zastosowanie matematycznego filtra pomiaru wartości sterowanej zmiennej. Takie filtrowanie polega na uśrednieniu wartości odczytywanych z czujnika, aby lepiej estymować aktualną wartość zmiennej. Jednakże takie filtry też mają ograniczenia. Po pierwsze ? działają tylko wtedy, gdy zakłócenia pomiaru są w pełni losowe ? czasem zwiększając, a czasem zmniejszając odczyt w równym stopniu. Jeżeli dodatnie i ujemne impulsy pojawiają się z podobną częstotliwością, filtr wyrówna te zakłócenia. Jeżeli jednak odchylenia na wyjściu z czujnika występują tylko w jednym kierunku, wtedy filtrowanie zmiennej będzie miało niebezpieczną tendencję do zawyżania lub zaniżania ustawień sygnałów dla sterownika.
Filtracja zmiennych sterowanych dodatkowo spowalnia czas reakcji sterownika. Jeżeli filtr jest skonfigurowany tak, aby uśredniać szczególnie długie sygnały na wyjściu z czujnika, poprawnie zredukuje wpływ losowych impulsów, ale z tendencją do pomijania zmian w rzeczywistej wartości zmiennej. Do filtra muszą docierać informacje o utrzymujących się zmianach na wyjściu czujnika, zanim wartość zmiennej procesowej zostanie nadpisana w sterowniku. Sterownik nie powinien ?widzieć? i reagować na nieistotne, nagłe, krótkotrwałe zmiany wartości.
Pewnym kompromisem jest możliwość konfiguracji regulatorów PID w taki sposób, by filtrowały zmienną procesową w różnym stopniu, w zależności od wykonywania obliczeń członu proporcjonalnego, całkującego i różniczkującego. Działania członu różniczkującego wymagają filtrowania w największym stopniu, jako że właśnie w nim zakłócenia w pomiarach powodują najwięcej problemów. Dla członu proporcjonalnego mały poziom filtrowania może być korzystniejszy (krótsze sygnały na wyjściu z czujnika), gdyż regulator będzie szybciej reagował na te krótkie zmiany. A ponieważ człon całkujący sam w sobie działa jak filtr, nie wymaga stosowania dodatkowego filtra.
Alternatywną metodą jest filtrowanie poziomu oddziaływania sygnału sterującego zamiast zmiennej procesowej. Zakłócenia sygnału pomiarowego są obecne na wejściu do regulatora PID (co ważne, do członu D), jednak filtrowanie na wyjściu powoduje, że do urządzenia wykonawczego dostarczany jest już ?wygładzony? sygnał sterujący. Filtrowanie takie pozwala dodatkowo spowolnić oddziaływanie sygnału sterującego na proces, aby zapobiec drastycznym wahaniom w jego zachowaniu, gdy ten jest szczególnie wrażliwy na ruchy urządzenia wykonawczego.
Z drugiej zaś strony, takie filtrowanie może sprawić, że cały proces będzie trwał dłużej, niż powinien. Oczekując większej wydajności przy sterowaniu w zamkniętej pętli, warto spróbować ponownie dostroić sterownik, aby ten działał bardziej agresywnie ? wówczas układ nie ?zorientuje się?, że problem pochodzi z tłumienia przez filtr, a nie jest rzeczywistym impulsem z procesu. Zdarzają się sytuacje, w których dwóch operatorów bezwiednie stosuje jedno i drugie rozwiązanie jednocześnie ? strojenie sterownika i filtrowanie poziomu oddziaływania sterującego. Oczywiście zaczną one znosić się wzajemnie.
Skok przebiegu różniczkowania
Przyjrzyjmy się dwóm sterownikom wykorzystującym regulator PID, sterującym tym samym procesem i wykorzystującym ten sam zestaw wartości zadanych. W każdym oknie czasowym pomiędzy próbkowaniem sygnału sterownik A oblicza pochodną (człon różniczkujący) dla sygnału sterującego jako ostatnią zmianę błędu (różnica wartości zadanej i aktualnej wartości sterowanej zmiennej). Sterownik B natomiast wykonuje te obliczenia na podstawie pochodnej odwrotności wartości zmiennej sterowanej (odjęcie wartości PV od zera zamiast od SP). Zgodnie z tym przykładem, jeżeli proces przebiega relatywnie wolno, obie metody skierują przebieg zmiennej w pobliże wartości zadanej mniej więcej z tą samą trajektorią. Jednakże sterownik A ma tendencję do dużych, niepożądanych ?pików? wartości zadanej ? co widać na diagramie w czasie 1, 2 oraz 3. Sterownik B nie ma ?pików? w przebiegu, a generuje praktycznie taki sam zakres oddziaływania sterowania.

<—newpage—>Pasmo nieczułości (deadband)
Skutki występowania zakłóceń w pomiarach mogą być również ograniczone przez ignorowanie nieistotnych zmian na wyjściu z czujników ? przy założeniu, że są to artefakty pozostałe po szumach, zbyt małe, by na ich podstawie sterownik wprowadzał jakiekolwiek zmiany poziomu oddziaływania sterującego. Dopóki błąd pomiędzy zmienną procesową a zadaną wartością utrzymuje się w znanym, dopuszczalnym zakresie nieczułości (deadband), regulator PID po prostu na niego nie reaguje.
Sztuką jest określenie, jaka zmiana wartości błędu będzie wystarczająco mała, aby mogła zostać zignorowana. Jeżeli zostanie ustawiony zbyt duży zakres nieczułości, wówczas istnieje ryzyko przeoczenia znaczących zmian w zachowaniu sterowanego procesu. Z drugiej zaś strony, jeżeli pasmo nieczułości będzie zbyt wąskie, sterownik zacznie niepotrzebnie reagować na każdy, nawet fikcyjny impuls pojawiający się na wyjściu czujników, nawet jeżeli rzeczywista wartość zmiennej procesowej osiągnie już wartość zadaną.
Niestety, wykorzystując pasmo nieczułości, pomija się niewielkie zmiany nastaw. Oznacza to, że jeżeli operator będzie próbował zmienić zakres roboczy dla wykonywanego procesu (przenieść go na niższy lub wyższy poziom, nachodzący na obecne pasmo nieczułości), wynikiem stanie się zmiana błędu, która zostanie zignorowana przez sterownik. Jeżeli pasmo nieczułości będzie zbyt szerokie, ucierpi na tym precyzja sterownika. Stanie się więc np. możliwe obniżenie temperatury w chłodnio 5 stopni, ale o 1 już nie.
Filtrowanie
Filtrowanie numeryczne uśrednia sygnał na wejściu w przedziale od 0 do k: Fin(0) do Fin(k), generując sygnał na wyjściu Fout(k+1).
Jak widać w równaniu poniżej, najbardziej popularne algorytmy filtrowania ? filtry pierwszego rzędu ? polegają na wprowadzeniu współczynnika ? i przypisaniu
wartości sygnału w danej iteracji (k+1)
jako sumy wartości proporcjonalnie sygnału na wejściu i wyjściu w poprzedniej iteracji (k):
Fout(k+1) = ?Fout(k) + (1??) Fin(k)
Współczynnik ? przyjmuje wartości od 0 do 1 i określa, w jakim stopniu sygnał na wejściu poprzedniej iteracji będzie wpływał na operacje uśredniania, wg równania poniżej:
Fout(k+1) = (1??) Fin(k) + ?(1??) Fin(k?1) +
+ ?2 (1??) Fin(k?2) +…
Dla ? bliskiego 0 uzyskamy równanie dla filtra A:
Fout(k+1) = Fin(k)
co daje równanie na wyjściu bardzo zbliżone do tego na wejściu, z ograniczonym filtrowaniem.
Przyjmując natomiast ? bliskie 1, jak w filtrze B, uzyskujemy:
Fout(k+1) = Fout(k)
zatem zmiany na wyjściu zachodzą wolno, ale zawierają długą sekwencję wartości do uśredniania, czyniąc filtrowanie maksymalnie efektywnym.

Współczynnik ? to nic innego jak stała czasowa filtra, określająca, jak długo trwa osiągnięcie stanu równowagi, jeżeli sygnał na wyjściu pozostaje niezmienny (szybkość zaniku). Inna nazwa dla współczynnika ? to ?współczynnik wygładzania? ? k. Określa, jak filtrowany jest dany przebieg. Stosując powyższe dla regulatora PID ? do zmiennej procesowej, nastawy czy oddziaływania sterowania, numeryczne filtrowanie może zredukować wpływ zakłóceń pomiarów, jednak kosztem responsywności układu w zamkniętej pętli lub odwrotnie, w zależności od dobranej wartości ?.
Skoki przebiegu różniczkowania
Czasami można poprawić efektywność regulatora PID, świadomie ignorując zmiany wartości zadanej. Po raz kolejny za działanie odpowiedzialny jest człon różniczkujący. Przypomnijmy, że działania w członie różniczkującym mogą skutkować dodaniem skoku w przebiegu oddziaływania sygnału sterującego ? ?piku?, gdy wartość błędu zmienia się gwałtownie podczas zmiany wartości zadanej. Zmusza to sterownik do natychmiastowej reakcji, bez czekania na akcje ze strony członu proporcjonalnego czy całkującego. W porównaniu do regulatora składającego się tylko z dwóch członów (PI), pełen trójczłonowy regulator PID pozwala przewidywać poziom oddziaływania sterowania, jaki będzie potrzebny do utrzymania zmiennej procesowej o nowej wartości zadanej ? szczególnie wówczas, gdy sterowany proces jest szybkozmienny.
Jednak zbyt drastyczne skoki w przebiegu sygnału sterującego mogą spowodować więcej szkody niż pożytku ? przykładowe aplikacje to: sterowanie temperaturą w pomieszczeniu lub inne czynności wymagające powolnych i ciągłych zmian wartości zmiennej procesowej. Podmuch gorącego powietrza po każdej regulacji termostatu byłby co najmniej niewygodny dla osób przebywających w danym pomieszczeniu, nie wspominając o obciążeniu dla urządzenia grzewczego.
W takich przypadkach korzystne jest całkowite zaniechanie działania członu różniczkującego albo liczenie pochodnej z odwrotności zmiennej procesowej, zamiast wprost z wartości błędu pomiędzy nastawą a rzeczywistą wartością zmiennej. Wówczas, jeżeli wartość zadana jest stała, oba sposoby liczenia dadzą takie same wyniki. Jeżeli natomiast wartość zadana zmienia się stopniowo, obliczenia pozostaną z początku takie same, lecz później, licząc pochodną z wartości odwrotnej, pojawi się możliwość wyeliminowania skoków wartości pochodnej błędu (patrz: ramka Skok przebiegu różniczkowania).
?Piki? wywołane zmianą wartości zadanej mogą być tak samo odfiltrowane, jak wspomniane wcześniej zmienne procesowe czy zakres oddziaływania sterowania. Jednak filtr wartości zadanej nie tyle usuwa zakłócenia przebiegu, co uśrednia tendencję do reagowania na nagłe zmiany ? te pojawiają się znacznie wolniej. Gdy przeprowadzane jest filtrowanie krokowych zmian wartości zadanej, sterownik również reaguje krokowo ? nagłe zmiany w wartości błędu są eliminowane, nie tworząc już ?pików? w przebiegu.
Filtry wartości zadanych są także wykorzystywane w sterowaniu kaskadowym. Filtrowanie wartości zadanej odbywa się w wewnętrznej pętli, a przebiegu oddziaływania sterowania ? w pętli zewnętrznej.
Jak widać, dostępne jest coraz szersze spektrum metod do zwalczania problemów, jakie niesie ze sobą wykorzystywanie regulatorów PID w układach sterowania.
Autor: Vance VanDoren
Tekst pochodzi z nr 5/2016 magazynu "Control Engineering". Jeśli Cię zainteresował, ZAREJESTRUJ SIĘ w naszym serwisie, a uzyskasz dostęp do darmowej prenumeraty w formie drukowanej i/lub elektronicznej.


















































