Politechnika Białostocka W ydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do zajęć laboratoryjnych Temat ćwiczenia: Układ regulacji PID: konfiguracja, strojenie i testowanie regulatora na obiekcie na przykładzie S7-12 Numer ćwiczenia: 5 Laboratorium z przedmiotu: Sterowniki i Regulatory 2 Kod: E Z 1 C 7 3 6 Opracował: dr inż. Andrzej Ruszewski Białystok 215
1. Wprowadzenie Układ regulacji automatycznej (URA) jest układem ze sprzężeniem zwrotnym, którego zadaniem jest samoczynnie zapewnienie pożądanych przebiegów wielkości charakteryzujących proces, zwanych wielkościami regulowanymi. Schemat URA jednej wielkości regulowanej pokazany jest na rysunku 1. Składa się on z elementu porównującego (sumator), regulatora, urządzenia wykonawczego, obiektu sterowania oraz układu pomiarowego. z(t) w(t) + e(t) u(t) Urządzenie Obiekt y(t) Regulator wykonawcze regulacji Element pomiarowy Rys.1 Schemat blokowy układu regulacji automatycznej Aktualna wartość wielkości regulowanej y(t) jest mierzona i porównywana z wartością zadaną w(t) tej wielkości. Różnica tych sygnałów e(t) = w(t) y(t), zwana uchybem regulacji, jest przetwarzana w regulatorze na sygnał sterujący u(t), który poprzez element wykonawczy oddziałuje na obiekt, tak aby układ dążył do zmniejszenia uchybu regulacji pomimo działania zakłóceń z(t). Regulator proporcjonalno-całkująco-różniczkujący (PID) jest nadal podstawowym urządzeniem wykorzystywanym w przemysłowych układach automatyki. Spowodowane jest to między innymi prostotą działania, łatwością instalacji oraz niskim kosztem. Ocenia się, że ponad 9% układów automatyki przemysłowej wykorzystuje algorytm PID. Jest on podstawową strukturą regulacji w warstwie sterowania bezpośredniego. Sygnał wyjściowy u (t) regulatora PID zawiera trzy składowe: proporcjonalną P, całkującą I oraz różniczkującą D, przez co uwzględniany jest stan aktualny (P), przeszły (I) oraz przyszły (D) układu. Klasyczny model idealnego, ciągłego regulatora PID zapisuje się jako t 1 de( t) u( t) = K p e( t) + e( τ) dτ + Td Ti dt gdzie: e(t) - uchyb regulacji, K p - wzmocnienie, T i - stała czasowa całkowania (czas zdwojenia), T d - stała czasowa różniczkowania (czas wyprzedzenia). Wzmocnienie regulatora oraz czasy zdwojenia i wyprzedzenia podlegają strojeniu - są wielkościami nastawialnymi. Transmitancja operatorowa idealnego regulatora PID ma postać ( 1 ) 1 G R s = K p + + Td s. Ti s Uwzględniając filtr dolnoprzepustowy w części różniczkującej regulatora, transmitancję operatorową regulatora zapisujemy jako 1 ( ) Td s G 1 R s = K p + +. 1 Ti s Tf s + 5-2
Dobór nastaw regulatora na podstawie charakterystyki skokowej obiektu sterowania. Wzmocnienie regulatora K p oraz czasy zdwojenia T i i wyprzedzenia T d są wielkościami nastawialnymi i podlegają strojeniu. Od ich wartości w dużej mierze zależy jakość regulacji. Nastawy regulatora dobierane są najczęściej w oparciu o liniowe modele uproszczone obiektów regulacji, których parametry wyznacza się w drodze identyfikacji, np. na podstawie zarejestrowanej charakterystyki skokowej Przykładowe nastawy regulatora PID Tabela 1. Nastawy regulatora PID Typ przeregulowanie przeregulowanie regulatora ~% ~2% P.3.7 = T = T k T k T K p K p 2 1.8 1.6 1.4 1.2 T T y u =k * u PI K.6 = k T T =.8T i p T K +.5T T i p.7 = k T = T T +.3T 1.8.6.4.2 T punkt przegięcia.632*y u 1 2 3 4 5 6 7 PID K T.95 = T k T T = 2.4T i d p =.4T K T 1.2 = T k T T = 2T i d p =.4T Rys. 2. Odpowiedź skokowa obiektu Tabela 2. Nastawy Zieglera-Nicholsa K p T i T d P 1/RL - - PI.9/RL 3.3L - PID 1.2/RL 2L.5L 2 1.8 1.6 1.4 1.2 1.8 Styczna o nachyleniu R y u =k o * u.6.4 punkt przegięcia.2 1 2 3 4 5 6 7 L Rys. 3. Odpowiedź skokowa obiektu 5-3
2. Regulator PID w sterowniku S7-12 Oprogramowanie TIA Portal umożliwia użycie m.in. bloku PID_Compact, który używany jest do sterowania procesem technicznym o ciągłych wartościach na wejściu i wyjściu. Blok PID_Compact zapewnia dostrajanie regulatora PID w trybie automatycznym i manualnym. Rys. 4. Blok regulatora PID_Compact. Tabela 3. Typy danych dla określonych parametrów Parametr i jego typ Typ Opis danych Setpoint IN Real Wartość zadana dla regulatora PID pracującego w trycie automatycznym. Wartość domyślna:.. Input IN Real Wartość bieżąca procesu. Wartość domyślna:. Należy także ustawić: spid_cmpt.b_input_per_on = FALSE. Input_PER IN Word Wartość analogowa procesu (opcjonalnie). Wartość domyślna: W#16# Należy także ustawić: spid_cmpt.b_input_per_on = TRUE. ManualEnable IN Bool Włącza lub wyłącza manualny tryb pracy. Wartość domyślna: FALSE Przy zmianie zbocza z FALSE na TRUE regulator przełącza się na tryb ręczny - State = 4, niezmienione sret.i_mode. Przy zmianie zbocza z TRUE na FALSE, regulator przełącza się na ostatnio używany tryb pracy; State = sret.i_mode. ManualValue IN Real Wartość bieżąca procesu dla ręcznego trybu pracy. Wartość domyślna:. Reset IN Bool Restartuje regulator. Wartość domyślna: FALSE Jeśli Reset = TRUE, następują następujące zmiany: Nieaktywny tryb pracy Wartość wejściowa= Całkowita część wartości procesu = Pośrednie wartości systemowe zostają skasowane (PIDParameter zostanie zachowany) 5-4
ScaledInput OUT Real Przeskalowane wartości procesu. Wartość domyślna:. Output OUT Real Wartość wyjściowa. Wartość domyślna:.. Output_PER OUT Word Analogowa wartość wyjściowa. Wartość domyślna: W#16# Output_PWM OUT Bool Wartość wyjściowa dla modulacji szerokości impulsu (PWM). Wartość domyślna: FALSE SetpointLimit_H OUT Bool Górna granica wartości zadanej. Wartość domyślna: FALSE. Jeśli SetpointLimit_H = TRUE to bezwzględna wartość górnego limitu wartości zadanej została osiągnięta. Wartość domyślna: FALSE. SetpointLimit_L OUT Bool Dolna granica wartości zadanej. Wartość domyślna: FALSE. Jeśli SetpointLimit_L = TRUE to bezwzględna wartość dolnego limitu wartości zadanej została osiągnięta. Wartość domyślna: FALSE. InputWarning_H OUT Bool Jeśli InputWarning_H = TRUE to wartość procesu osiągnęła lub przekroczyła wartość górnego ostrzeżenia. Wartość domyślna: FALSE. InputWarning_L OUT Bool Jeśli InputWarning_L = TRUE to wartość procesu osiągnęła lub przekroczyła wartość dolnego ostrzeżenia. Wartość domyślna: FALSE. State OUT Int Bieżący tryb pracy regulatora PID. Wartość domyślna: Do zmiany trybu należy użyć sret.i_mode: State = : Inactive (nieaktywny) State = 1: Pretuning (dostrajanie podczas rozruchu) State = 2: Manual fine tuning (ręczne strojenie) State = 3: Automatic mode (tryb automatyczny) State = 4: Manual mode (tryb ręczny) Error OUT DWord Powiadomienie o błędzie. Wartość domyślna: DW#16# (brak błędu). Rys. 5. Praca regulatora PID_Compact 5-5
Regulator PID_Compact używa następującego wzoru do obliczenia wartości wyjściowej 1 T D s y = K p ( b w x) + ( w x) + ( c w x) TI s a TD s + 1 gdzie y - wartość wyjściowa, w - wartość zadana, K p - proporcjonalne wzmocnienie (składnik P), T I - czas całkowania - czas zdwojenia (składnik I), T D - czas różniczkowania - czas wyprzedzenia (składnik D), x - wartość bieżąca, s - operator Laplace a, a - współczynnik opóźnienia całkowania (składnik D), b - wagi działania proporcjonalnego (składnik P), c - wagi działania różniczkującego (składnik D). Dodanie instrukcji PID Instrukcja PID wymaga wywoływania cyklicznego, aby tego dokonać dodajemy przerwania cykliczne w bloku OB. W oknie konfiguracji projektu Project tree należy kliknąć dwukrotnie na zakładce Add new block. Następnie wybrać Organization block (OB) i zaznaczyć Cyclic interrupt. W kolejnym kroku trzeba wybrać język programowania LAD. Wprowadzić częstotliwość wywoływania instrukcji np. na wartość 1 ms. Zaznaczyć opcję: Automatic, Add new and open i kliknąć OK. 5-6
Po wprowadzonych ustawieniach automatycznie pojawia się okno edytora dodanego bloku Cyclic interrupt. Po prawej stronie okna projektu znajdują się biblioteki instrukcji. Z instrukcji Technology należy rozwinąć folder PID. Przeciągając myszką dodać PID_Compact do Network 1. Automatycznie pojawia się okno Call options gdzie należy wpisać nazwę np. (PID_Compact_DB) następnie zaznaczyć Automatic i kliknąć OK. W oknie programu pojawi się blok PID_Compact_DB, w którym należy wprowadzić adresy wejść i wyjść (zdefiniowane wcześniej w PLC Tags), np. Setpoint - wartosc_zadana, zmienna typu Real o adresie MD1 (Uwaga zostaną zarezerwowane bajty MB1, MB11, MB12 MB13, które nie mogą pokrywać się z używanymi już bajtami, np. system clock and memory), Input_PER - wartosc_wejsciowa, zmienna typu WORD o adresie IW64 (wejście analogowe AI1 ), 5-7
Output_PER- wartosc_wyjsciowa, zmienna typu WORD o adresie QW8 (wyjście analogowe AQ1). Następnie w prawym górnym rogu bloku PID_Compact_DB należy kliknąć ikonę Configuration. Otworzy się okno konfiguracji parametrów obiektu technologicznego określające pracę regulatora PID. Zakładki tego okna umożliwiają wprowadzenie różnych opcji charakteryzujących wartość wejściową i wyjściową, jak i wartości nastaw regulatora. 5-8
Po załadowaniu programu regulator domyślenie jest ustawiony na status Inactive. Należy w oknie konfiguracji projektu Project tree rozwinąć zakładkę Technological Objects. Następnie kliknąć prawym przyciskiem myszy na zakładkę PID_Compact_DB[DB1] i kliknąć Open DB editor. 5-9
Rozwinąć zakładkę sret i następnie w wierszu o nazwie i_mode w polu initial value wpisać wartość 3. Po załadowaniu programu regulator będzie pracował w trybie Automatic. Po wszystkich ustawieniach należy załadować całą konfiguracje do sterownika. Należy kliknąć prawym przyciskiem myszy na PLC_1 [CPU 1214 DC/DC/DC] następnie Download to device i wybrać Hardware and software. 5-1
Wprowadzenie wartości zadanej W Project tree należy wejść do Cyclic interrupt następnie w górnym pasku narzędzi włączyć opcję Monitoring. W bloku PID_Compact klikamy prawym przyciskiem myszy na nazwę wartość zadana następnie wybieramy Modify, nastepnie Modify operand. W otwartym oknie w polu Modify należy wprowadzić odpowiednią wartość zadaną i kliknąć OK. Samostrojenie W oknie konfiguracji projektu Projekt tree należy rozwinąć zakładkę Technological Objects, następnie PID_Compact_DB [DB1] i dwukrotnie kliknąć Commissioning. Automatycznie pojawia się okno wykresu. Należy kliknąć Start measurement i w trybie pracy zaznaczyć Tuning in run a następnie kliknąć Start tuning. 5-11
Opcje Startup tuning zaznaczamy wtedy, gdy różnica pomiędzy wartością Input a Setpoint wynosi więcej niż 5% zakresu Setpoint. Opcje Tuning in run zaznaczamy wtedy gdy różnica pomiędzy wartością Input a Setpoint wynosi mniej niż 5% zakresu Setpoint. W celu zapisania w projekcie wyznaczonych nastaw regulatora należy kliknąć Upload PID parameters. 2. Cel ćwiczenia. Wykorzystanie wbudowanego w sterownik S7-12 regulatora PID do realizacji układów regulacji ciągłej stosowanych w automatyzacji procesów przemysłowych. Zdobycie praktycznych umiejętności potrzebnych przy zaprogramowaniu strategii stałowartościowej regulacji PID modelu procesu przemysłowego. 3. Metodyka badań. Stanowisko badawcze Ćwiczenie przeprowadzane jest w dwuosobowych grupach przy stanowisku PLC. Podstawowe wyposażenie stanowiska laboratoryjnego PLC: sterownik - SIMATIC S7 1214, programator - komputer PC, ethernetowy kabel połączeniowy, oprogramowanie TIA Portal v13 zasilacz SITOP SMART 24V DC/1A, obiekt sterowany - PLC Symulator lub zestaw modeli o wejściach i wyjściach analogowych (model pieca, zespół elektromaszynowy, model sterowania temperaturą powietrza w tunelu), programy: Advantech ADAQView i MATLAB 5-12
Przebieg ćwiczenia: 1. Przygotować program na sterownik realizujący regulację PID wybranego modelu obiektu sterowania, w tym podgląd wartości procesu na panelu operatorskim. 2. Dobranie nastaw regulatora PID: a) w oparciu o metody inżynierskie wykorzystujące znajomość odpowiedzi skokowej obiektu (Uwaga Charakterystykę skokową można zarejestrować wykorzystując kartę akwizycji danych PCI-1711 I/O oraz oprogramowanie Advantech ADAQView i MATLAB) b) w oparciu o wbudowaną w sterowniku funkcję samostrojenia 3. Przeprowadzenie procesu regulacji bezpośrednio na obiekcie. Należy przeprowadzić wielokrotne próby pracy sterownika z modelem, zaobserwować działanie wszystkich wejść i wyjść dla różnych wartości zadanych. 4. Porównanie wyników otrzymanych metodą charakterystyki skokowej i samostrojenia. 5. Przeprowadzić optymalizację (strojenie ręczne) regulatora PID. 6. Zarejestrować przebiegi czasowe (lub parametry charakteryzujące przebieg, np. czas regulacji, czas narastania, przeregulowanie, wartość maksymalna) wielkości regulowanej i sterującej dla wybranych wartości nastaw regulatora i wartości zadanej. Prezentacja i analiza wyników badań. Wynikiem pracy grupy laboratoryjnej jest działająca aplikacja na sterownik S7-1214 przedstawiona prowadzącemu w czasie zajęć. Wnioski i uwagi, jakie nasunęły się podczas wykonywania prób na układzie, należy zamieścić w sprawozdaniu. Do sprawozdania należy dołączyć wszystkie pliki projektu (*.ap13). 4. Wymagania BHP Warunkiem przystąpienia do ćwiczenia jest zapoznanie się z instrukcją BHP stosowaną w Laboratorium i ogólnymi zasadami pracy przy stanowisku komputerowym. Instrukcje te powinny być podane studentom podczas pierwszych zajęć laboratoryjnych i są dostępne do wglądu w Laboratorium. W trakcie wykonywania ćwiczenia należy zachować szczególną ostrożność przy podłączeniu urządzeń do zasilania 23 VAC. Wszelkich połączeń pomiędzy elementami automatyki (w tym połączeń sieci Profinet) oraz zmian w konfiguracji stanowiska badawczego należy wykonywać przy odłączonym zasilaniu (np. odłączonym wyjściu 24 VDC zasilacza SITOP). 5. Sprawozdanie studenckie Sprawozdanie z ćwiczenia powinno zawierać: stronę tytułową zgodnie z obowiązującym wzorem, cel i zakres ćwiczenia, opis konfiguracji stanowiska badawczego, opis przebiegu ćwiczenia z wyszczególnieniem wykonywanych czynności, 5-13
listing opracowanego programu (wersja elektroniczna), wnioski i uwagi. Na ocenę sprawozdania będą miały wpływ następujące elementy: ogólna estetyka - 1%, zgodność zawartości z instrukcją - 2%, program (algorytm i listing) - 4%, wnioski i uwagi - 3%. Sprawozdanie powinno być wykonane i oddane na zakończenie ćwiczenia, najpóźniej na zajęciach następnych. Sprawozdania oddane później będą oceniane niżej. 6. Literatura 1. Kamiński K.: Podstawy sterowania z PLC, GRYF 29. 2. Kręglewska U., Ławryńczuk M., Marusak P.: Control laboratory exercises, Oficyna Wydawnicza PW, Warszawa 27. 3. Kwaśniewski J.: Sterowniki PLC w praktyce inżynierskiej, Wydawnictwo BTC, Legionowo 28. 4. Norma IEC 61131 Sterowniki programowalne. 5. Dokumentacja techniczna firmy Siemens: www.automatyka.siemens.pl: - Siemens S7 12 Easy book v 11/211, - SIMATIC S7 Programowalny sterownik S7-12: Podręcznik systemu, v 4/29, - S7-12 oraz STEP7 Basic V1.5 Ćwiczenia, 29, - Konfiguracja regulatora PID Simatic Step 7 Basic v1.5 S7-12 PLC, 21. 5-14