Introduktion till SIMULINK Intitutionen för Tillämpad Fyik och elektronik Umeå Univeritet Verion: / - Reglerytem BE Grunderna Introduktion till Starta MATLAB - Välj i förta hand den Matlab om finn lokalt intallerad på din dator i labbet. Välj din egen hemkatalog ( cd h: eller bläddra ) En ny modell bildar du i Simulink genom att använda rullgardinmenyn "file" - "new" - "model". Starta "Simulink library brower" genom att markera ikonen och dubbelklicka höger muknapp: SIMULINK Grunderna.... Tidkontinuerliga Reglerytem. 8 Nu via: Tiddikreta Reglerytem... 4 Appendix A. Symboler/block.. 9 Att redovia...3
Introduktion till SIMULINK 3 Introduktion till SIMULINK 4 Dubbelklicka edan på Simulink-ymbolen å få: q h Grundfunktioner Fyiken lagar ger o detta ( olinjära pga rottecknet ) uttryck: dv dh = A = q a dt dt 9.8 h = q f ( h) w Där f(h) beckna w i figuren -Sambandet kan i blockchemaform bekriva å här: Reglerteknik q A*dh/dt dh/dt h Divere w /A f(h) dt Ett exempel: Simulera hur nivån (h) i en tank med avlopp (area a) i botten variera med inflödet (q): Tanken area = A, utflöde = w.
Introduktion till SIMULINK 5 Introduktion till SIMULINK 6 Välj edan att imulera förloppet i 5 ekunder: Skapa en ny modell och rita upp chemat. Dubbelklick höger muknapp för val av funktion och höger muknapp för att dra förbindninglinjer. Ventil / Gain Integrator h Fcn f(u) Med parametrarna A = m och a =. m få reultatet genom att dubbelklicka på ocillokopet ("cope" ) :
Introduktion till SIMULINK 7 Introduktion till SIMULINK 8 Att fundera över: Ventilen om öppnar flödet ( "tep" ) aktivera efter ekund. Hur ändra denna tid.? Vilken blir den teoretika lutnivån i tanken?. Verkar det tämma med imuleringen? Modifiera å att ventilen täng efter 5 ekunder och imulering ekunder. Hur ändra nivån i tanken? Via. Reglerteknik,Tidkontinuerliga ytem. Antag att vi vill reglera proceen ( + ) G( ) = ( + 4 + 44) med en proportionell regulator med äg K= gånger. Block och Workpace behöv normalt ej. Step Gain + 3+4 +44 Tranfer Fcn y To Workpace t To Workpace Om man direkt vill e tegvaret, använd "cope". Alternativt kan imuleringreultat placera i arbetbiblioteket med blocket "To Workpace". För att få korrekt tidinformation koppla en klocka in. Klockan hitta i Source-biblioteket. Obervera att i To Workpce-blocket kall "ave format" ätta till "matrix". Plott av reultatet kan göra med kommandor plot ( t, y )..9.8.7.6 Stegvar.5.4.3....4.6.8..4.6.8
Introduktion till SIMULINK 9 Introduktion till SIMULINK Underök vad om händer om en tranportfördröjning ( "dödtid" ) på t.ex.5 ek. införe i proceen: Exempel Tankreglering. Step Gain + 3+4 +44 Tranfer Fcn Tranport Delay A. tank. Parametrar: q inflöde [m 3 /] w utflöde [m 3 /] A area [m ] a utlopparea [m ] h nivå [m] q y Enl. id 4 kan tankdynamiken bekriva om: To Workpace w t To Workpace dv dh = A = q a dt dt 9.8 h = q f ( h).5 q /. /A Integrator h w.5 f(u) 3 4 5 6 7 8 9 Underök vad händer med ytemet tabilitet om dödtiden öka. Vilken lutat kan dra om dödtiden inverkan? a*qrt(*g*u) Antag att vi vill reglera nivån i tanken med hjälp av en pump + en -regulator. Pumpen lämnar ett flöde q om en funktion av den pänning u om tillför pumpen. Antag att följande gäller: q = k*u, med k = -5 [m 3 /]. Tanknivå mät med en nivågivare om anta ha överföringfunktionen =. Tankarea A =. [m ] och a=. Ob ignalbegränaren efter regulatorn. Praktika förhållanden gör att utignalen från :en begräna till området till +5 Volt. Ett SIMULINK-chema rita: Sty rignal till pump Step Controller Saturation ^(-5) Pump /. /A Integrator Nivå Fcn En imulering med -parametrarna K = 4, I= ( T I = ) och D= (T D =) ger: Nivågivare f(u)
Introduktion till SIMULINK Introduktion till SIMULINK ( Se appendix under "Simulink extra" för olika -algoritmer. ) 4 3.5 3.5 Styrignal För att inte SIMULINK-chemat kall bli å tort kan man nu definiera en tank om att eparat block genom att markera tanken ( med mupekaren ) och under EDIT välja "Create Subytem". Ett ubytem bilda ( Om Du vill kan Du komplettara namnet till Subytem Tank). Med tex kopiera och klitra in kan ubytem återanvända. Nedre tanken inlopp blir övre tanken utlopp..5 Nivå.5 4 6 8 4 6 8 Bör-värde= P=, I= -5V ^(-5) Pump ger Inflöde /. /A Integrator Olinjärt utflöde=a*qrt(*g*u) Utflöde( a=^(-5)) f(u) y Man oberverar att nivån inte når den önkade ( enhet ) utan tannar på.895. Ett kvartående fel på -.895=.5 enheter uppträder. Nivågivare To Workpace t Med en PI-regulator ( K=4, I= ) kan nämnda fel eliminera: To Workpace 4 3.5 Bör-värde= P=, I= -5V ^(-5) Pump ger Inflöde Inflöde Nivå Utflöde 3 Subytem Tank.5 Nivågivare y To Workpace.5 t To Workpace.5 4 6 8 4 6 8 B. Två tankar. bryta ned delblock etc.) är ett måte i törre ytem. Tip: Skriv demo i matlab-föntret och gå in under imulink. Många exempel finn där. Antag nu att låter utloppet från tanken leda till en likadan tank: ^(-5) Inflöde Nivå Nivå Bör-värde= P=, I= -5V Pump ger Inflöde Utflöde SubytemTank Inflöde Utflöde SubytemTank Nivågivare y To Workpace t To Workpace
Introduktion till SIMULINK 3 Introduktion till SIMULINK 4 Redovia uppgift. och. muntligt för labbhandledare (e uppgifterna nedan). Uppgift. Antag att övre tanken har en tartnivå på m (hur täller Du in detta värde? ) En imulering med P=.99, I= amt D= ger detta reultat: ( Vilka förlopp bekriv av kurvorna?) Räkna fram -parametrarna K, Ti och Td - e appendix Förklara den övre kurvan uteende. Vad bekriver de undre kurvorna? 7 6 5 Reglerteknik, Tiddikreta Sytem Denna del parar du till de du lät om tiddikret reglering i kuren (kap 5, ). Bakgrund: I dagen reglerytem är normalfallet tiddikreta (datorbaerade) regulatorer om tyr tidkontinuerliga proceer. Tip: Lä kap. 4 i Thoma "Modern Reglerteknik". Ta om exempel en :a ordningen proce med tidkontanten ekunder om reglera av en tiddikret P-regulator med förtärkningen ggr och med amplingfrekven Hz, dv amplingintervallet.5 ekunder. För att bekriva regulatorn tid-dikreta natur använd blocket "zero order hold" eller hållkret, vilken håller en ignal på kontant nivå mellan ampeltidpunkterna. Zero-order-hold-funktionen framgår av detta exempel med en tidkontinuerlig ramp ( A ) om ampla med ampelintervallet ekund ( B ): 4 A 5 4.5 3 Ramp Zero-Order Hold B out To Workpace time ramp 4 3.5 3.5.5 To Workpace.5.5.5.5 3 3.5 4 4.5 5 tid [] 3 4 5 6 7 8 9 Tid [] Regulator u Uppgift. Reglering av undre tanken. är intälld enligt uppgift.. a) Underök vad om händer om utlopparean a i den undre tanken öka från -5 [m ] till * -5 [m ]. Via grafikt. Förklara! b) Utlopparean a är nu.8* -5 [m ] för båda tankarna. Sytemet tarta med tomma tankar. Börvärdet ätt till m. Hur lång tid tar det innan nivån i undre tanken uppnår börvärdet? Via. BÖRvärde Gain Zero-Order Hold + :a ordn. proce y Blockchema om bekriver den reglerade proceen. u är tyrignal och y är utignal.
Introduktion till SIMULINK 5 Introduktion till SIMULINK 6 Det nya ytemet (obervera att nu kräv ingen zero-order-hold efterom vi har ett tiddikret block, "Dicrete PI-reg.", med amplingtiden.5 ek.) :.8.6.4. u G( ) = + BÖRvärde z-.9 z- Dicrete PI-reg. + :a ordn. proce.8.6.4. 5 5 tid[] Stegvar för proceen G() reglerad med tiddikret P-regulator med förtärkning ggr och ampelintervall.5 ek. Steget pålagt vid tiden t= ek. Man kan obervera att tegvaret planar ut mot nivån.67. BÖR-värder var ju = dv det finn ett kvartående fel -.67=.33. För att åtgärda detta provar vi med en PI-regulator om i tidkontinuerliga fallet kunde bekriva om: ( K TI + K) GP ( ) = K + = TI TI Den kan dikretiera i MATLAB t.ex å här: y.8.6.4..8.6.4. 5 5 5 tid [] % Dikretiera en PI % IN-data: % K=förtärkning % Ti=integrationtid % T=amplingintervall % % UT-data: % nd=täljare % dd=nämnare K=;Ti=;T=.5; num=[k*ti K];%Täljare den=[ti ];%Nämnare [nd,dd]=cdm(num,den,t); printy(nd,dd,'z') ger utkrift: z -.9 --------- z - Man er att utignalen från proceen (ÄR-värdet ) nu går mot, dv det kvartående felet har eliminerat. Detta är ett fundamentalt reultat i regler-tekniken att för via proceer å ger PI-reglering inget kvartående fel. Den tiddikreta PI-regulatorn blir med dea data: ( Ob olika, poitiv- repektive negativ repreentation, men de är likvärdiga! ): H z.9 z.9 z z ( z) = =
Introduktion till SIMULINK 7 Introduktion till SIMULINK 8 Exempel på en tiddikret polplacerad regulator i SIMULINK Se löt ex i röd bok (år 8) kap 9. ex a) med Dead-beat id 357. Blå bok (år ) kap 8.3 ex a) med dead-beat id 39. Step r 6.33 Gain Kr z z+.5 u Dicrete Tranfer Fcn /C(z).9 z+.66 z -.368 z+.368 y Dicrete Tranfer Fcn H (z) = B(z)/A(z) whwn h =5 ec 9.z-.9 z Dicrete Tranfer Fcn Function block for H(z) = B(z)/A(z) = (.9z^- +.66z^-)/(-.368z^- +.368z^-) Börvärde, ampelintervalltid = h = 5 ek Stegvar: enligt cope med nivå på i lutet Styrignal: enligt cope
Introduktion till SIMULINK 9 Introduktion till SIMULINK Mättning Relä "Signal and ytem": SubSytem [] IC In Out Sub-ytem Begynnelevärde MUX IN-port UT-port Appendix A. Några användbara SIMULINK-ymboler.. Tidkontinuerliga ytem. "Sink": (Via eller para ignaler. ) "Continuou"-biblioteket: imout untitled.mat To Workpace To File (-) + Tranfer Fcn Tranport Delay (+) Zero-Pole Ocillokop Till arbetbibliotek Till fil Överföringfunktion Dödtid Pol-Nolltälle-funktion "Source": (Signalkällor ) "Function and table": f(u) Contant Ramp Random Number Signal Generator Sine Wave Step Fcn Matematik funktion, t.ex f(u)=qrt(u) om vi vill generera ett rot-uttryck "Math": Simuleringtid "Control Sytem Toolbox": Gain Product tf(,[ ]) LTI Sytem LTI-block. ( Titta i MATLABS help ) Förtärkning Multiplikation Jämförare ( ob att ett minutecken mäte in ) "Nonlinear": Saturation Relay
Introduktion till SIMULINK Introduktion till SIMULINK "Simulink Extra" Additional linear: Överföringfunktion Integrator Fördröjning Hållkret Controller Controller (with Approximate Derivative) -regulator -regulator med modifierad derivata-del. Obervera att i SIMULINK bekriv -algoritmen å här: ( P+I+D) I U ( ) = K + + D Jämför med läroboken -algoritm: U ( ) = K ( + + TD ) T I Boken ( i) G K ( ) = K( + + TD) = K + T T + i i KT D I Simulink ( ii) G ( ) = K + + D K blir det amma, men hur kall I och D ätta i SIMULINK? Enligt def (i) och (ii) å gäller K I = T i amt D = KT D. Tiddikreta ytem. "dicrete" T z+.5 Dicrete Tranfer Fcn z- Dicrete-Time Integrator z Unit Delay Zero-Order Hold