Sterowniki Programowalne (SP) – Wykład 10 Regulator PID w sterownikach programowalnych GE Fanuc WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI – KATEDRA INŻYNIERII.

1 Sterowniki Programowalne (SP) – Wykład 10 Regulator PID...
Author: Arkadiusz Michalik
0 downloads 0 Views

1 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

2 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

3 Ilustracja budowy układu sterowania z regulatorem PID w PLC Dla rzeczywistego fizycznego obiektu podłączanego przez we/wy analogowe z wykorzystaniem modułu ALG442 Dla obiektów symulowanych: – Dla obiektu symulowanego w PLC (technika symulacji pętli programowej ang. Software-In-the-Loop) – Dla obiektu symulowanego w SCADA InTouch (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) Cel/zakres wykładu 3

4 Klasyczny układ regulacji Regulator Obiekt Σ Σ r(t)r(t) e(t)e(t)u(t)y(t) z(t) – + 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 SP CV PV Set Point Control Variable Process variable 4

5 PID-ISA (ang. Ideal Standard Algorithm) 5

6 PID-IND (ang. INDependent algorithm) 6

7 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). SP PV CV PID Parametry: K p K i K d lub K c T i T d Parametry: K p K i K d lub K c T i T d 7

8 Blok regulatora PID w sterownikach GEFanuc Język drabinkowy (LD) Język funkcjonalnych schematów blokowych (FBD) 8

9 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

10 Blok regulatora PID w sterownikach GEFanuc w języku drabinkowym (LD) 10

11 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

12 Blok regulatora PID w sterownikach GEFanuc 12

13 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

14 Obliczenia dla bliku PID w sterownikach GEFanuc Algorytm PID-IND Algorytm PID-ISA 14

15 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

16 Parametry regulatora – 40 rejestrów 16

17 17 Parametry regulatora – 40 rejestrów

18 18 Parametry regulatora – 40 rejestrów

19 Rodzaje regulatorów PID 19

20 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

21 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

22 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

23 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

24 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

25 Strojenie – heurystyki 1.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) 2.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. 3.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

26 Strojenie – heurystyki 4.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. 5.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. 6.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

27 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 t0 (zwrócić uwagę na brak indeksu przy współczynniku K). Tp – Czas opóźnienia procesu lub czas t0 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

28 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

29 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 %RefArray przez 1000. 29

30 ALG442 moduł wejść/wyjść analogowych W części wejść zapewnia konwersję sygnałów elektrycznych prądowych 0÷20, 4÷20 mA (rozdzielczość: 1 LSB = 5μA) oraz napięciowych 0÷10 V (rozdzielczość: 1 LSB = 2.5 mV), -10÷10 V (rozdzielczość: 1 LSB = 5 mV) 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 mA (rozdzielczość: 1 LSB = 0.625 A), 4÷20 mA (rozdzielczość: 1 LSB = 5μA) oraz napięciowych 0÷10, -10÷10 V (rozdzielczość: 1 LSB = 0.3125 mV) na wartości logiczne z zakresu -32000 do 32000 i zapisuje je w zmiennych %AQ 30

31 PID w PLC regulujący obiekt rzeczywisty Dla rzeczywistego fizycznego obiektu podłączanego przez we/wy analogowe z wykorzystaniem modułu ALG442 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÷20mA. 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

32 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

33 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=100ms 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

34 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

35 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

36 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

37 STEROWNIK Wizualizacja (SCADA) Model obiektu (równanie różnicowe) PID Wyświetlanie PV, CV, SP Zadawanie SP SP CVPV Testowanie PID 37

38 Testowanie PID – Wonderware InTouch 38

39 Testowanie PID – pętla sprzętowa HiL + SCADA Ethernet ETM001 DA Server GESRTP r(t), y(t) DDE/ SuiteLink 39

40 Testowanie PID – pętla sprzętowa HiL + SCADA Trochę starsza technologia wymiany danych ze SCADą 40

41 41