Inrodukion ill SIMULIK Insiuionen för Tillämpad fysik och elekronik Umeå Universie 99-0-04, 07--6 SG, 008-09-4 BE Inrodukion ill SIMULIK Grunderna.. Biologiska sysem. 7 Uppgif: sudium av åerkoppla biosysem 9 Tidskoninuerliga Reglersysem....0 Exempel på idsdiskrea Reglersysem 7 Appendix A. Symboler 0
Inrodukion ill SIMULIK Börja laboraionen genom a följa de grundläggande exemplen sid 8. Därefer, lös laboraionsuppgifen som redovisas skriflig. Grunderna Sara MATLAB Sara "Simulink library browser" genom a markera ikonen och dubbelklicka höger musknapp: u visas:
3 Inrodukion ill SIMULIK Dubbelklicka sedan på Simulink-symbolen så fås: Grundfunkioner Reglereknik Diverse Du skapar en egen ny simulering genom a i Simulink uföra File - new model - De ger e ny om skrivbord där du kan bygga upp din simulering. E exempel: Inrodukionsexempel Simulera hur nivån h i en ank med avlopp area a i boen variera med inflöde q: Tankens area = A, uflöde = w. q h
4 Inrodukion ill SIMULIK Fysikens lagar ger oss dea olinjära pga roeckne uryck: dv d dh = A = q a d 9.8 h = q f h Sambande kan i blockschemaform beskrivas så här: q A*dh/d dh/d h /A d w fh Skapa en ny modell och ria upp schema. Dubbelklick höger musknapp för val av funkion och höger musknapp för a dra förbindningslinjer. Ghhgfufggf Venil / Gain s Inegraor h Scope Fcn fu
5 Inrodukion ill SIMULIK Välj sedan a simulera förloppe i 50 sekunder: Med paramerarna A = m och a = 0. m fås resulae genom a dubbelklicka på oscilloskope "scope" :
6 Inrodukion ill SIMULIK A fundera över: Venilen som öppnar flöde "sep" akiveras efer sekund. Hur ändra denna id.? Vilken blir den eoreiska slunivån i anken?. Verkar de sämma med simuleringen? Modifiera så a venilen sängs efer 5 sekunder och simulering 0 sekunder. Du Bör få foljande resula:
7 Inrodukion ill SIMULIK Exempel på simulering av e biologisk sysem: Efer Ljung/Glad: Modellbygge och simulering De finns djurarer med anal individer resp vid iden. aivieen för arerna anas vara konsana λ resp. λ. De föds sålunda λ i * i anal ungar av ar i per idsenhe. Dödsalen för arerna är μ i och de beror på illgången av föda och risken a bli uppäen. Vi kan allmän skriva a μ i = μ i,. De dör allså μ i, * i exemplar av aren i per idsenhe. eoeffeken beskrivs nu av differenialekvaionerna:,, d d d d μ λ μ λ = = Anag vidare a arerna lever av samma föda. Då kan ansäas: μ i, = γ i + δ i + Modellen blir: d d d d + = + = δ γ λ δ γ λ För λ = 3, λ =, γ = γ = γ = γ = fås: d d d d + = + = Sä 0 = 0. och 0 = begynnelsevillkor som säs i inegraorblocken :
8 Inrodukion ill SIMULIK d d d d + = + = Scope Produc Produc Produc s Inegraor s Inegraor Gain
9 Inrodukion ill SIMULIK Laboraionsuppgif: sudium av e åerkoppla biosysem. I e föreag så vill man sudera de nedbryningsprocesser som äger rum vid nedbryningen av förorenad jord. Speciell så vill man få kunskap om vilka fakorer som spelar in när man låer bakerier brya ned jord förorenad av kolväen. Man vill konsruera en simuleringsmodell som kan ge svar på följande frågor: I en försa sudie så anar man a syseme kan modelleras som e sysem av försa ordningen. Dvs. anag a den hasighe med vilken bakerierna i jorden bryer ned kolväe är proporionell mo koncenraionen av kolväe. Som exempel så har man anagi a mängden kolväe är 0 4 μg per gram jord vid saren för nedbryningen och a % av mängden kolväe brys ned varje dag. Efer hur lång id har koncenraionen kolväen minskas med 50%? modell: dc = kc C är koncenraionen kolväe i μg per gram jord. d I en uökad sudie så vill man även kunna simulera effeken av a mängden bakerier under nedbryningen ine är konsan uan växer med iden. Om samma exempel som i föregående fall analyseras, nu med illägge a nedbryningshasigheen är proporionell mo produken av koncenraionen av kolväe C respekive koncenraionen av bakerier B med en proporionalieskonsan = 0-5 μg per gram jord och dag. Ana a bakeriekoncenraionen är 0 μg per gram jord vid saren. Efer hur många dagar uppnår man lika mycke kolväe som i föregående exempel? Vid vilken idpunk avar illväxhasigheen av mängden bakerier? Vid vilken idpunk brys de ner mes kolväe/dag? modell: dc = kcb d db = + kcb d A redovisa Redovisa endas ovansående inlämningsuppgif. De övriga uppgiferna i dea labpek är avsedda som övningsuppgifer innan inlämningsuppgifen sam som söd inför kommande laboraioner och projekuppgifer. Redovisningen görs med en individuell skriflig rappor. Av rapporen ska de ydlig framgå hur uppgifen löss. Figurer med simulinkmodeller ska finnas med i rapporen liksom resulaen, dvs svar på frågorna i ovansående uppgif. Kommenera resulaen. Lämna in rapporen i Moodle.
0 Inrodukion ill SIMULIK Mer exempel på simulering med Simulink Reglereknik,Tidskoninuerliga sysem. Ana a vi vill reglera processen s + 0 G s = s s + 4s + 44 med en proporionell regulaor med säg K= gånger. Sep Gain s+0 s 3+4s +44s Transfer Fcn Scope Fgsaa y To Workspace Clock To Workspace Om man direk vill se segsvare, använd "scope". Alernaiv kan simuleringsresula placeras i arbesbiblioeke med blocke "To Workspace". För a få korrek idsinformaion kopplas en klocka in. Klockan hias i Source-biblioeke. Observera a i To Workspce-blocke skall "save forma" säas ill "marix". Plo av resulae kan göras med kommandor plo,y. 0.9 0.8 0.7 0.6 Segsvar 0.5 0.4 0.3 0. 0. 0 0 0. 0.4 0.6 0.8..4.6.8
Inrodukion ill SIMULIK Undersök vad som händer om en ransporfördröjning "dödid" på.ex 0.5 sek. införes i processen: Sep Gain s+0 s 3+4s +44s Transfer Fcn Transpor Delay Scope y To Workspace Clock To Workspace.5 0.5 0 0 3 4 5 6 7 8 9 0 Undersök vad händer med sysemes sabilie om dödiden ökas. Vilken slusas kan dras om dödidens inverkan?
Inrodukion ill SIMULIK Exempel Tankreglering. A. ank. Paramerar: q inflöde [m 3 /s] w uflöde [m 3 /s] A area [m ] a uloppsarea [m ] h nivå [m] q Enl. föregående beskrivning så kan ankdynamiken beskrivas som: w dv d dh = A = q a d 9.8 h = q f h q w /0.0 /A s Inegraor h fu a*sqr*g*u Anag a vi vill reglera nivån i anken med hjälp av en pump + en PID-regulaor. Pumpen lämnar e flöde q som en funkion av den spänning u som illförs pumpen. Anag a de gäller a q=k*u, med k = 0-5 [m 3 /s]. Tanknivå mäs med en nivågivare som anas ha överföringsfunkionen =. Tankarea A = 0.000 [m ] och a=0.0000 Obs signalbegränsaren efer regulaorn. Prakiska förhållanden gör a usignalen från PID:en begränsas ill område 0 ill +5 Vol. E SIMULIK-schema rias:
3 Inrodukion ill SIMULIK Sy rsignal ill pump Sep PID PID Conroller Sauraion 0^-5 Pump /0.000 /A s Inegraor ivå Scope En simulering med PID-paramerarna K = 4, I=0 T I = och D=0 T D =0 ger: Se appendix under "Simulink ivågivare exras" för olika PID-algorimer. Fcn fu Man observerar a nivån ine når den önskade enhe uan man får e kvarsående fel. Med en PI-regulaor P=4, I=, se appendix hur I definieras i Simulink kan nämnda fel elimineras:
4 Inrodukion ill SIMULIK B. Två ankar. Ana nu a låer uloppe från anken ledas ill en likadan ank: För a ine SIMULIK-schema skall bli så sor kan man nu definiera en ank som a separa block genom a markera anken med muspekaren och under EDIT välja "Creae Subsysem". E subsysem bildas Om Du vill kan Du kompleera namne ill Subsysem Tank. Bör-värde= PID PID P=, I= 0-5V 0^-5 Pump ger Inflöde /0.000 /A s Inegraor Scope Olinjär uflöde=a*sqr*g*u Uflöde a=0^-5 fu y ivågivare To Workspace Clock To Workspace PID Bör-värde= PID P=, I= 0-5V 0^-5 Pump ger Inflöde Inflöde ivå Uflöde Scope Subsysem Tank ivågivare y To Workspace Clock To Workspace Schema med ankar där insignal ill undre anken"ank " as från den övre ankens ulopp. Dea sä a dela upp syseme i block som i sin ur kan bryas ned
5 Inrodukion ill SIMULIK delblock ec. är e måse i sörre sysem. Tips: Skriv demos i malab-fönsre och gå in under simulink. Många exempel finns där. ivå PID 0^-5 Inflöde ivå Bör-värde= PID P=, I= 0-5V Pump ger Inflöde Uflöde SubsysemTank Inflöde Uflöde SubsysemTank Scope ivågivare y To Workspace Clock To Workspace Anag a övre anken har en sarnivå på m hur säller Du in dea värde? En simulering av en börvärdesändring med P=0.98, I= sam D=0 ger dea resula: Vilka förlopp beskrivs av kurvorna? Förklara den övre kurvans useende. Hur skall P, I och D säas i SIMULIK då man ve K, Ti och Td? Räkna fram mosvarande PID-paramerarna K, Ti och Td. K Svar: Enlig appendix se nedan - så gäller K=P, I = sam D = KTD som ger K=0.98 ggr, T i Ti = 0.98/I sek. resp. Td= 0 sek. 7 6 5 4 3 0 0 0 0 30 40 50 60 70 80 90 00 Tid [s]
6 Inrodukion ill SIMULIK Undersök vad som händer om uloppsarean a i den undre anken ökas från 0-5 [m ] ill *0-5 [m ]. Förklara! Undersök gärna hur sorleken på PID-regulaorns derivaa-del D påverkar mäsörningarnas genomslag på usignalen T.
7 Inrodukion ill SIMULIK Reglereknik, Tidsdiskrea Sysem Lämna dea avsni ill du läs kap 5 i kursboken Bakgrund: I dagens reglersysem är normalfalle idsdiskrea daorbaserade regulaorer som syr idskoninuerliga processer. Tips: Läs kap. 5 i Thomas "Modern Reglereknik". Ta som exempel en :a ordningens process med idskonsanen 0 sekunder som regleras av en idsdiskre P-regulaor med försärkningen ggr och med samplingsfrekvens Hz, dvs samplingsinervalle 0.5 sekunder. För a beskriva regulaorn ids-diskrea naur används blocke "zero order hold" eller hållkres, vilken håller en signal på konsan nivå mellan sampelidpunkerna. Zero-order-hold-funkionen framgår av dea exempel med en idskoninuerlig ramp A som samplas med sampelinervalle sekund B : A 5 4.5 ou 4 3.5 Ramp Zero-Order Hold B To Workspace ime ramp 3.5.5 Clock To Workspace 0.5 0 0 0.5.5.5 3 3.5 4 4.5 5 id [s] Regulaor u BÖRvärde Gain Zero-Order Hold 0s+ :a ordn. process y Scope Blockschema som beskriver den reglerade processen. u är syrsignal och y är usignal..8.6.4. u G s = 0s + 0.8 0.6 0.4 0. y 0 0 5 0 5 id[s]
8 Inrodukion ill SIMULIK Segsvar för processen Gs reglerad med idsdiskre P-regulaor med försärkning ggr och sampelinervall 0.5 sek. Sege pålag vid iden = sek. Man kan observera a segsvare planar u mo nivån 0.67. BÖR-värder var ju = dvs de finns e kvarsående fel -0.67=0.33. För a ågärda dea provar vi med en PI-regulaor som i idskoninuerliga falle kunde beskrivas som: G P K TI s + K s = K + = TI s TI s Den kan diskreiseras i MATLAB.ex så här: % Diskreisera en PI % I-daa: % K=försärkning % Ti=inegraionsid % Ts=samplingsinervall % % UT-daa: % nd=äljare % dd=nämnare K=;Ti=0;Ts=0.5; num=[k*ti K];%Täljare den=[ti 0];%ämnare [nd,dd]=cdmnum,den,ts; prinsysnd,dd,'z' ger uskrif: z -.9 --------- z - Den idsdiskrea PI-regulaorn blir med dessa daa: Obs olika men likvärdiga skrivsä! : H z.9 z.9 z z z = = De nya syseme observera a nu krävs ingen zero-order-hold efersom vi har e idsdiskre block, "Discree PI-reg.", med samplingsiden 0.5 sek. :
9 Inrodukion ill SIMULIK z-.9 BÖRvärde z- Discree PI-reg. 0s+ :a ordn. process Scope.8.6.4. 0.8 0.6 0.4 0. 0 0 5 0 5 0 5 id [s] Man ser a usignalen från processen ÄR-värde nu går mo, dvs de kvarsående fele har elimineras. Dea är e fundamenal resula i regler-ekniken a för vissa processer så ger PI-reglering inge kvarsående fel.
0 Inrodukion ill SIMULIK Appendix A. ågra användbara SIMULIK-symboler.. Tidskoninuerliga sysem. "Coninuous"-biblioeke: s+ Transfer Fcn Transpor Delay s- ss+ Zero-Pole Överföringsfunkion Dödid Pol-ollsälle-funkion "Funcions and ables": fu Fcn Maemaisk funkion,.ex fu=sqru om vi vill generera e ro-uryck "Mah": Gain Produc Försärkning Muliplikaion Jämförare obs a e minusecken mäse in "onlinear": Sauraion Relay Mäning Relä "Signals and sysems": SubSysem [] IC In Ou Sub-sysem Begynnelsevärde MUX I-por UT-por
Inrodukion ill SIMULIK "Sinks": Visa eller spara signaler. Scope simou To Workspace uniled.ma To File Oscilloskop Till arbesbiblioek Till fil "Sources": Signalkällor Clock Consan Ramp Random umber Signal Generaor Sine Wave Sep Simuleringsid "Conrol Sysems Toolbox": f,[ ] LTI Sysem LTI-block. Tia i MATLABS help
Inrodukion ill SIMULIK "Simulink Exras" Addiional linear: PID PID Conroller PID-regulaor PID PID Conroller wih Approximae Derivaive PID-regulaor med modifierad derivaa-del. Observera a i SIMULIK beskrivs PID-algorimen så här: P+I+D U s = P + I s + D s Jämför med lärobokens PID-algorim: U s = K + + TD s T s I i G K s = K + + TDs = K + T s T s PID + i i KT D s I ii GPID s = K + + s Ds Hur skall I och D säas i SIMULIK? Enlig def i och ii så gäller P = K K I = sam T i D = KT D. Tidsdiskrea sysem. "discree" T z+0.5 Discree Transfer Fcn z- Discree-Time Inegraor z Uni Delay Zero-Order Hold Överföringsfunkion Inegraor Fördröjning Hållkres