Sterowniki Programowalne SP Wykad 10 Regulator PID w

  • Slides: 31
Download presentation
Sterowniki Programowalne (SP) – Wykład 10 Regulator PID w sterownikach programowalnych Siemens S 7

Sterowniki Programowalne (SP) – Wykład 10 Regulator PID w sterownikach programowalnych Siemens S 7 -1200 WYDZIAŁ ELEKTROTECHNIKI I AUTOMATYKI – KATEDRA INŻYNIERII SYSTEMÓW STEROWANIA Kierunek: Automatyka i Robotyka Studia stacjonarne I stopnia: rok III, semestr V Opracował: Bartosz Puchalski 21. 10. 2016

Cel/zakres wykładu • Wstęp – Przedstawienie instrukcji PID dostępnych w sterowniku Siemens S 7

Cel/zakres wykładu • Wstęp – Przedstawienie instrukcji PID dostępnych w sterowniku Siemens S 7 -1200 – Wykonywanie programu napisanego przez użytkownika – Przykłady – Kilka Uwag • Regulator PID – Algorytm regulacji – Blok instrukcji PID – Kody błędów 2

Bloki programu obsługiwane przez CPU • Bloki organizacyjne (OB) definiują strukturę programu, stanowią interfejs

Bloki programu obsługiwane przez CPU • Bloki organizacyjne (OB) definiują strukturę programu, stanowią interfejs pomiędzy systemem operacyjnym a programem użytkownika, są uruchamiane zdarzeniami, niektóre z nich maj¡ predefiniowane zachowanie oraz zdarzenia startowe • Funkcje (FC) i bloki funkcyjne (FB) zawieraj¡ kod programu który odpowiada za wykonanie określonego zadania, mają zbiór parametrów wejściowych i wyjściowych służących do wymiany danych z blokiem wywołującym, każdy blok FB jest skojarzony z blokiem danych (Instance DB), bloki Instance DB pamiętają stany wartości zmiennych pomiędzy kolejnymi wywołaniem bloku • Bloki danych (DBs) przechowują dane, które mogą zostać wykorzystane przez bloki programu, występują dwa rodzaje: – Global DB każdy OB, FB oraz FC może mieć dostęp do tego rodzaju bloku, – Instance DB przechowuje dane da określonego FB. 3

Bloki organizacyjne (OB) • Bloki organizacyjne (OB) muszą posiadać niepowtarzalny numer • OB nie

Bloki organizacyjne (OB) • Bloki organizacyjne (OB) muszą posiadać niepowtarzalny numer • OB nie mogą wywoływać siebie samych, nie mogą też zostać wywołane z funkcji (FC) i bloków funkcyjnych (FB) • CPU wywołuje bloki organizacyjne OB według określonego priorytetu, wyższy priorytet wykonuje się przed niższym np. najniższy priorytet ma główny cykl programu (nr 1) a najwyższy blok organizacyjny przerwania błędu czasowego (nr 26) 4

Bloki organizacyjne (OB) • OB cyklu programu – wykonywany jest cyklicznie jeśli CPU jest

Bloki organizacyjne (OB) • OB cyklu programu – wykonywany jest cyklicznie jeśli CPU jest w trybie run. Główny blok programu (Main) jest właśnie OB cyklu programu. W tych blokach umieszcza się instrukcje kontroli programu oraz wywołania do dodatkowych bloków użytkownika, jest dozwolone wykorzystanie kilku OB cyklu programu wykonywanych według kolejności liczbowej. OB 1 jest domyślnym blokiem cyklu programu, inne OB cyklu programu muszą¡ mieć numer >= 200; 5

Bloki organizacyjne (OB) • OB startowy – wykonywany jest jednorazowo gdy stan CPU zmieni

Bloki organizacyjne (OB) • OB startowy – wykonywany jest jednorazowo gdy stan CPU zmieni się ze STOP na RUN włączając w to zasilanie sterownika pracującego wcześniej w trybie RUN i zaplanowane przejścia z trybu STOP do trybu RUN, po zakończeniu wykonywania tego bloku uruchamiany jest główny OB cyklu programu, można wykorzysta¢ wiele startowych OB, domyślnym jest OB 100, inne muszą¡ mieć nazwę o numerze 200 (OB 200) lub więcej. 6

