Sterowniki Programowalne SP Wykad 10 Regulator PID w









































- Slides: 41
Sterowniki Programowalne (SP) – Wykład 10 Regulator PID w sterownikach programowalnych GE Fanuc WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI – KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok III, semestr V Opracował: Jarosław Tarnawski, Aktualizacja: Bartosz Puchalski 21. 10. 2016
Cel/zakres wykładu • Przypomnienie zasad sterowania w pętli zamkniętej – czyli regulacji • Przypomnienie podstawowych informacji na temat regulacji PID • Zapoznanie się z blokami regulacji PID (PID_IND, PID_ISA) dostępnymi w sterownikach GE Fanuc • Strojenie PID 2
Cel/zakres wykładu • Ilustracja budowy układu sterowania z regulatorem PID w PLC Dla rzeczywistego fizycznego obiektu podłączanego przez we/wy analogowe z wykorzystaniem modułu ALG 442 Dla obiektów symulowanych: – Dla obiektu symulowanego w PLC (technika symulacji pętli programowej ang. Software-In-the-Loop) – Dla obiektu symulowanego w SCADA In. Touch (technika symulacji pętli programowej ang. Software-In-the-Loop) – Dla obiektu symulowanego w Matlab/Simulink/SDRT i z wykorzystaniem kart akwizycji danych (technika symulacji w pętli sprzętowej ang. Hardware-in-the-Loop) 3
Klasyczny układ regulacji Process variable Set Point Control Variable CV SP r(t) + Σ e(t) Regulator u(t) z(t) Obiekt PV y(t) – wielkość wyjściowa (regulowana), u(t) – sygnał sterujący (nastawiający), r(t) – wartość zadana, e(t) – uchyb sterowania, z(t) – zakłócenie 4
PID-ISA (ang. Ideal Standard Algorithm) • 5
PID-IND (ang. INDependent algorithm) • 6
Blok PID • Blok ten na podstawie dwóch wartości: punktu ustalonego (wartości zadanej – SP) i bieżącej wartości wielkości regulowanej (PV) oraz korzystając z zadanych parametrów bloku, oblicza taką wartość sygnału sterującego (nastawiającego), która spowoduje zmniejszenie lub wyeliminowanie uchybu, czyli odchylenia wielkości regulowanej od wartości zadanej (punktu pracy). PID SP PV CV Parametry: Kp Ki Kd lub Kc Ti Td 7
Blok regulatora PID w sterownikach GEFanuc Język drabinkowy (LD) Język funkcjonalnych schematów blokowych (FBD) 8
Blok regulatora PID w sterownikach GEFanuc SP – wartość zadana PV – wielkość regulowana CV – sygnał sterujący MAN – tryb pracy manualnej UP – w trybie ręcznym zwiększenie sygnału sterującego DN – w trybie ręcznym mniejszenie sygnału sterującego 9
Blok regulatora PID w sterownikach GEFanuc w języku drabinkowym (LD) 10
Blok regulatora PID w sterownikach GEFanuc • Blok funkcyjny PID wykorzystuje 40 rejestrów w pamięci sterownika do zapamiętywania zbioru parametrów regulatora. • Wszystkie parametry są 16 bitowymi liczbami całkowitymi (w celu zapewnienia kompatybilności z 16 bitowymi analogowymi wielkościami regulowanymi). • Pozwala to na zastosowanie dla wielkości regulowanych pamięci adresowanej przez %AI oraz pamięci adresowanej przez %AQ dla sygnału sterującego. • PV i CV mogą przyjmować wielkości z przedziału od -32000 lub 0 do 32000. W ten sposób zapewniamy skalowanie 1 do 1 z rejestrami wejść/wyjść analogowych. 11
Blok regulatora PID w sterownikach GEFanuc 12
Obliczenia dla bliku PID w sterownikach GEFanuc • Uchyb = (SP - PV) lub (PV-SP) • dt = Bieżący czas sterownika - czas, który upłynął od momentu ostatniego wykonania algorytmu PID • Blok różniczkujący = (Uchyb - Poprzedni uchyb)/dt lub (PV - poprzednia wartość PV)/dt 13
Obliczenia dla bliku PID w sterownikach GEFanuc • Algorytm PID-IND • Algorytm PID-ISA 14
Rodzaje regulatorów PID • Algorytm PID o niezależnych wyrazach (PID_IND) oblicza sygnał ustawiający jako: Sygnał ustawiający regulatora PID = = Kp * Uchyb + Ki * Uchyb * dt + Kd * pochodna + CV Bias • Standardowy algorytm ISA (PID_ISA) korzysta z innego wzoru: Sygnał ustawiający regulatora PID = = Kc * (Uchyb + Uchyb * dt/Ti + Td * pochodna) + CV Bias 15
Parametry regulatora – 40 rejestrów 16
Parametry regulatora – 40 rejestrów 17
Parametry regulatora – 40 rejestrów 18
Rodzaje regulatorów PID 19
Współczynnik wzmocnienia proporcjonalnego Kp lub Kc (%Ref+0005) • PID_IND: Określa zmianę sygnału sterującego (nastawiającego) CV, która odpowiada zmianie uchybu o 100 jednostek bezwymiarowych PV. Wprowadzana jest jako wartość całkowita reprezentująca liczbę z dwoma miejscami po przecinku. Jest wyświetlana jako stosunek %/% z dokładnością do 0. 01. • Przykładowo parametr Kp równy 450 będzie wyświetlany jako 4. 50 i będzie powodował zmianę sygnału CV wynoszącą Kp*uchyb/100 lub 450*uchyb/100. • PID_ISA: Tak samo jak dla PID_IND. Jest to pierwsza nastawa zmieniana przy strojeniu regulatora. 20
Współczynnik wzmocnienia różniczkowego Kd lub czas wyprzedzenia Td (%Ref+0006) • • PID_IND: Określa zmianę sygnału sterującego (nastawiającego) CV, która odpowiada zmianie uchybu lub wielkości wyjściowej (regulowanej) PV o 1 jednostkę bezwymiarową PV co każde 10 ms. Wprowadzana jest jako wartość całkowita, która reprezentuje czas w sekundach z dokładnością do 0. 01. Wartość 0. 01 to inaczej 10 ms. Wielkość wyświetlana w sekundach z dwoma miejscami po przecinku. Przykładowo jeżeli wprowadzone Kd jest równe 120 to jest wyświetlane jako 1. 20 Sec. Powoduje zmianę w sygnale sterującym wynoszącą Kd*przyrost uchybu/przyrost czasu lub 120*4/3 jeżeli uchyb zmienił się o 4 jednostki bezwymiarowe PV w przeciągu 30 ms. Kd może zostać użyte aby przyspieszyć odpowiedź układu regulacji lecz jest podatne na szum i zakłócenia. Wrażliwość na szumy może zostać ograniczona poprzez wprowadzenie filtru dolnoprzepustowego w członie różniczkującym. PID_ISA: Czas wyprzedzenia algorytmu PID-ISA wyrażony w sekundach, traktowany tak samo jak współczynnik wzmocnienia różniczkowego Kd. Powoduje zmianę w CV wynoszącą Kc*Td*przyrost uchybu/przyrost czasu. 21
Współczynnik wzmocnienia całkowego Ki lub czas zdwojenia Ti (%Ref+0007) • • • PID_IND: Szybkość zmian sygnału sterującego (nastawiającego) CV na sekundę wtedy gdy uchyb jest równy 1 jednostce bezwymiarowej PV. Wprowadzana jako wartość całkowita reprezentująca szybkość zmian z dokładnością do tysięcznych części. Tysięczna wartość oznacza 0. 001 powtórzenie na sekundę, również w ten sposób wyświetlana (Repeats/s). Przykładowo jeżeli Ki zostało wprowadzone jako 1400 to zostanie wyświetlone jako 1. 400 powtórzeń/sekundę. Wartość 1400 będzie powodować szybkość zmian jako Ki*uchyb*przyrost czasu, czyli 1400*20*50/1000 = 1400 dla wartości uchybu wynoszącej 20 jednostek bezwymiarowych PV oraz czasu wykonywania jednego cyklu sterownika równemu 50 ms (czas próbkowania algorytmu PID ustawiony na 0) PID_ISA: Czas zdwojenia dla algorytmu ISA podawany w sekundach. Wartość Ti musi zostać odwrócona i wprowadzona jako parametr Ki tak jak w algorytmie PID_IND. Wyjście regulatora w tym przypadku to Kc*(1/Ti)*uchyb*przyrost czasu. Ki jest najczęściej drugą regulowaną nastawą zaraz po Kp 22
Czas próbkowania (%Ref+0002) • Najkrótszy czas, podawany w 10 ms przyrostach (1 jednostka = 10 ms), pomiędzy kolejnymi rozwiązaniami (wołaniami) algorytmu PID. Na przykład aby uzyskać 100 ms należy podać wartość 10. • Wartość minimalna to 0 i oznacza to że algorytm PID jest wykonywany w każdym cyklu sterownika. • Wartość maksymalna to 65535 i oznacza ona 10. 9 min. • Blok regulatora PID nie wykona się częściej niż co 10 ms. Może to wpłynąć na wyniki jeżeli ustawimy regulator na wykonywanie w każdym cyklu sterownika (0) i czas wykonania jednego cyklu jest mniejszy niż 10 ms. Na przykład jeżeli czas cyku sterownika wynosi 9 ms, PID wykona się w co drugim cyklu a czas, który upłyną od ostatniego wykonania będzie wynosił 18 ms dla każdego wykonania. • Dla sterowników z rodziny 90 -30 zaleca się ustawienie tego parametru na przynajmniej 10 ms. 23
Okno PID Tuning • • Służy do wprowadzania parametrów i konfiguracji regulatora PID. Parametry Kp, Ki, Kd, lub Kc, Ti, Td podawane w odpowiednich polach są pokazywane jako liczby z miejscem dziesiętnym lecz regulator traktuje je jako liczby całkowite. Okno PID tuning wywoływane jest po kliknięciu prawym przyciskiem myszy (PPM) na dodany blok PID i wybranie polecenia Tuning. Po wprowadzeniu niezbędnych parametrów SP, PV i CV pokazywane są poziomowskazy tych wielkości. 24
Strojenie – heurystyki 1. 2. 3. Ustawić wartość wszystkich parametrów użytkownika na 0, a następnie górną i dolną wartość sygnału sterującego na odpowiednio maksymalną i minimalną oczekiwaną wartość. Ustawić okres próbkowania na wartość szacowanej globalnej stałej czasowej procesu podzielonej przez liczbę z przedziału (0 -100) Wykonać blok w trybie ręcznym a następnie wprowadzać do parametru sygnał sterujący w trybie ręcznym (%Ref +13) różne wartości w celu sprawdzenia, czy wartość ustawiająca CV dochodzi do górnej i dolnej wartości granicznej. Zanotować wartości wielkości regulowanej PV dla pewnych wartości wielkości ustawiającej CV, a następnie przypisać je do wartości zadanej SP. Ustawić małe wzmocnienie Kp, przykładowo [100*Maksymalna wartość CV/ maksymalna wartość PV], po czym przejść do trybu ręcznego. Zmienić skokowo wartość SP o 2 do 10% wartości maksymalnej wielkości regulowanej PV i obserwować odpowiedzi wielkości regulowanej PV. Zwiększyć wartość współczynnika wzmocnienia Kp jeżeli odpowiedź wielkość regulowanej PV jest zbyt wolna lub też zmniejszyć ją, jeżeli zmiany wartości regulowanej PV są zbyt duże i cechują się oscylacją, bez dochodzenia do stanu stabilności. 25
Strojenie – heurystyki 4. 5. 6. Po znalezieniu odpowiedniego współczynnika wzmocnienia Kp, zwiększać wartość Ki w celu znalezienia przeregulowania tłumionego do wartości ustalonej w ciągu 2 do 3 cykli. Może to wymagać zmniejszenia współczynnika Kp. Spróbować również zmienić skokową wielkość zmian oraz wprowadzić inne wartości sygnału ustawiającego CV. Po znalezieniu odpowiednich współczynników Kp i Ki, spróbować zwiększać współczynnik Kd w celu szybszego uzyskiwania odpowiedzi na parametry wejściowe, jednak bez powstawania oscylacji. Współczynnik Kd jest bardzo często nie potrzebny oraz nie powinien być wykorzystywany w przypadku zakłóconego sygnału wielkości regulowanej PV. Sprawdzić współczynnik wzmocnienia dla różnych wartości zadających SP oraz, jeżeli jest to potrzebne, określić strefę nieczułości i minimalny czas narastania sygnału ustawiającego. W przypadku niektórych procesów konieczne może być ustawienie bitów słowa konfiguracyjnego w celu zmienienia znaku uchybu lub polaryzacji. 26
Określenie parametrów obiektu Sygnał nastawiający CV Zmiany wielkości regulowanej PV Na podstawie wielkości regulowanej PV można wyznaczyć następujące parametry procesu: K – Wzmocnienie w otwartym układzie sterowania procesem = końcowa zmiana wielkości regulowanej PV / zmiana sygnału ustawiającego CV w chwili t 0 (zwrócić uwagę na brak indeksu przy współczynniku K). Tp – Czas opóźnienia procesu lub czas t 0 tzn. po upływie którego wartość PV zacznie się zmieniać. Tc – Stała czasowa procesu o charakterze inercji pierwszego rzędu, czas wymagany aby po czasie Tp wielkość regulowana PV uzyskała 63. 3% swojej wartości ostatecznej. 27
Strojenie metodą – Ziegler, Nichols Po wyznaczeniu trzech parametrów modelu procesu, K, Tp i Tc można wstępnie oszacować wartość współczynników wzmocnienia dla zamkniętego układu regulacji PID. Przedstawiona poniżej metoda, opracowana w 1942 roku przez Zieglera i Nicholsa, ma za zadanie zapewnienie dobrej reakcji systemu przy wzmocnieniach dających stosunek amplitud 1/4. Stosunek amplitud jest to stosunek drugiej wartości szczytowej do pierwszej wartości szczytowej odpowiedzi zamkniętego układu regulacji. 1. Obliczyć szybkość reakcji regulatora: R = K/Tc 2. Gdy regulator pracuje jedynie jako regulator proporcjonalny, policzyć współczynnik wzmocnienia wyrazu proporcjonalnego KP: Kp = 1/(R * Tp) = Tc/(K * Tp) 3. Gdy regulator pracuje jako proporcjonalny i całkujący, skorzystać z równania: Kp = 0. 9/(R * Tp) = 0. 9 * Tc/(K * Tp) Ki = 0. 3 * Kp/Tp 4. Gdy regulator pracuje jako proporcjonalny, całkujący i różniczkujący, zastosować równanie: Kp = G/(R * Tp) gdzie G ma wartość z zakresu od 1. 2 do 2. 0 Ki = 0. 5 * Kp/Tp Kd = 0. 5 * Kp * Tp 28
Strojenie metodą – Ziegler, Nichols 5. Sprawdzić, czy okres próbkowania ma wartość z zakresu (Tp + Tc)/10 do (Tp + Tc)/1000. Inna metoda "Idealnego dostrojenia" ma za zadanie zapewnić jak najlepszej odpowiedzi na zmiany wartości zadanej SP, opóźnionej wyłącznie przez opóźnienie procesu Tp lub czas martwy: Kp = 2 * Tc/(3 * K * Tp) Ki = Tc Kd = Ki/4 jeżeli wykorzystywany jest składnik różniczkujący Po wyznaczeniu początkowych wartości współczynników wzmocnienia, można je przekonwertować na parametry użytkownika, będące liczbami całkowitymi. W celu uniknięcia problemów ze skalowaniem, wzmocnienie procesu K powinno być obliczane jako zmiana w jednostkach bezwymiarowych wielkości regulowanej PV podzielonej przez skokową zmianę wielkości wyjściowej CV w jednostkach bezwymiarowych CV, a nie w jednostkach inżynierskich parametrów PV czy CV. Również czas powinien być podawany w sekundach. Po wyznaczeniu współczynników Kp, Ki i Kd, współczynniki Kp i Kd można pomnożyć przez 100 i wprowadzić je jako wartości całkowite, a współczynnik Ki należy pomnożyć przed wprowadzeniem do tabeli parametrów użytkownika %Ref. Array przez 1000. 29
ALG 442 moduł wejść/wyjść analogowych • W E J Ś C I A W Y J Ś C I A • W części wejść zapewnia konwersję sygnałów elektrycznych prądowych 0÷ 20, 4÷ 20 m. A (rozdzielczość: 1 LSB = 5μA) oraz napięciowych 0÷ 10 V (rozdzielczość: 1 LSB = 2. 5 m. V) , -10÷ 10 V (rozdzielczość: 1 LSB = 5 m. V) na wartości logiczne z zakresu -32000 do 32000 i zapisuje je w zmiennych %AI. W części wyjść zapewnia konwersję sygnałów elektrycznych prądowych 0÷ 20 m. A (rozdzielczość: 1 LSB = 0. 625 A) , 4÷ 20 m. A (rozdzielczość: 1 LSB = 5μA) oraz napięciowych 0÷ 10, -10÷ 10 V (rozdzielczość: 1 LSB = 0. 3125 m. V) na wartości logiczne z zakresu -32000 do 32000 i zapisuje je w zmiennych %AQ 30
PID w PLC regulujący obiekt rzeczywisty Dla rzeczywistego fizycznego obiektu podłączanego przez we/wy analogowe z wykorzystaniem modułu ALG 442 należy: • Upewnić się, że elektryczne sygnały wyjściowy i sterujący po stronie obiektu wykorzystują stosowane przez moduł I/O zakresy tj. w wersji napięciowej 0÷ 10 lub -10÷ 10 V a wersji prądowej 0÷ 20 lub 4÷ 20 m. A. • Wyjście obiektu podłączyć do wejścia analogowego modułu I/O PLC, wyjście analogowe I/O PLC podłączyć do wejścia obiektu. • Dokonać konfiguracji sterownika, napisać program z regulatorem PID, załadować, uruchomić i dostroić. 31
Testowanie PID (wersja z modelem w PLC lub SCADA) • Zamodelować obiekt o charakterze inercji I-go rzędu z opóźnieniem. • Zaimplementować ww. obiekt w sterowniku lub w aplikacji wizualizacyjnej (SCADA) • Przeskalować sygnały na poziom regulatora PID w sterowniku • Dokonać syntezy regulatora PID dla opracowanego obiektu • Uruchomić 32
Realizacja modelu obiektu • Zaimplementować w sterowniku równanie różnicowe jako model obiektu: – np. y(k)=0. 9*y(k-1) + 0. 05*u(k-10) – okres próbkowania T=100 ms • Realizacja modelu w PLC – Wymusić stały czas trwania cyklu sterownika (constant sweep time) – Skorzystać z bloku SHFR (Shift Register) dla uzyskania opóźnienia 33
Implementacja równania różnicowego • W modelach danych przez równania różnicowe występują przeważnie trzy operacje: – Dodawania – Mnożenia – Opóźnienia • Realizacja dwóch pierwszych działań nie powinna stanowić żadnego problemu 34
Implementacja równania różnicowego • Implementacja opóźnienia – Wartość w chwili poprzedniej np. y(k-1) można uzyskać kopiując wartość aktualną do innego rejestru za pomocą bloku MOVE_REAL, MOVE_INT. W następnym cyklu pracy wartość w tym rejestrze będzie opóźniona o jeden krok. Postępujące w ten sposób możemy uzyskać dowolne opóźnienie. Wymaga to oczywiście odpowiedniej liczby rejestrów. • Jednak w przypadku większych opóźnień warto zastosować rejestry przesuwne 35
Testowanie PID • Przekonwertować sygnały obiektu na liczby całkowite w zakresie – 32000÷ 32000 – Posłużyć się blokami konwersji Real->Int • Dokonać syntezy regulatora PID • Zadawać SP z wizualizacji i obserwować zachowanie regulowanego obiektu • Dostroić regulatora 36
Testowanie PID STEROWNIK Wizualizacja (SCADA) Model obiektu (równanie różnicowe) Wyświetlanie PV, CV, SP PV CV PID SP Zadawanie SP 37
Testowanie PID – Wonderware In. Touch 38
Testowanie PID – pętla sprzętowa Hi. L + SCADA r(t), y(t) Ethernet ETM 001 DA Server GESRTP DDE/ Suite. Link 39
Testowanie PID – pętla sprzętowa Hi. L + SCADA Trochę starsza technologia wymiany danych ze SCADą 40
41