LABORATORIUM Sterowanie obietem cieplnym z wyorzystaniem sterowniów oraz bibliotei Controller Toolbox firmy Bechoff 1. Bibliotea Controller Toolbox... 2 1.1. Wprowadzenie... 2 1.2. Blo regulatora PI... 3 1.3. Blo generatora sygnałów... 6 2. Dobór nastaw regulatora PI dla obietu inercyjnego z opóźnieniem... 8 3. Algorytm regulacji w języu ST... 8 4. Realizacja ćwiczenia... 11 4.1. Uruchomienie programu PLC... 11 4.2. Przygotowanie rejestracji przebiegów w TwinCAT Scope View... 13 4.3. Badanie odpowiedzi soowej... 15 4.4. Badanie śledzenia oresowo zmiennej wartości zadanej... 17 Przygotowanie do ćwiczenia: - pobranie, zainstalowanie i zapoznanie się z paietami TwinCAT oraz Bechoff Information System z loalizacji www.bechoff.pl (wprowadzając dane na stronie www należy podać informację, że osoba pobierająca jest studentem PRz), - zapoznanie się z biblioteą Controller Toolbox (róti opis w instrucji, wyczerpujący w Bechoff Information System), - przypomnienie metody doboru nastaw regulatora PI dla obietu o transmitancji inercja + opóźnienie [L. Trybus, Teoria sterowania. Materiały pomocnicze, Rzeszów 2005, s. 164 169], - zapoznanie się z zasadą działania i celem użycia uładu anti-windup w struturach regulacyjnych, - zapoznanie się materiałami pomocniczymi umieszczonymi na stronie www.tomz.prz-rzeszow.pl, - przypomnienie podstaw programowania w języu ST, - przeanalizowanie programu dołączonego do wprowadzenia. W sprawozdaniu należy zamieścić: - wzór transmitancji obietu cieplnego (zidentyfiowanej w poprzednim ćwiczeniu), - obliczenia prowadzące do uzysania nastaw regulatora i same wartości nastaw, - symulacyjne wynii sterowania obietem z dobranym regulatorem, - obrazy eranu z TwinCAT Scope View, uazujące wymagane przebiegi: - zbiór odpowiedzi soowych, - przybliżenie odpowiedzi soowej, pozwalające wyznaczyć przeregulowanie, - przebieg śledzenia zmiennej wartości zadanej, - przybliżenie przebiegu śledzenia, pozwalające wyznaczyć błąd ustalony, - odpowiedzi na pytania, tóre zawarte są w treści instrucji, - wniosi i spostrzeżenia.
Literatura [1] L. Trybus, Teoria sterowania. Materiały pomocnicze, Rzeszów 2005 [2] J. Kasprzy, Programowanie sterowniów przemysłowych, ISBN 83-204-3109-3, WNT 2005 [3] T.Legiersi, J.Kasprzy, J.Wyrwał, J.Hajda, Programowanie sterowniów PLC, Pracownia Komputerowa Jaca Salmiersiego [4] materiały pomocnicze na stronie www.tomz.prz-rzeszow.pl (głównie: Sterownii_IEC61131-3.pdf) [5] Bechoff Information System do pobrania ze strony www.bechoff.pl oraz doumentacje ze strony www.bechoff.pl 1. Bibliotea Controller Toolbox 1.1. Wprowadzenie Bibliotea Controller Toolbox stanowi bogaty zestaw bloów funcjonalnych, zgodnych z normą IEC 61331, przeznaczonych do realizacji uładów regulacji. Zbiór bloów podzielony jest na 8 secji: Auxiliary bloi pomocnicze, przeznaczone do wsparcia współpracy uładu regulacji z systemem sterownia, Base podstawowe, jednotorowe bloi regulacyjne, np. proporcjonalny (FB_CTRL_P), całujący (FB_CTRL_I), histereza (FB_CTRL_HYSTERESIS) itp., Controller złożone, ompletne strutury regulacyjne, np. regulator dwupołożeniowy (FB_CTRL_2POINT), regulator PID (FB_CTRL_PID), regulator asadowy PI-PID (FB_CTRL_PI_PID) itp., Filter / Controlled System Simulation bloi filtrowania i uśredniania sygnałów, generacji szumów oraz symulacji typowych członów dynamicznych obietów regulacji, np. filtr wartości bieżącej (FB_CTRL_ACTUAL_VALUE_FILTER), oretor (FB_CTRL_LEAD_LAG), człon inercyjny II rzędu (FB_CTRL_PT2), człon opóźniający (FB_CTRL_PTt) itp., Interpolation blo interpolacji liniowej (FB_CTRL_LIN_INTERPOLATION), blo normalizacji (FB_CTRL_NORMALIZE), Monitoring / Alarming bloi ontroli i logowania wartości sygnałów, np. ontrola zaresu wartości (FB_CTRL_CHECK_IF_IN_BAND), rejestracja wartości zmiennych procesowych do pliu (FB_CTRL_LOG_DATA) itp., Output To Controlling bloi dostosowujące wyjście sygnału do rodzaju podłączonego obietu, np. salowanie wartości (FB_CTRL_SCALE), dodanie strefy martwej (FB_CTRL_DEADBAND), wyjście typu PWM (FB_CTRL_PWM_OUT) itp., Setpoint generation bloi generacji wartości zadanej, np. generator sygnału trójątsinus-piła (FB_CTRL_SIGNAL_GENERATOR), generator przebiegu tablicowanego (FB_CTRL_SETPOINT_GENERATOR) itp. 2
1.2. Blo regulatora PI Blo regulatora PI o nazwie FB_CTRL_PI znajduje się w secji Controller bibliotei Controller Toolbox. Poniżej uazano symbol blou regulatora oraz jego struturę wewnętrzną, zawierającą sładni anti-windup. Działanie uładu anti-windup: W struturach regulacyjnych z całowaniem dochodzi do efetu nasycania elementu całującego, tóre występuje przy ograniczeniu sygnału sterowania. Zjawiso to, zwane windup, pogarsza jaość pracy uładu regulacji. Anti-windup jest mechanizmem przeciwdziałającym temu efetowi. Jego funcjonowanie polega na ograniczeniu lub zatrzymaniu działania integratora w sytuacji ograniczenia sygnału sterowania. W przypadu blou PI z bibliotei Controller Tollbox, mechanizm anti-windup wyorzystuje rozwiązanie całowitego zatrzymania całowania. Zależnie od wartości bitu onfiguracyjnego barwonipartonly, całowanie zostaje wstrzymane, gdy ograniczeniu ulega główne wyjście blou (false) lub tylo wyjście toru całującego (true). Spotyane są też inne realizacje strutury anti-windup, np. odjęcie od wejścia integratora sygnału proporcjonalnego do różnicy pomiędzy wejściem i wyjściem blou ograniczającego, czy też odjęcie od wejścia integratora sygnału uształtowanego z jego wyjścia lub wyjścia całego regulatora przez strefę nieczułości. Zbiór wartości wejściowych blou zdefiniowany jest następująco: VAR_INPUT fsetpointvalue : FLOAT; factualvalue : FLOAT; fmansyncvalue : FLOAT; bsync : BOOL; emode : E_CTRL_MODE; bhold : BOOL; END_VAR gdzie: fsetpointvalue wartość zadana wielości regulowanej, factualvalue wartość bieżąca wielości regulowanej, odczytywana z wyjścia obietu, fmansyncvalue wartość inicjująca wyjście blou PI, bsync zbocze narastające na tym (logicznym) wejściu powoduje załadowanie do blou PI wartości inicjującej fmansyncvalue, 3
emode zmienna typu wyliczeniowego E_CTRL_MODE, oreślająca tryb pracy regulatora PI, możliwe wartości tej zmiennej wyszczególnione są poniżej, w definicji typu E_CTRL_MODE, bhold wartość stanu wewnętrznego i wyjścia blou zastają zatrzaśnięte na czas utrzymywania stanu wysoiego (TRUE) na tym wejściu. Definicja typu wyliczeniowego E_CTRL_MODE: TYPE E_CTRL_MODE: ( ectrl_mode_idle := 0, (*mode idle *) ectrl_mode_passive := 1, (*mode passive *) ectrl_mode_active := 2, (*mode active *) ectrl_mode_reset := 3, (*mode reset *) ectrl_mode_manual := 4, (*mode manual *) ectrl_mode_tune := 5, (*mode tuning *) ectrl_mode_selftest := 6, (*mode selftest *) ectrl_mode_sync_movement := 7 (*mode synchronize *) ); END_TYPE Zmienne wyjściowe zdefiniowane są następująco: VAR_OUTPUT fout barwactive estate eerrorid berror END_VAR : FLOAT; : BOOL; : E_CTRL_STATE; : E_CTRL_ERRORCODES; : BOOL; gdzie: fout wyjście regulatora (sterowanie), barwactive stan wysoi tego wyjścia sygnalizuje atywność uładu anti-windup, estate wartość typu wyliczeniowego E_CTRL_STATE, oreślająca ogólny stan pracy blou, eerrorid zmienna typu wyliczeniowego E_CTRL_ERRORCODES, oreślająca rodzaj błędu w przypadu błędnej pracy blou, Terror wartość stanu wysoiego (TRUE) tej zmiennej sygnalizuje wystąpienie błędu w pracy blou. Parametry onfiguracyjne (wejściowo-wyjściowe) blou PI oreślone są za pomocą jednej zmiennej stparams typu struturalnego: VAR_IN_OUT stparams END_VAR : ST_CTRL_PI_PARAMS; 4
Typ struturalny ST_CTRL_PI_PARAMS zdefiniowany jest następująco: TYPE ST_CTRL_PI_PARAMS : STRUCT tctrlcycletime : TIME := T#0ms; (* controller cycle time [TIME] *) ttascycletime : TIME := T#0ms; (* tas cycle time [TIME] *) ttn : TIME := T#0ms; (* integral action time Tn *) fkp : FLOAT := 0; (* proportional gain *) foutmaxlimit : FLOAT := 1E38; (* maximum output limit *) foutminlimit : FLOAT := -1E38; (* minimum output limit *) barwonipartonly : BOOL END_STRUCT END_TYPE := FALSE; gdzie: tctrlcycletime czas cylu (atualizacji stanu i wyjścia) algorytmu regulacyjnego, ttascycletime czas cylu zadaniowego (tj. czas pomiędzy olejnymi wywołaniami blou), ttn stała czasowa całowania, fkp wzmocnienie blou PI, foutmaxlimit górna wartość ograniczenia anti-windup, foutminlimit dolna wartość ograniczenia anti-windup, barwonipartonly tryb pracy uładu anti-windup; jeżeli zmienna ta ustawiona jest na FALSE (domyślnie), wtedy ograniczenie anti-windup działa w oparciu o wyjście całego blou (patrz schemat blou), w przeciwnym wypadu ograniczenie anti-windup działa w oparciu o wyjście samego toru całującego. Transmitancja rozważanego blou PI posiada postać: 1 G( s) K p 1, T s n gdzie współczynnii i ttn. K p i T n są równe wartościom onfiguracyjnym, odpowiednio fkp 5
1.3. Blo generatora sygnałów Blo generatora sygnałów FB_CTRL_SIGNAL_GENERATOR umieszczony jest w secji Setpoint generation bibliotei Controller Toolbox. Jest on źródłem sygnału sinusoidalnego, trójątnego lub piłoształtnego o onfigurowanych parametrach. Symbol blou regulatora i ształty wytwarzanych przebiegów uazano poniżej. Zbiór wartości wejściowych blou zdefiniowany jest następująco: VAR_INPUT fmanvalue emode END_VAR : FLOAT; : E_CTRL_MODE; gdzie: fmanvalue wartość trybu manualnego, przeazywana bezpośrednio na wyjście, gdy tryb pracy (emode) ustawiony jest na ectrl_mode_manual, emode zmienna typu wyliczeniowego E_CTRL_MODE (definicja typu przytoczona została przy opisie blou PI), oreślająca tryb pracy generatora. Zmienne wyjściowe zdefiniowane są następująco: VAR_OUTPUT fout estate eerrorid berror END_VAR : FLOAT; : E_CTRL_STATE; : E_CTRL_ERRORCODES; : BOOL; gdzie: fout wartość wyjściowa sygnału generatora, estate, eerrorid, Terror znaczenie identyczne ja w przypadu blou FB_CTRL_PI. 6
Parametry onfiguracyjne (wejściowo-wyjściowe) generatora oreślone są za pomocą jednej zmiennej stparams typu struturalnego: VAR_IN_OUT stparams END_VAR : ST_CTRL_SIGNAL_GENERATOR_PARAMS; Typ struturalny ST_CTRL_SIGNAL_GENERATOR_PARAMS zdefiniowany jest następująco: TYPE ST_CTRL_I_PARAMS : STRUCT tctrlcycletime : TIME := T#0ms; (* controller cycle time *) ttascycletime : TIME := T#0ms; (* tas cycle time *) esignaltype : E_CTRL_SIGNAL_TYPE; tcylceduration : TIME; famplitude : FLOAT; foffset : FLOAT := 0.0; tstart : TIME := T#0s; END_STRUCT END_TYPE gdzie: tctrlcycletime czas cylu (atualizacji stanu i wyjścia) blou, ttascycletime czas cylu zadaniowego, esignaltype rodzaj sygnału wyjściowego, oreślony zmienną typu wyliczeniowego (definicja typu E_CTRL_SIGNAL_TYPE podana jest niżej), tcylceduration ores przebiegu generowanego sygnału, famplitude amplituda wytwarzanego sygnału, Offset stałe przesunięcie, dodawane do przebiegu, Start faza początowa sygnału, wyrażona przez moment czasowy odniesiony do oresu przebiegu. Definicja typu wyliczeniowego E_CTRL_SIGNAL_TYPE: TYPE E_CTRL_SIGNAL_TYPE : ( ectrl_triangle := 0, ectrl_sinus := 1, ectrl_sawtooth := 2 ); END_TYPE 7
2. Dobór nastaw regulatora PI dla obietu inercyjnego z opóźnieniem Obiet modelowany jest transmitancją postaci: tórej współczynnii o, T, G Ts o s ( s) e, 1 zostały zidentyfiowane w poprzednim ćwiczeniu. Transmitancję regulatora można sprowadzić do postaci: G PI 1 p Ti s 1 ( s) p 1. T s T s Stałą czasową całowania dobrać według równości T i = T, dla zreduowania bieguna transmitancji obietu. Przy taim doborze T i, transmitancja uładu otwartego przyjmuje postać: G otw i s p T is 1 o s p o e ( s) GPI ( s) G( s) e. T s Ts 1 T s i Po zastosowaniu aprosymacji Pade I rzędu dla czynnia opóźniającego [1, s. 163], otrzymuje się: gdzie: G ( s) s e s i s' 1 s' ( s' 1) i s' 1 s' ( s' 1) p o p o otw, Ti Ti 2 s' s, 2 po. T 2 Dobór wzmocnienia p powinien zostać przeprowadzony ta, aby zapewnić 16.3% przeregulowania odpowiedzi soowej. Stosując metodę linii pierwiastowych można wyazać, że pożądane przeregulowanie uzysuje się dla 0.38 [1, s. 164-166]. Odpowiednią wartość wzmocnienia regulatora wyznaczyć z zależności: p 2Ti. Dla przyjętych nastaw regulatora, szacowana wartość czasu regulacji wynosi [1, s. 167]: o t 6.45. W sprawozdaniu należy zamieścić obliczone wartości p, T i oraz t r. r i 3. Algorytm regulacji w języu ST Proponowana postać algorytmu regulacji zawarta jest w pliu reg_pi.pro (dostępny na stronie WWW wraz z instrucją). Program wyorzystuje dwa opisane wcześniej bloi funcjonalne z bibliotei Controller Toolbox: blo regulatora PI FB_CTRL_PI oraz 8
blo generatora sygnałowego FB_CTRL_SIGNAL_GENERATOR. Kod programu, z pominięciem części delaracyjnej, przytoczony jest poniżej. IF binit THEN (* onfiguracja blou regulatora FB_CTRL_PI *) stctrl_pi_params.tctrlcycletime := T#10ms; stctrl_pi_params.ttascycletime := T#10ms; stctrl_pi_params.ttn := T#130s; (* TUTAJ WSTAWIC wyliczone Ti *) stctrl_pi_params.fkp := 11; (* TUTAJ WSTAWIC wyliczone Kp *) stctrl_pi_params.foutmaxlimit := 100; (* gorne ograniczenie wyjscia *) stctrl_pi_params.foutminlimit := 0; (* dolne ograniczenie wyjscia *) (* onfiguracja generatora sygnalowego FB_CTRL_SIGNAL_GENERATOR *) stctrl_gen_params.tctrlcycletime := T#10ms; stctrl_gen_params.ttascycletime := T#10ms; stctrl_gen_params.esignaltype := ectrl_sinus; stctrl_gen_params.famplitude := 15; (* amplituda *) stctrl_gen_params.foffset := fsetpointconst; (* offset sladowa stala *) stctrl_gen_params.tcylceduration := T#300s; (* ores przebiegu *) stctrl_gen_params.tstart := T#0s; (* faza początowa, odniesiona do oresu *) binit := FALSE; END_IF (* wybor trybu sterowania AUTO/MAN *) IF bmode THEN fsetpointvalue := fsetpointgen; egenmode := ectrl_mode_active; ELSE fsetpointvalue := fsetpointconst; egenmode := ectrl_mode_manual; END_IF (* wywołanie blou generatora sygnalu wartosci zadanej *) fbctrl_gen ( fmanvalue := fsetpointconst, emode := egenmode, stparams := stctrl_gen_params, fout => fsetpointgen, estate => esinstate, eerrorid => esinerrorid, berror => bsinerror ); hwinfix16.value := hwin; hwinfix16.n := 0; factualvalue := 100.0 / 16#7FFF * FIX16_TO_LREAL(hwInFix16); (* wywolanie blou regulatora PI *) fbctrl_pi( fsetpointvalue := fsetpointvalue, factualvalue := factualvalue, fmansyncvalue := fmansyncvalue, bsync := bsync, emode := ectrl_mode_active, bhold := bhold, stparams := stctrl_pi_params, fout => fout_pi, barwactive => barwactive, eerrorid => eerrorid, berror => berror ); hwoutfix16 := LREAL_TO_FIX16(fOut_PI * 16#7FFF / 100.0, 0); hwout := hwoutfix16.value; 9
Inicjalizacja strutur onfiguracyjnych dla bloów regulatora i generatora odbywa się jednorazowo, w pierwszym cylu przetwarzania sterownia. Po jednorotnej inicjalizacji zerowana jest flaga binit, bloując olejne wejścia do blou przypisania wartości początowych. W ażdym cylu przetwarzania program wyonuje olejno następujące czynności: 1. Na podstawie flagi bmode przypisuje jao wartość zadaną dla regulatora PI wartość z wyjścia generatora fsetpointgen (bmode=true) lub wartość stałą oreśloną manualnie fsetpointconst (bmode=false). 2. Wywołuje blo generatora sygnałowego fbctrl_gen, tóry wyznacza olejną wartość przebiegu funcyjnego, zapisując ją do zmiennej fsetpointgen. 3. Konwertuje wartość całowitoliczbową z wejścia analogowego hwin z zaresu 0..7FFFh na liczbę zmiennoprzecinową factualvalue z przedziału 0..100, tóra stanowi zmienną procesową dla regulatora. 4. Wywołuje blo regulatora PI fbctrl_pi, tóry wylicza nową wartość sterowania, zapisywaną do zmiennej fout_pi. 5. Przelicza zmiennoprzecinową wartość wyjścia regulatora fout_pi o zarasie 0..100 do liczby całowitej hwout z przedziału 0..7FFFh, stanowiącej wartość wyjściową dla obietu. W odzie programu zwrócić uwagę na znaczenie wartości przypisanych poszczególnym polom strutur onfiguracyjnych blou generatora i regulatora (stctrl_pi_params, stctrl_gen_params) oraz na wartości parametrów wywołania tych bloów. W szczególności opanować czynności onfiguracyjne: - wprowadzania nastaw regulatora PI: wzmocnienia p fkp oraz stałej czasowej całowania T i ttn, - onfiguracji sładnia anti-windup: wybór atywny/nieatywny, ustawianie wartości dolnego i górnego ograniczenia, wybór trybu atywacji ograniczenia (tylo tor całujący, pełny sygnał wyjściowy), - onfiguracji generatora sygnałowego: wybór rodzaju przebiegu, ustawienie amplitudy, oresu/częstotliwości, sładowej stałej, wartości/fazy początowej. Wyonać następujące ćwiczenie: oreślić, tóre parametry programu i na jaie wartości potrzeba ustawić, aby uzysać przebieg z generatora sygnałowego o zadanych własnościach. O własności przebiegu zapytać prowadzącego. Jeżeli prowadzący nie narzuci postaci przebiegu, wybrać jedną z poniższych opcji: a) przebieg sinusoidalny o częstotliwości 0.05 Hz, posiadający masimum o wartości 80 i minimum o wartości 50, rozpoczynający się w chwili początowej od wartości minimalnej, b) przebieg trójątny, o sładowej stałej 60, wartości międzyszczytowej 40, oresie 60 s, rozpoczynający się w chwili początowej od wartości masymalnej, c) przebieg wybrany samodzielnie, jego opis powinien zawierać: ształt (jeden z trzech możliwych) oraz zdefiniowane parametry (różne od domyślnych), taie ja wartość minimalna i masymalna, ores/częstotliwość, wartość początowa. Rozwiązanie, w postaci opisu przebiegu oraz listy odpowiednich parametrów i ich wartości, zamieścić w sprawozdaniu. 10
4. Realizacja ćwiczenia UWAGA: Podobnie ja w ćwiczeniu z identyfiacją, używane będą dwa programy z paietu TwinCAT System, połączone on-line ze sterowniiem: TwinCAT PLC Control oraz TwinCAT Scope View. Przechodząc pomiędzy programami nie należy zamyać żadnego z nich, aż do zaończenia esperymentu. 4.1. Uruchomienie programu PLC W programie TwinCAT PLC Control otworzyć projet regulatora regulator_pi.pro. W odzie programu zmodyfiować wartości nastaw regulatora, zgodnie z rezultatami własnych obliczeń, opartych na wcześniej zidentyfiowanej transmitancji obietu. Projet należy sompilować (Project Build). Po udanej ompilacji, otworzyć TwinCAT System Manager i utworzyć w nim nowy projet. Następnie uruchomić sanowanie onfiguracji sprzętowej sterownia i upewnić się, że nastąpiło wyrycie modułów analogowych we/wy, odnotowane przez podwójne wpisy KL3448 oraz KL4418. Wczytać onfigurację (PLC-configuration) wygenerowaną dla programu PLC, wybierając odpowiedni pli *.tpy. Następnie wyonać odpowiednie powiązanie adresów zmiennych zadelarowanych w programie z fizycznymi loalizacjami przestrzeni obrazu procesu (PLC-configuration Standard Inputs/Outputs). 11
Atualną onfigurację przesłać do sterownia. System powinien zostać następnie przełączony w tryb pracy (RUN). Atualizacja onfiguracji Po wyonaniu opisanych wyżej operacji, powrócić do TwinCAT PLC Control i uruchomić program sterownia w trybie on-line, tj: Zweryfiować wybór adresu sterownia w onie Online Choose Run-Time System Zalogować się do sterownia: Online Login Uruchomić program: Online Run (w czasie wyonywania programu ontroli LED w modułach KL3448 i KL4418 powinny świecić na zielono). 12
4.2. Przygotowanie rejestracji przebiegów w TwinCAT Scope View Wizualizację i rejestrację czasowego przebiegu wartości zmiennych procesowych należy zrealizować przy wyorzystaniu programu TwinCAT Scope View z paietu TwinCAT System. Po otwarciu programu, z menu ontestowego elementu Scope (prawy lawisz myszy), wybrać Add Scope View, a następnie podać tytuł tworzonego ona rejestracji, np. reg_pi. Utworzony zostanie element ona rejestracji o podanej nazwie. W prawym dolnym panelu dostępne są załadi, umożliwiające onfigurację utworzonego elementu. W załadce Properties czas rejestracji Length [s] powinien zostać ustawiony na odpowiednio dużą wartość (np: 1200 s = 20 min.), ze względu na dużą stałą czasową obietu cieplnego. Pozostałe ustawienia mogą pozostać domyślne. Menu ontestowe utworzonego elementu posiada pozycję dodania anału wizualizacji Add Channel. Dodać trzy anały o nazwach np. y, u i w, przeznaczone do rejestracji odpowiednio wyjścia obietu, sterowania i wartości zadanej. Po wybraniu danego anału (przez linięcie na odpowiadający mu element), w prawym dolnym panelu uazują się załadi onfiguracyjne. 13
Dla ażdego z anałów zrealizować opisane niżej czynności onfiguracyjne. W załadce Acquisition: Jao adres AMS Net ID sterownia wpisać adres podłączonego sterownia CX1000 (dostępny na dolnym pasu stanu programu TwinCAT System Manager lub TwinCAT PLC Control), Nacisnąć przycis Change, a w otwartym następnie onie dialogowym przycis Reload Symbols. Załadowane zostaną nazwy symboliczne zmiennych z pamięci sterownia, tóre można wybrać do rejestracji w danym anale, wybrać odpowiednio (np. MAIN.FACTUALVALUE dla anału y, MAIN.FOUT dla anału u oraz MAIN.FSETPOINTVALUE dla anału w) i wcisnąć przycis OK, W polu Cycle Time wybrać User defined [ms] i podać 200 domyślnie proponowany czas cylu zadaniowego jest za róti dla badanego obietu i spowodowałby rejestrację zbyt dużej liczby danych. W załadce Display: Ustawić odpowiedni zares rejestrowanych wartości. Ze względu normalizację wartości sygnałów do przedziału 0..100, potrzeba ustawić: Lower Bund: 0, Upper Bund: 100, Załączyć wyświetlanie siati wyresu (pole Grid). 14
W załadce Style: Można zmienić olory linii wyresu dla poszczególnych anałów (Pen Color Change ), przypisując np. olor czerwony dla anału sterowania (u), zielony dla wyjścia (y) i niebiesi dla wartości zadanej (w). 4.3. Badanie odpowiedzi soowej Dla domyślnych wartości parametrów onfiguracyjnych, program przystosowany jest do realizacji esperymentu odpowiedzi soowej. Wybrane jest źródło wartości stałej (bmode = FALSE) o początowej wartości 50 (fsetpointconst = 50). Uruchomić rejestrację przebiegu w TwinCAT Scope View (Scope Start Scope lub przycis ). Rejestracja powinna uazać stan ustalony z ustabilizowaną wartością sterowania lub proces osiągania stanu ustalonego zależnie od czasu, tóry upłynął od momentu uruchomienia programu sterownia z algorytmem regulacyji (w pt. 4.1). Należy odczeać do chwili osiągnięcia stanu ustalonego, jeżeli nie będzie on uzysany w chwili rozpoczęcia obserwacji. Po osiągnięciu stanu ustalonego, doonać soowej zmiany wartości zadanej. Aby zrealizować so wartości zadanej, w TwinCAT PLC Control linąć na wartość zmiennej fsetpointconst i podać nową wartość. Następnie zapisać zmianę, wyorzystując opcję Online Write Values (lub lawisze [ctrl + F7]). Odpowiedź uładu regulacji powinna mieć charater oscylacyjny. Stosując ilarotnie wymuszenie zmian wartości zadanej, wyonać ila olejnych wymuszeń soowych w górę i w dół (przynajmniej po jednym w górę i w dół), o różnych amplitudach. Zmiany nie powinny wychodzić poza przedział 30-80% zaresu wartości zadanej, a amplituda sou powinna wynosić o. 5-10% tego zaresu. Przyład sewencji testowych soów wartości zadanej uazuje rysune poniżej. Po wyonaniu rejestracji zatrzymać program sterownia i wylogować się z trybu Online. 15
Obraz pełnego ona programu TwinCAT Scope View z zarejestrowanymi soami zamieścić w sprawozdaniu. Zaznaczyć przypadi wystąpienia ograniczeń sygnału sterowania. Rejestracja pozwala zaobserwować, ja amplituda sou, jego zna oraz początowa wartość odniesienia wpływa na postać przebiegu regulacyjnego. Należy ta dobrać wartość odniesienia i amplitudę sou, aby uzysać przebiegi, dla tórych sterowanie nie ulega ograniczeniom, ewentualnie ograniczane jest minimalnie. Na przyładowym wyresie powyżej są to soi zaznaczone oręgami. Dla taich soów spełniony jest warune pracy liniowej i postać przebiegu powinna być zbliżona do założeń projetowych. W sprawozdaniu umieścić róti omentarz, stwierdzający czy ształt uzysanej odpowiedzi jest analogiczny przy sou w górę i w dół, jeżeli zgodność nie występuje, podać uzasadnienie. Jeden z wybranych soów należy powięszyć ta, aby w doładny sposób oreślić przeregulowanie. Powięszenie można wyonać w programie TwinCAT Scope View wyorzystując opcję Zoom. W tym celu należy olejno: linąć w obszarze wyresu, linąć ionę Zoom, wsazać ursorem powięszany element wyresu i linąć, liając wielorotnie uzysuje się olejne powięszenia, w celu cofnięcia powięszenia, należy linąć ionę Zoom-out. Przyładowe powięszenie przebiegu odpowiedzi soowej, zaznaczone oręgiem niebiesim na poprzednim wyresie, uazane jest poniżej. 16
66.3 65 Wartość przeregulowania p % 100% 26%. 5 W sprawozdaniu zamieścić powięszony wyres odpowiedzi soowej oraz wyliczenie przeregulowania. W sprawozdaniu oreślić czy wartość przeregulowania jest zgodna z założeniami projetowymi i uzasadnić zgodność bądź niezgodność. Podać rzeczywisty czas regulacji i porównać go z oszacowaniem doonanym w puncie 2. 4.4. Badanie śledzenia oresowo zmiennej wartości zadanej Jao przebieg wartości zadanej wybrany zostanie jeden z sygnałów, możliwych do wytworzenia przez generator fbctrl_gen. Zwrócić się do prowadzącego z zapytaniem o parametry przebiegu. W przypadu brau wsazań prowadzącego, samodzielnie ustalić postać przebiegu, respetując następujące zalecenia: 1. Wartość zadana nie powinna wychodzić poza przedział 40 80% zaresu, gdyż może to wiązać się z ograniczeniami sygnału sterującego, a przez to utratą liniowości. 2. Ores przebiegu powinien wynosić co najmniej 300 s. 3. Wybrać przebieg o ształcie sinusoidalnym lub trójątnym. Po oreśleniu wartości parametrów onfiguracyjnych, tóre zapewnią generację pożądanego przebiegu (por. pt. 3), wprowadzić je do odu programu reg_pi.pro. W programie tym należy zmienić inicjalizację wartości flagi bmode na TRUE, co oznacza wybór generatora sygnałowego jao bieżącego źródła wartości zadanej. Zmodyfiowany program sompilować i uruchomić, orzystając z trybu Online. Przed właściwym uruchomieniem programu zaleca się wyonanie restartu programowego sterownia. Wywołać olejno następujące opcje: Project Online Online Online Build Login Reset All Run Po uruchomieniu programu uatywnić rejestrację przebiegu w TwinCAT Scope View (Scope Start Scope lub przycis ). Obserwowany przebieg wartości zadanej powinien być zgodny z zaplanowanym. W przypadu niezgodności, przeanalizować jaie parametry onfiguracyjne programu wymagają orety. W razie potrzeby zatrzymać program i wylogować się z trybu Online, zmodyfiować program, sompilować go i ponownie uruchomić. Po stwierdzeniu poprawnej postaci przebiegu wartości zadanej i sutecznego jej śledzenia przez uład regulacji, zarejestrować przebieg. Rejestracja powinna objąć przynajmniej dwa oresy zmian wartości zadanej. Należy zapisać obraz eranu z otrzymanym przebiegiem, tóry powinien być podobny do jednego z poniżej przedstawionych. Do sprawozdania dołączyć uzysany obraz eranu. 17
Na podstawie powyższych wyresów można zauważyć, że przebieg sterowania w przypadu śledzenia sygnału sinusoidalnego ma ształt zgodny z tym sygnałem (taże sinusoidalny), natomiast dla trójątnego przebiegu wartości zadanej nie uzysuje się trójątnego przebiegu sterowania. W sprawozdaniu wyjaśnić ten efet. Doonać przybliżenia wyresu w obszarze, w tórym zachodzi ustabilizowane śledzenie wartości zadanej narastającej liniowo. W przypadu przebiegu sinusoidalnego, obszar najlepszej liniowości przypada na otoczenie puntu przejścia przez wartość zero. W przypadu przebiegu trójątnego, najlepiej wyorzystać ońcowy zares przedziału narastania. Zasadę realizacji przybliżenia uazują poniższe rysuni. e u e u W sprawozdaniu zamieścić obraz eranu z wyresem po przybliżeniu, pozwalającym na odczytanie wartości błędu ustalonego śledzenia. Podać odczytaną wartość błędu ustalonego e u. W sprawozdaniu wyjaśnić czy i ja wartość odczytanego błędu ustalonego śledzenia wynia z parametrów obietu i nastaw regulatora. Wyznaczyć teoretyczną wartość błędu ustalonego. Czy teoretyczna wartość zgadza się z wartością odczytaną z wyresu? 18