Bloki organizacyjne (OB) • OB cyklicznego przerwania – jest wykonywany co pewien określony przez

Bloki organizacyjne (OB) • OB cyklicznego przerwania – jest wykonywany co pewien określony przez czasu, przerywa wykonanie normalnego programu cyklicznego np. co 2 sekundy • OB przerwania sprzętowego – przerywa wykonanie normalnego programu cyklicznego w odpowiedzi na sygnał o zdarzeniu sprzętowym np. zbocze rosnące, opadające, wbudowane wejścia cyfrowe, zdarzenia od liczników HSC (High Speed Counter), ten OB. przerwie wykonywany cyklicznie program gdy wystąpi sygnał zdarzenia sprzętowego, na każde skonfigurowane zdarzenie sprzętowe jest dozwolony jeden OB; 7

Bloki organizacyjne (OB) • OB przerwania błędu czasowego – wykonuje się gdy przekroczony zostanie

Bloki organizacyjne (OB) • OB przerwania błędu czasowego – wykonuje się gdy przekroczony zostanie maksymalny czas cyklu sterownika lub nastąpi błąd czasowy, jeśli nie zdefiniujemy tego OB reakcja CPU na przekroczenie czasu cyklu będzie zatrzymanie sterownika; • OB przerwania błędu diagnostycznego – wykonywany gdy zostanie zgłoszony i wykryty błąd diagnostyczny, wywoływany przez moduł zdolny do diagnostyki. 8

Przykłady Struktura liniowa Struktura blokowa 9

Przykłady Struktura liniowa Struktura blokowa 9

Przykłady Wywołanie innego bloku Zagnieżdżenie 10

Przykłady Wywołanie innego bloku Zagnieżdżenie 10

Przykłady Jeden blok FB kilka bloków DB 11

Przykłady Jeden blok FB kilka bloków DB 11

Uwagi • Zmiany wprowadzone w konfiguracji instrukcji PID (PID_3 Step, PID_Compact) w trybie RUN

Uwagi • Zmiany wprowadzone w konfiguracji instrukcji PID (PID_3 Step, PID_Compact) w trybie RUN nie będą uwzględnione dopóki jednostka centralna nie zmieni swojego stanu z trybu STOP do trybu RUN, • Instrukcje PID należy wywoływa㢠co stały interwałª czasowy preferuje się aby instrukcje PID wywoływa㢠w blokach organizacyjnych (Organization blocks OB) które wywoływane są cyklicznie tzw. Cyclic interrupt OB, • Nie należy wywoływać instrukcji PID w głównych blokach cyklu programu np. OB 1. Instrukcja PID potrzebuje pewnego czasu aby odpowiedzieć na zmiany wielkości regulowanej (PV) – nie należy obliczać wielkości sterującej (CV) w każdym cyklu pracy sterownika. 12

Instrukcje PID w S 7 -1200 • PID_Compact instrukcja służąca do kontroli procesu technicznego

Instrukcje PID w S 7 -1200 • PID_Compact instrukcja służąca do kontroli procesu technicznego z ciągłymi zmiennymi wejściowymi i wyjściowymi, regulacja analogowa i impulsowa (PWM) • PID_3 Step instrukcja służąca do kontroli urządzeń napędzanych zewnętrznymi elementami wykonawczymi, np. zawory, wymagające sygnałów dyskretnych dla otwierania i zamykania, regulacja trójpołożeniowa. 13

Algorytm regulacji • y w Kp Ti Td Sygnał nastawiający (CV) x s Wartość

Algorytm regulacji • y w Kp Ti Td Sygnał nastawiający (CV) x s Wartość zadana (SP) Wzmocnienie proporcjonalne a b Czas zdwojenia c Czas wyprzedzenia Wielkość regulowana (PV) Operator Laplace’a Wsp. Opóźnienia członu D Waga części proporcjonalnej Waga części różniczkującej 14

