Sterowniki Programowalne SP Wykad 10 Regulator PID w

  • Slides: 41
Download presentation
Sterowniki Programowalne (SP) – Wykład 10 Regulator PID w sterownikach programowalnych GE Fanuc WYDZIAŁ

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

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

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) + Σ

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-ISA (ang. Ideal Standard Algorithm) • 5

PID-IND (ang. INDependent algorithm) • 6

PID-IND (ang. INDependent algorithm) • 6

Blok PID • Blok ten na podstawie dwóch wartości: punktu ustalonego (wartości zadanej –

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)

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

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 w języku drabinkowym (LD) 10

Blok regulatora PID w sterownikach GEFanuc • Blok funkcyjny PID wykorzystuje 40 rejestrów w

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

Blok regulatora PID w sterownikach GEFanuc 12

Obliczenia dla bliku PID w sterownikach GEFanuc • Uchyb = (SP - PV) lub

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

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:

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 16

Parametry regulatora – 40 rejestrów 17

Parametry regulatora – 40 rejestrów 17

Parametry regulatora – 40 rejestrów 18

Parametry regulatora – 40 rejestrów 18

Rodzaje regulatorów PID 19

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)

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ę

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ść

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 =

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

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

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ść

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

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

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

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

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

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

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.

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:

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

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

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

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 – Wonderware In. Touch 38

Testowanie PID – pętla sprzętowa Hi. L + SCADA r(t), y(t) Ethernet ETM 001

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

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

41

41