Industriell reglerteknik: Föreläsning 2 Martin Enqvist Reglerteknik Institutionen för systemteknik Linköpings universitet
Föreläsningar 1 / 33 1 Sekvensstyrning: Funktionsdiagram, Grafcet. 2 Grundläggande reglerteori i diskret tid. 3 Modellering. Design av regulatorer. 4 Framkoppling från referenssignal. PID-regulatorn. 5 PID-regulatorn. Implementering av regulatorer. 6 Regulatorer i drift. Olinjära regulatorer. 7 Regulatorstrukturer. 8 Regulatorstrukturer. MPC: Grundprincip, problemformulering. 9 MPC: Problemformulering, referensföljning, I-verkan. 10 MPC: Stabilitet. 11 Gästföreläsning. 12 MPC: Tolkningar. Sammanfattning.
Repetition: Reglerteknik, grundkurs (1/4) 2 / 33 Konsten att få saker att uppföra sig som vi vill. r Σ F u G y + Nyckelbegrepp: System och modell Insignal, utsignal, referenssignal, störning Återkoppling öppen styrning Stabilitet Utmaningar: Störningar Delvis okända systemegenskaper
Repetition: Reglerteknik, grundkurs (2/4) 3 / 33 PID-reglering: (de tre delarnas betydelse) Verktyg: u(t) = K P e(t) + K I t Överföringsfunktion, poler, nollställen (koppling poler stegsvar) Blockschema (blockschemaräkning) Rotort, nyquistkriteriet (två analysmetoder) de(t) e(τ) dτ + K D t 0 dt
Repetition: Reglerteknik, grundkurs (3/4) 4 / 33 Analys och design i frekvensdomänen: Bodediagram (en plott av G(iω)) Specifikationer på G o (ω c, ϕ m, ω p, A m, G o (0)) och på G c (ω B, M p, G c (0)) Kompensering m.h.a. bodediagram (lead-lag) Känslighet för störningar Robusthet mot modellfel Magnitude (db) Phase (deg) 60 50 40 30 20 10 0 10 20 0 45 90 135 Bode Diagram 180 10 3 10 2 10 1 10 0 10 1 Frequency (rad/sec)
Repetition: Reglerteknik, grundkurs (4/4) 5 / 33 Tillståndsbeskrivningar och reglering: ẋ = Ax + Bu y = Cx ˆx = Aˆx + Bu + K(y C ˆx) u = Lˆx + r Tillståndsbegreppet Stabilitet egenvärdena till A-matrisen Styrbarhet, observerbarhet, minimal realisation Tillståndsåterkoppling, polplacering Rekonstruktion av tillstånd m.h.a. observatör, polplacering
Grundläggande reglerteori i diskret tid 6 / 33
Samplad reglering 7 / 33 Reglering baserad på (ekvidistant) sampling av mätsignalerna: r(t) r(kt S ) u(kt S ) u(t) y(t) Sample Regulator Hold System y(kt S ) Fördelar med samplad reglering: enkelt att implementera godtyckliga funktioner (t.ex. tidsfördröjningar, olinjäriteter, logiska uttryck), billigare hårdvara, bättre flexibilitet Nackdelar: fler parametrar att välja, kan försämra regleringen
Samplad reglering... 8 / 33 Tidsdiskreta regulatorer kan fås på två sätt: I. Vid tidsdiskret reglerdesign baserad på en tidsdiskret systembeskrivning (kommer att diskuteras på föreläsningarna om MPC) II. Vid en tidsdiskret implementering av en tidskontinuerlig regulator (kommer att diskuteras på fö 5)
Tidsdiskreta systembeskrivningar 9 / 33 Man behöver en tidsdiskret modell och tidsdiskreta reglertekniska analysverktyg då man direkt designar en tidsdiskret regulator (alt. I på föreg. bild) har gjort en tidsdiskret implementering av en tidskontinuerlig regulator (alt. II på föreg. bild) och den inte fungerar som väntat ska ta fram en robust allmän metod för tidsdiskret implementering av tidskontinuerliga regulatorer (som ska garantera att man aldrig hamnar i situationen i föreg. punkt)
Sampling av systembeskrivning 10 / 33 Sampling av en systembeskrivning innebär att man tar fram en tidsdiskret modell baserat på en tidskontinuerlig. Antag att systemet är på tillståndsform: { ẋ = Ax + Bu ( G(s) = C(sI A) 1 B) y = Cx och att insignalen är styckvis konstant, d.v.s. att u(t) = u(kt S ), kt S t < kt S + T S. Lösningen till tillståndsekvationerna kan skrivas x(t) = e A(t t0) x(t 0 ) + t t 0 e A(t τ) Bu(τ) dτ
Sampling av systembeskrivning... 11 / 33 Resultat: { x(kt S + T S ) = F x(kt S ) + Gu(kT S ) y(kt S ) = Hx(kT S ) där F = e AT S, G = TS 0 e Aσ B dσ och H = C (Detta är en exakt beskrivning av systemet i samplingsögonblicken.) e AT S beräknas enklast m.h.a. sambandet I Matlab: ss, c2d e At = L 1 {(si A) 1 }
Tidsdiskret till tidskontinuerligt? 12 / 33 Omvänt problem: Hitta A så att e AT S = F. Därefter kan B beräknas som B = ( TS 0 e Aσ dσ) 1 G Komplikationer: e AT S = F kan sakna lösning. e AT S = F kan ha flera lösningar.
Lösning 13 / 33 Ett tidsdiskret system på tillståndsform är sin egen lösningsalgoritm. x(kt S + T S ) = F x(kt S ) + Gu(kT S ) y(kt S ) = Hx(kT S ) x(kt S ) = F x(kt S T S ) + Gu(kT S T S ) = F (F x(kt S 2T S ) + Gu(kT S 2T S )) + Gu(kT S T S ) =... = F (k k0) x(k 0 T S ) + k 1 l=k 0 F (k l 1) Gu(lT S )
Styrbarhet 14 / 33 Definition: Ett system är styrbart om det för alla val av x finns en insignal som på ändlig tid tar systemet från x(0) = 0 till x. (Samma definition som i kontinuerlig tid.) Uttrycket på föregående sida ger: x(nt S ) = [ G F G F 2 G... u(nt S T S ) F N 1 G ] u(nt S 2T S ). u(t S ) u(0)
Styrbarhet... 15 / 33 Kriterium: Ett system med dim x = n är styrbart om och endast om S(F, G) = [ G F G F 2 G... F n 1 G ] har full rang. OBS: Styrbarheten kan förloras vid sampling.
Observerbarhet 16 / 33 Definition: Ett system är observerbart om det för alla val av x 0 gäller att utsignalen inte är identiskt lika med noll då x(0) = x och u(kt S ) = 0. (Samma definition som i kontinuerlig tid.) y(0) y(t S ).. = y(nt S ) H HF. HF N x(0)
Observerbarhet... 17 / 33 Kriterium: Ett system med dim x = n är observerbart om och endast om O(F, H) = H HF. HF n 1 har full rang. OBS: Observerbarheten kan förloras vid sampling.
Exempel 18 / 33 Systemet ẋ(t) = y(t) = ( 1 ( ) 0 π x(t) + π 0 1 ) x(t) ( ) 0 u(t) 1 är både styr- och observerbart eftersom [ B AB ] = ( 0 π 1 0 ) [ C CA ] ( ) 1 1 = π π
Exempel... 19 / 33 Sampling (zero order hold) med T S = 1 ger ( ) 1 0 x(k + 1) = x(k) + 0 1 y(k) = ( 1 1 ) x(k) ( ) 2/π u(k) 0 Det tidsdiskreta systemet är varken styr- eller observerbart eftersom ( ) [ ] ( ) [ ] 2/π 2/π H 1 1 G F G = = 0 0 HF 1 1
Exempel... 20 / 33 Utsignalen då x(0) = ( 1 1 ) T och u(t) = 0: 2.5 2 1.5 1 0.5 0 0.5 1 1.5 2 2.5 0 2 4 6 8 10
Exempel... 21 / 33 x 2 (t) (blå linje) då x(0) = 0 och insignalen (röd linje) är styckvis konstant: 0.6 0.4 0.2 0 0.2 0.4 0.6 0.8 0 0.5 1 1.5 2
Z-transformen 22 / 33 Den tidsdiskreta motsvarigheten till laplacetransformen är z-transformen: Y (z) = Z{y(kT S )}(z) = y(kt S )z k k=0 (y(kt S ) = 0 för k < 0)
Z-transformen... 23 / 33 Några egenskaper: Z{ Z{ay(kT S ) + bv(kt S )} = ay (z) + bv (z) Z{y(kT S T S )} = z 1 Y (z) + y( T S ) Z{y(kT S + T S )} = zy (z) zy(0) k y(kt S mt S )v(mt S )} = Y (z)v (z) m=0 Slutvärdesteoremet (om y(kt S ) konvergerar): lim k y(kt S) = lim z 1 (z 1)Y (z)
Överföringsoperatorn 24 / 33 Med förskjutningsoperatorn, qx(kt S ) = x(kt S + T S ), kan x(kt S + T S ) = F x(kt S ) + Gu(kT S ) y(kt S ) = Hx(kT S ) skrivas qx(kt S ) = F x(kt S ) + Gu(kT S ) y(kt S ) = Hx(kT S ) Detta ger y(kt S ) = H(qI F ) 1 Gu(kT S ) Överföringsoperatorn G TS (q) = H(qI F ) 1 G ger en insignal-utsignal-beskrivning av systemet.
Överföringsoperatorn... 25 / 33 En allmän rationell överföringsoperator utan direktterm G TS (q) = B(q) A(q) = b 1 q n 1 +... + b n q n + a 1 q n 1 +... + a n svarar mot en differensekvation y(kt S ) = B(q) A(q) u(kt S), d.v.s. y((k + n)t S ) +... + a n y(kt S ) = b 1 u((k + n 1)T S ) +... + b n u(kt S ) Alternativt skrivsätt: G TS (q) = impulssvaret (viktfunktionen). I Matlab: tf, impulse g TS (m)q m, där g TS (m) är m=1
Poler 26 / 33 Tidskontinuerligt system på minimal (styr- och observerbar) tillståndsform: { ẋ = Ax + Bu y = Cx Systemets poler = egenvärdena λ i till matrisen A Motsvarande samplade system har, om det är minimalt, poler som ges av egenvärdena e λit S till matrisen F = e AT S. Stabilitetsområdet för ett tidsdiskret system är det inre av enhetscirkeln. I Matlab: pole
Nollställen 27 / 33 Inget enkelt samband mellan det tidskontinuerliga och det tidsdiskreta systemets nollställen. Det samplade systemet kan få nollställen utanför enhetscirkeln även om det tidskontinuerliga systemet saknar nollställen i höger halvplan. I Matlab: zero
Frekvensfunktionen 28 / 33 Frekvensfunktioner för ett tidskontinuerligt system samt samplade system för T S = 2s, T S = 1s, T S = 0.5s, T S = 0.1s: 10 0 Amplitude 10 2 10 4 10 1 10 0 10 1 10 2 0 Phase (degrees) 100 200 300 10 1 10 0 10 1 10 2 Frequency (rad/s)
Rotort 29 / 33 En rotort beskriver hur polernas lägen ändras som funktion av någon parameter som påverkar systemet. I Matlab: rlocus, rlocfind Exempel: G TS (q) = B(q) A(q) regleras med en P-regulator G ry (q) = KB(q) A(q) + KB(q) Undersök när P (q) = A(q) + KB(q) = 0 har rötter innanför enhetscirkeln. Stabilitetsgräns: Avgör när rötterna skär enhetscirkeln.
Exempel: Rotort 30 / 33 Rotort för P-reglering av G(s) = s + 1 s 2 + s + 10 Rotort för P-reglering av motsvarande tidsdiskreta system (T S = 0.1): Root Locus Imaginary Axis 4 3 2 1 0 1 Root Locus Imaginary Axis 0.5 0.4 0.3 0.2 0.1 0 0.1 0.2 0.3 2 3 4 2 0 2 4 6 Real Axis 0.4 0.5 0.6 0.8 1 1.2 1.4 1.6 Real Axis
Nyquistkriteriet 31 / 33 Idé: Undersök hur G o (e iωt S ) (kretsförstärkningen) varierar när ωt S genomlöper 0 2π. Förenklat nyquistkriterium: Om G o (q) är stabil så är det återkopplade systemet stabilt om och endast om G o(q) 1+G o(q) kurvan G o (e iθ ), 0 θ 2π inte omcirklar 1. I Matlab: nyquist
Exempel: Nyquistkriteriet 32 / 33 0.15 Nyquistkurvan för systemet G(s) = (s + 2)5 10s(s + 1) 5 (grönt, heldraget) och motsvarande samplade system då T S = 0.1 (rött, streckat). 0.1 0.05 0 0.05 0.1 1.5 1 0.5 0
Sammanfattning 33 / 33 Exakt sampling av systembeskrivning (zero order hold) Styrbarhet och observerbarhet för tidsdiskreta system (OBS: Kan förloras vid sampling) Överföringsoperator/överföringsfunktion, poler, nollställen, frekvensfunktion för tidsdiskreta system Rotort, nyquistkriteriet för tidsdiskreta system
www.liu.se