Schemat blokowy PID Compact cz. 1 15

Schemat blokowy PID Compact cz. 1 15

Schemat blokowy PID Compact cz. 2 16

Schemat blokowy PID Compact cz. 2 16

Przykłady Blok PID Compact Blok PID 3 Step 17

Przykłady Blok PID Compact Blok PID 3 Step 17

Wejścia bloku PID Compact Parametr Typ danych Opis Setpoint IN Real Wartość zadana w

Wejścia bloku PID Compact Parametr Typ danych Opis Setpoint IN Real Wartość zadana w trybie automatycznym Input IN Real Wielkość regulowana (PV) Input_PER IN Word Wielkość procesowa kompatybilna z wejściem analogowym (opcja) Manual. Enable IN Bool Włącza lub wyłącza tryb manualny Manual. Value IN Real Wartość wyjściowa w trybie manualnym Reset IN Bool Reset regulatora 18

Wyjścia bloku PID Compact Parametr Typ danych Opis Setpoint. Limit_H OUT Bool Jeśli „

Wyjścia bloku PID Compact Parametr Typ danych Opis Setpoint. Limit_H OUT Bool Jeśli „ 1” to naruszono górne ograniczenie SP Setpoint. Limit_L OUT Bool Jeśli „ 1” to naruszono dolne ograniczenie SP Input. Warning_H OUT Bool Jeśli „ 1” to naruszono górne ograniczenie PV Input. Warning_L OUT Bool Jeśli „ 1” to naruszono dolne ograniczenie PV State OUT Int Bieżący tryb pracy regulatora Error. Bits OUT DWord Komunikat błędu Scaled. Input OUT Real Przeskalowana wartość regulowanej Output OUT Real Wielkość nastawiająca (CV) Output_PER OUT Word Wielkość nastawiająca (CV) zgodna z wyjściem analogowym Output_PWM OUT Bool Wielkość nastawiająca (CV) w postaci syg. PWM 19

Interpretacja kodów błędu • Większość typowych błędów jest opisana za pomocą odpowiednich kodów np.

Interpretacja kodów błędu • Większość typowych błędów jest opisana za pomocą odpowiednich kodów np. 0000 – brak błędu, 0080 – niewłaściwa konfiguracja ograniczeń sygnału wyjściowego z regulatora, 0400 – obliczenia wielkości nastawiającej regulatora nie powiodły się, sprawdź parametry • Jeżeli wystąpi kilka błędów kod jest wyświetlany jako suma poszczególnych błędów • np. kod błędu 0003 oznacza wystąpienie błędu 0001 oraz 0002 jednocześnie • Kody błędów można znaleźć m. in. w S 7 -1200 Simatic S 7 -1200 Programmable Controller System Manual 04/2012 20

Konfiguracja regulatora PID – podstawowe ustawienia 21

Konfiguracja regulatora PID – podstawowe ustawienia 21

Konfiguracja regulatora PID – ustawienia skalowania PV 22

Konfiguracja regulatora PID – ustawienia skalowania PV 22

konfiguracja regulatora PID – ustawienia zaawansowane cz. 1 23

konfiguracja regulatora PID – ustawienia zaawansowane cz. 1 23

Konfiguracja regulatora PID – ustawienia zaawansowane cz. 2 24

Konfiguracja regulatora PID – ustawienia zaawansowane cz. 2 24

Okno rozruchu regulatora PID 25

Okno rozruchu regulatora PID 25

Pretuning regulatora PID 26

Pretuning regulatora PID 26

Informacja o pomyślnym zakończeniu procesu Pretuningu 27

Informacja o pomyślnym zakończeniu procesu Pretuningu 27

Fine tuning regulatora PID 28

Fine tuning regulatora PID 28

Prawidłowo skonfigurowany regulator PID 29

Prawidłowo skonfigurowany regulator PID 29

Regulator S 7 -1200 w pętli sprzętowej (LAB) Model obiektu grzałka 30

Regulator S 7 -1200 w pętli sprzętowej (LAB) Model obiektu grzałka 30

31

31