Industriella styrsystem Kurskompendium 13 mars 2015 REGLERTEKNIK AUTOMATIC CONTROL LINKÖPING Reglerteknik, Institutionen för systemteknik, Linköpings universitet, 581 83 Linköping www.control.isy.liu.se
Innehåll 1 Om reglerteknik och industriella styrsystem 3 1.1 Om reglerteknik............................. 3 1.2 Blockdiagram och verkligheten..................... 7 1.3 Ett tillämpningsexempel: Valsverk................... 9 1.4 Inbyggda system och öppna reglersystem................ 9 1.5 Ekonomin i reglertekniska förbättringar................ 11 2 Trimning av PI-regulatorer 15 2.1 En enkel processmodell.......................... 15 2.2 Inställning av PI-regulator........................ 16 2.2.1 Utan överföringsfunktioner................... 16 2.2.2 Med använding av överföringsfunktioner............ 17 2.2.3 Exempel.............................. 19 2.3 Utvidgning till mer komplicerade processer............... 21 2.4 Robusthet hos regulatorn........................ 22 2.5 D-del.................................... 23 2.6 Sammanfattning............................. 23 3 Tidsdiskret PID-reglering 25 3.1 Tidsdiskret reglering........................... 25 3.2 Tidsdiskret approximation av PID-regulatorer............. 28 3.3 Tidsdiskret approximation via operatorer............... 29 3.4 Integratoruppvridning i PID-regulatorer................ 32 3.4.1 Bakgrund............................. 32 3.4.2 Implementering på differentiell form.............. 35 3.4.3 Villkorlig integration....................... 36 3.4.4 Justering av I-delen....................... 37 3.5 Stötfria övergångar i PID-regulatorer.................. 38 3.6 Modifiering av D-delen.......................... 41 3.7 Regulatorkod för PID-regulatorer.................... 42 3.8 Allmänna regulatorer........................... 43 1
2 INNEHÅLL 4 Sekvensstyrning 45 4.1 Bakgrund................................. 45 4.2 Funktionsdiagram enligt IEC-848.................... 47 4.3 Baselement................................ 48 4.3.1 Grundläggande syntaxregler................... 50 4.4 Kontrollstrukturer............................ 50 4.4.1 Parallellförgreningens syntax.................. 50 4.4.2 Parallellförgreningens semantik................. 51 4.4.3 Alternativförgreningens syntax................. 51 4.4.4 Alternativförgreningens semantik................ 51 4.4.5 Repetitionens syntax....................... 51 4.4.6 Repetitionens semantik..................... 52 4.4.7 Sammanfattning av kontrollstrukturernas syntax....... 52 4.5 Handlingar................................ 52 4.5.1 Handlings- och typdeklarationer................ 53 4.5.2 Standardhandling........................ 54 4.5.3 Villkorlig handling........................ 54 4.5.4 Lagrad handling......................... 54 4.5.5 Tidsbegränsad handling..................... 55 4.5.6 Tidsfördröjd handling...................... 55 4.5.7 Pulshandling........................... 55 4.5.8 Sammansatta handlingar.................... 55 4.5.9 Sammanfattning av handlingstyper............... 56 4.6 Övergångsvillkor............................. 56 4.7 Specialfunktioner............................. 58 4.8 IEC-1131................................. 58 4.9 Strukturering av sekvenser........................ 59 4.9.1 Makrosteg............................. 59 4.9.2 Modularisering och synkronisering............... 60 4.9.3 Andra utvidgningar....................... 63 4.10 Realisering av sekvensstyrlagar..................... 63 4.10.1 Matematisk karaktärisering................... 64 4.10.2 Reläimplementering....................... 67 A Grunderna i stegkodsprogrammering 75 A.1 Datatyper och variabler......................... 75 A.2 Villkor................................... 76 A.2.1 Timers............................... 77 A.3 Operationer................................ 78 A.4 Strukturer................................. 79 A.5 Praktisk programmering......................... 82 Litteraturförteckning 84
Kapitel 1 Om reglerteknik och industriella styrsystem Syftet med detta kompendium är att utgöra en del av kursmaterialet i kursen Industriella styrsystem (TSUI04 eller TSIU06). Beroende på vilka kurser man har läst innan man kommer till kursen Industriella styrsystem kan det behövas olika mycket introduktion till ämnet reglerteknik. Därför inleds detta kapitel med en kort introduktion till reglerteknik i allmänhet och begreppen system, återkoppling och regulator. 1.1 Om reglerteknik Reglerteknik handlar om att styra ett system (även kallad process) så att det uppför sig på önskat sätt. Ett system kan i detta sammanhang vara många olika saker, beroende på inom vilket område man jobbar, som t ex en pappersmaskin, en industrirobot, motorn i en bil, ett flygplan, etc. Systemets beteende representeras av en eller flera s k utsignaler som t ex kan vara tjockleken hos det tillverkade pappret, positionen hos robotens verktyg, genererat vridmoment hos motorn eller flygplanets kurs. Ett system har också en eller flera insignaler eller styrsignaler med vilka man kan påverka systemets beteende. Det kan för exemplen ovan vara mängden pappersmassa som släpps ut på den s k viran i en pappersmaskin, strömmen till de motorer som får roboten att röra sig, bränsle och luft till förbränningen i motorn eller flygplanets roder. För att kunna skapa generella metoder för reglertekniska problem brukar insignalen (styrsignalen) till ett system betecknas med variabeln u(t), och på motsvarande sätt betecknas utsignalen med variabeln y(t), där t betecknar att dessa variabler beror av tiden. Av bekvämlighetsskäl utelämnas dock ibland argumentet t. (Vi begränsar oss här till situationer med endast en insignal och en utsignal.) Som ytterligare hjälp för att kunna använda mera generella metoder illustreras sambandet mellan in- och utsignal med ett s k blockschema enligt figur 1.1. 3
4 KAPITEL 1. OM REGLERTEKNIK OCH INDUSTRIELLA STYRSYSTEM v u System y Σ Figur 1.1: System I blockschemat har vi även introducerat variabeln v(t) vilken betecknar en ytterligare påverkan på utsignalen, där vi dock inte har något inflytande på egenskaperna hos v(t). En sådan variabel brukar kallas störning (eller ibland systemstörning). I flygplansexemplet ovan kan det t ex vara vinden (turbulens) som påverkar ett flygplans rörelse i luften. Blockschemat säger helt enkelt att y påverkas av u och v. Både för att skapa förståelse för ett systems egenskaper och för att bestämma sätt att styra ett system har man stor nytta av att beskriva sambandet mellan de inblandade variablerna, d v s u, y och v matematiskt, och vi ska illustrera detta med ett enkelt exempel. Exempel 1.1: Modell av uppvärmingsproblem Antag att man vill styra temperaturen i ett rum genom att välja den tillförda värmeeffekten på lämpligt sätt. Det innebär att temperaturen betecknas med y(t), och den tillförda effekten betecknas med u(t). Sambandet mellan dessa variabler kan tas fram via en energibalans, vilken säger att förändringen av energiinnehållet per tidsenhet är lika med den tillförda effekten minus den bortförda effekten. Energiinnehållet är proportionellt mot temperaturen med en proportionalitetskonstant som beror av massan och materialets värmekapacitivitet, d v s energiinnehållet kan skrivas E(t) = cy(t). Den tillförda effekten ges av u(t) och värmeeffekt bortförs om omgivningstemperaturen, vilken utgör en störning med beteckning v(t), är lägre än y(t). Mycket förenklat kan den bortförda effekten antas vara proportionell mot skillnaden mellan y(t) och v(t). Sammantaget kan vi sätta samman detta till ekvationen d (cy(t)) = u(t) a(y(t) v(t)) (1.1) dt där a är en konstant som bl a beror av hur välisolerat rummet är. Detta ger cẏ(t) = u(t) ay(t) + av(t) (1.2) eftersom c är konstant, och där ẏ(t) beteckar derivatan av y(t) med avseende på tiden, vilket ger cẏ(t) + ay(t) = u(t) + av(t) (1.3) Sambandet mellan de inblandade variablerna utgörs alltså av en differentialekvation.
1.1. OM REGLERTEKNIK 5 Som nämndes i inledningen handlar reglerteknik om att få ett system att uppföra sig på önskat sätt, och utgående från de begrepp som introducerats ovan kan detta formuleras något precisare som Bestäm u(t) så att y(t) hålls så nära ett önskat värde som möjligt trots inverkan av v(t). För att göra detta ännu tydligare ska vi även införa variabeln r(t) vilken representerar det önskade beteendet hos utsignalen, och r(t) brukar normalt benämnas referenssignal eller börvärde. Med hjälp av denna kan vi sedan införa variabeln e(t), vilken ges av e(t) = r(t) y(t) (1.4) d v s skillnaden mellan det önskade beteendet och det faktiska beteendet. Variabeln e(t) brukar benämnas reglerfel, och med dess hjälp kan uppgiften formuleras som Bestäm u(t) så att e(t) görs så liten som möjligt. Det centrala begreppet i de flesta reglersystem är återkoppling, vilket enkelt uttryckt innebär att styrsignalen u bestäms genom att obserervera och dra slutsatser från hur nära y är det önskade värdet r. Mekanismen för hur u bestäms utgående från r och y brukar ofta benämnas regulator. Ett blockschema är ett bra sätt att illustrera hur de olika variablerna påverkar varandra, och ett system styrt med hjälp av återkoppling kan beskrivas enligt figur 1.2. r e Σ Regulator u System y 1 Figur 1.2: Reglersystem En ofrånkomlig fråga är nu hur man utformar regulatorn på ett bra sätt, d v s bestämmer ett samband mellan det önskade beteendet r, det faktiska beteendet y och påverkan på systemet u. Ett mycket enkelt sådant samband är att låta u vara proportionell mot skillanden mellan r och y, d v s u(t) = K(r(t) y(t)) = Ke(t) (1.5) där K är en positiv konstant. Detta kallas följaktligen proportionell återkoppling eller helt enkelt P-återkoppling. Exempel 1.2: Proportionell återkoppling Antag nu att vi använder den proportionella återkopplingen i (1.5) på system (1.3) och att vi för enkelhets skull sätter a = c = 1. Vi antar dessutom att r(t) ändras i ett steg från noll till ett. Figur 1.3 visar utsignalen y(t) för tre olika värden på koefficienten K. Figuren visar att ju större värde på K som väljs, ju närmare det önskade värdet, d v s r(t) = 1, kommer y(t) att svänga in sig.
6 KAPITEL 1. OM REGLERTEKNIK OCH INDUSTRIELLA STYRSYSTEM 1 Stegsvar 0.9 0.8 0.7 0.6 y(t) 0.5 0.4 0.3 0.2 0.1 0 0 0.5 1 1.5 2 2.5 3 Sekunder Figur 1.3: Stegsvar y(t) för olika värden på koefficenten K. Heldragen K = 2, streckad K = 5 och prickad K = 10. I exemplet ovan såg vi att man med återkoppling kan uppnå att utsignalen nästan når till det önskade värdet, d v s lika med referenssignalen, men man kan dock visa att det för detta exempel inte går att nå det önskade värdet exakt med enbart P-återkoppling. En naturlig utvidgning av återkopplingen är att låta u(t) öka/minska tills y(t) nått r(t) exakt. Detta kan åstadkommas genom även låta u(t) bero av integralen av reglerfelet e från tiden då regulatorn startades fram till nuvarande tidpunkt t, d v s t 0 e(τ)dτ (1.6) Genom att kombinera P-återkopplingen med den integrerande (I-återkoppling) fås en s k PI-regulator där styrsignalen bestäms enligt u(t) = K(e(t) + 1 t e(τ)dτ) (1.7) T i där koefficienten T i benämnd integrationstid avgör hur mycket integralen av reglerfelet påverkar styrsignalen. Exempel 1.3: PI-reglering Antag nu att vi använder PI-regulatorn i (1.7) på systemet (1.3). Figur 1.4 visar stegsvaret, d v s utsignalen y(t) när r(t) ändras från noll till ett vid tidpunkten noll. Man kan göra flera observationer utgående från figuren. För det första ser man att y(t) svänger in mot det önskade värdet, d v s reglerfelet e(t) går mot noll, vilket 0
1.2. BLOCKDIAGRAM OCH VERKLIGHETEN 7 alltså är tack vare den integrerande verkan i regulatorn. För det andra ser man att y(t) beter sig olika beroende på hur integrationstiden T i har valts. För lägre värden på T i, vilket alltså innebär att faktorn 1/T i framför integralen blir större, kommer y(t) att för en tid anta värden som är större än den slutliga nivån. Det brukar kallas att y(t) har en översläng. 1.4 Stegsvar 1.2 1 0.8 y(t) 0.6 0.4 0.2 0 0 0.5 1 1.5 2 2.5 3 3.5 4 Sekunder Figur 1.4: Stegsvar y(t) för K = 5 och olika värden integrationstiden T i. Heldragen T i = 1, streckad T i = 0.5 och prickad T i = 0.2. 1.2 Blockdiagram, överföringsfunktioner och verkligheten Om man generaliserar blockschemat över det återkopplade reglersystemet som visades i figur 1.2 något, kan det ses ut som i figur 1.5. Detta sätt att beskriva reglersystem är vanligt i läroböcker i ämnet, men i den industriella verkligheten är förstås ett system som ska regleras något helt annat, och det kan till exempel se ut som i figur 1.6. Kursen Industriella styrsystem syftar bland annat till att hantera gapet mellan dessa båda bilder av system som ska regleras. v r + e u + Σ F G + Σ y + Σ z + n Figur 1.5: Ett reglerat system i reglerteknisk undervisningslitteratur.
8 KAPITEL 1. OM REGLERTEKNIK OCH INDUSTRIELLA STYRSYSTEM Figur 1.6: Ett system som ska regleras i den industriella verkligheten. Bilden föreställer ett varmvalsverk. Ett mellanting P&I-diagram: När man ställs inför en process som ska regleras är första frågan: vilka variabler/signaler kan man mäta och vilka signaler kan användas för att påverka processen? Det är alltså en fråga om att instrumentera processen med mätdon (givare, sensorer) och ställdon (aktuatorer). I regel avgörs dessa frågor som del i processdesignen, så att när processen byggs så instrumenteras den samtidigt. Den instrumenterade processen brukar beskrivas i ett så kallat P&I-diagram ett process- och instrumenteringsdiagram. Ett enkelt exempel på ett sådant diagram visas i figur 1.7. Ett mer komplicerat och typiskt P&I-diagram visas i figur 1.8. P&I-diagrammet visar alltså vilka signaler som mäts och hur de överförs till regulatorer som i sin tur beräknar styrsignalerna till processen. Detaljerna i regulatorberäkningarna brukar dock inte redovisas i diagrammet. Givare, ventiler och andra ställdon brukar markeras med standardiserade akronymer (t.ex. FC för flödesregulator och LT för nivåmätning) följt av ett individuellt nummer. Att ta sig från en process till ett P&I-diagram innebär alltså dels att man bestämmer var mätdon och ställdon ska placeras, och dels konfigurerar signalflödena, det vill säga bestämmer regulatorstrukturen. Konstruktionen av P&I-diagram är ofta integrerad i designprocessen och speciella CAD-verktyg finns för detta. Att studera ett P&I-diagram är typiskt hur en reglersystemtekniker bekantar sig med en process och det fungerar på så sätt som en mellanhand mellan processen själv och ett mer schabloniserat blockdiagram.
1.3. ETT TILLÄMPNINGSEXEMPEL: VALSVERK 9 Figur 1.7: Ett P&I-diagram för ett steckelvalsverk. 1.3 Ett tillämpningsexempel: Valsverk Valsning av stål är en viktig processindustriell tillämpning i Sverige. I princip skiljer man på varmvalsning och kallvalsning, beroende på om plåtens temperatur under valsningen är över eller under stålets rekristalliseringstemperatur. Vi ska här kort beskriva valsning i ett så kallat steckelverk, som är ett varmvalsverk med en installation som inte kräver så stora investeringar eftersom det bara har ett valspar, där i gengäld plåten valsas fram och tillbaka ett antal gånger. En principskiss för ett steckelverk visas i figur 1.9. Den förbearbetade plåten kommer först in på ingångssidan (från vänster i figur 1.9), passerar genom valsparet (arbetsvalsarna) som pressas samman med hydraulkraft av ett par yttre stödvalsar. Därefter rullas (hasplas) plåten upp på en rulle i en behållare (haspelugn) som håller en temperatur på cirka 1000 grader. Det finns likadana haspelugnar på båda sidor om valsarna och plåten valsas fram och tillbaka mellan dessa ett (udda) antal gånger tills den önskade tjockleken har uppnåtts. Tjockleken hos den valsade plåten mäts på båda sidor om arbetsvalsarna och kraften på dessa regleras via stödvalsarna. Stödvalsarnas funktion är också att ge större styvhet åt arbetsvalsarna och därmed hindra att de böjs under pressningen av plåten. Regleringen är typiskt av kaskadkaraktär, med en yttre krets som beräknar önskat gap mellan arbetsvalsarna och en inre krets som åstadkommer detta gap genom att styra kraften på stödvalsarna. 1.4 Inbyggda system och öppna reglersystem Reglertekniska lösningar finns i olika former i industriella tillämpningar. Med en enkel och precis klassificering kan man skilja på:
10 KAPITEL 1. OM REGLERTEKNIK OCH INDUSTRIELLA STYRSYSTEM Figur 1.8: Ett typiskt (men fortfarande relativt litet) P&I-diagram som visar malning och koppar-bly-flotation i anrikningsverket i Boliden (publiceras med tillstånd av Boliden Mineral AB). Inbyggda system: Med inbyggda system (eng. embedded systems) menas regleroch signalbehandlingsfunktioner som är inbyggda i typiska konsumentprodukter som mobiltelefoner, CD-spelare, tvättmaskiner, etc. Det är inte tänkt att man som användare ska gå in och ändra i funktionerna och regulatorerna, utan de är trimmade en gång för alla. Mycket av den IT-revolution som präglat vardagen de senaste åren utgörs just av inbyggda system, ofta med avancerade regler- och signalbehandlingsfunktioner. De är implementerade i specialdatorer eller i VLSI-kretsar, ibland med sofistikerade realtidssystem. Applikationsspecifika reglersystem: Mycket arbete läggs ner på att konstruera goda reglerfunktioner för viktiga och avancerade systemtillämpningar som till exempel autopiloter för flygplan, komfort- och säkerhetsfunktioner i bilar och reglersystem för industrirobotar. Ur användarsynpunkt är även sådana system inbyggda i meningen att man till exempel som bilförare inte ändrar regulatorparametrarna i farthållaren. Å andra sidan pågår ständig utveckling och förbättring av funktionerna och man kan till exempel mycket väl vid ett servicetillfälle för bilen få nedladdat ny programvara som ger annan regulator för antisladdsystemet.
1.5. EKONOMIN I REGLERTEKNISKA FÖRBÄTTRINGAR 11 Figur 1.9: Principskiss för ett steckelvalsverk. Öppna reglersystem: En tredje form av industriella reglersystem utgörs av de generella regulatorer som tillverkas av till exempel ABB, Honeywell och Siemens. De är konstruerade för att användas i olika sammanhang som till exempel reglering av pappersmaskiner, värmekraftverk, oljeraffinaderier och stålverk. Olika grader av kundanpassning kan ske till den specifika användingen. Detta är öppna system, där kunden (ofta i samverkan med leverantören) ansvarar för konfigurering och intrimning av regulatorerna. I större anläggningar finns personal (eller konsulter) som specifikt ansvarar för att övervaka och modifiera reglerfunktionerna. 1.5 Ekonomin i reglertekniska förbättringar Man brukar ju definiera reglerproblemet som att hålla utsignalen så nära ett börvärde som möjligt ( regulatorproblemet ) eller att följa en referensignal så bra som möjligt ( servoproblemet ) med användande av rimliga styrsignaler. Varför är detta industriellt intressant, och var ligger den ekonomiska vinsten i god reglerteknik? Vi ska i detta avsnitt 1 kort diskutera sådana frågor. Vi kan lista ett antal ekonomiska effekter av god reglerteknik: Produkten är inte möjlig utan reglerteknik: Vissa produkter är helt beroende av en reglerteknisk lösning. En CD-spelare, till exempel, skulle inte fungera alls om inte en bra regulator styrde laserstrålen med tillräcklig precision. Produkten är i sig en reglerteknisk lösning: Till exempel en farthållare eller ett antisladdsystem för en bil är en produkt som är paketerad reglerteknik. Lägre varians kring referensvärdet ger många fördelar som vi illustrerar mer nedan. Det kan betyda att 1 Avsnittet är inspirerat av kapitel 11 i den utmärkta boken Krister Forsman: Reglerteknik för processindustrin [4].
12 KAPITEL 1. OM REGLERTEKNIK OCH INDUSTRIELLA STYRSYSTEM man kan hålla högre produktionstakt eftersom man mer sällan bryter säkerhetsmarginaler. man får mindre kassation. man kan lägga börvärdet på en mer ekonomisk nivå (s.k. Target shift). man får en produkt med högre kvalitet (som kan säljas till högre pris). Bättre hushållning med styrsignalerna ger lägre energi- och råvarukostnader. Snabbare uppstarter och omställningar: Genom bättre reglering och snabbare upprampning till nya stationära nivåer kan tiden för produktionsomställningar minskas så att man snabbare börjar producera säljbara produkter. Bättre övervakning av processerna leder till färre driftstopp och underhåll i rätt tid. Betydelsen av att ha liten varians runt börvärdet: De faktiska reglermålen är sällan i sig formulerade som att variationen runt börvärdet ska minimeras. I stället gäller typiskt gränsvärden som inte får överstigas eller understigas. Det kan till exempel röra sig om utsläppsgränser, nivåer i tankar, eller kvalitetsvariabler som fukthalt i papper. Då är det typiskt så att det är ekonomiskt att ligga så nära gränsen som möjligt, men se till att den överskrides med högst en viss (liten) sannolikhet, som ger ekonomiska förluster. Det är klart att om man kan åstadkomma en reglering med mindre varians kan man skifta börvärdet närmre gränsen (se figur 1.10). Därigenom kan man nå bättre produktionsekonomi. Om man har krav på att medelvärdet över tiden ska vara ett visst värde kan man inte göra ovanstående target shift för att få en förbättrad produktionsekonomi. I stället är vinsten en lägre kassationsprocent. Eftersom variationerna ofta kan beskrivas som normalfördelade och sannolikheten i fördelningens svansar minskar snabbt med minskad varians, kan en ganska måttlig variansminskning ge en mycket påtaglig minskning i kassationsandel. Antag till exempel att man ska tillverka glasrör vars tjocklek måste ligga i intervallet 1.9 till 2.1 mm för att inte kasseras och att man måste ha en medeltjocklek över tiden på 2.0 mm. Om rörtjockleken har en standardavvikelse på 0.05 mm måste cirka 9% av produktionen kasseras men om standardavvikelsen kan reduceras till 0.033 mm minskar kassationen till en halv procent, den blir alltså 18 gånger mindre.
1.5. EKONOMIN I REGLERTEKNISKA FÖRBÄTTRINGAR 13 7 7 6 6 5 5 4 4 3 3 2 2 1 1 0 0 20 40 60 80 100 0 0 20 40 60 80 100 Figur 1.10: Reglering nära en gräns (heldragen). Vänster: börvärde (streckat) vid dålig reglering (Standardavvikelse 1). Höger: börvärde (streckat) vid god reglering. (Standardavvikelse 0.3). I det senare fallet kan börvärdet sättas 70% högre, vilket i princip ger 70% bättre produktionsekonomi.
14 KAPITEL 1. OM REGLERTEKNIK OCH INDUSTRIELLA STYRSYSTEM
Kapitel 2 Trimning av PI-regulatorer För att en PI-regulator ska fungera väl, krävs att regulatorparametrarna (förstärkningarna hos de proportionella, integrerande och deriverande delarna) är lämpligt inställda. Eftersom antalet PI-regulatorer i en processindustri kan vara stort är det viktigt att ha tillgång till enkla inställningsmetoder som ger bra prestanda i de flesta fall. Vi ska i detta avsnitt mycket översiktligt diskutera en metod för att ställa in en PI-regulator utgående från en enkel beskrivning av den process som ska styras. Beskrivningen blir enklare om man känner till begreppet överföringsfunktion, men vi ska även ge en kortfattad beskrivning av metoden utan att använda detta begrepp. 2.1 En enkel processmodell Om man har en modell av den styrda processen finns det många sätt att räkna ut en bra inställning av regulatorparametrarna. Problemet är att det ofta krävs mycket arbete för att ta fram en bra modell. Emellertid finns det en klass av processer där modellen kan fås ur ett enkelt experiment, nämligen de som beskrivs av ett första ordningens system som kan beskrivas av överföringsfunktionen G(s) = vilken motsvarar differentialekvationen k 1 + st (2.1) ẏ(t) + 1 T y(t) = k u(t) (2.2) T För att bestämma hur y reagerar på en förändring i u kan man helt enkelt lösa differentialekvationen. Om vi antar att y(0) = 0 och insignalen ändras som ett steg från noll till nivån u 0, d v s u(t) = u 0, t 0 ges lösningen av y(t) = k u 0 (1 e t/t ) (2.3) vilket är en funktion som startar i noll och går mot konstanten ku 0 när t blir stort. I ekvation (2.3) kan man se att vid tidpunkten t = T ges lösningen av y(t ) = k u 0 (1 e 1 ) = 0.63 k u 0 (2.4) 15
16 KAPITEL 2. TRIMNING AV PI-REGULATORER Koefficienten T brukar kallas systemets tidskonstant, och den anger tidpunkten då utsignalen nått 63 % av det slutliga värdet. I en figur som visar y(t) för ett specifikt fall kan man därmed tämligen rättframt bestämma koefficienterna k och T. I figur 2.1 visas hur parametrarna k och T kan bestämmas ur ett enkelt stegsvarsexperiment. Lyckligtvis kan många industriella processer approximeras ganska bra av denna u d u y 63% d y T Figur 2.1: Stegsvar för ett första ordningens system. Tidskonstanten T avläses direkt som tiden att nå 63 procent av slutvärdet medan k = d y /d u. enkla modell så den kan vara utgångspunkt för att bestämma lämpliga värden på PI-koefficienterna. 2.2 Inställning av PI-regulator Antag nu att vi ska ställa in en PI-regulator för ett första ordningens system (2.1). I figur 2.2 visas ett blockschema för reglersystemet av samma typ som i figur 1.2, där r är referenssignalen, u är styrsignalen och y är utsignalen. Vi antar alltså att r + e u y Regulator Process - Figur 2.2: En regulator som styr en industriell process. processen beskrivs av (2.1) och att regulatorn är en PI-regulator beskriven av u(t) = K (e(t) + 1 t Ti där reglerfelet e(t) ges av e(t) = r(t) y(t). 2.2.1 Utan överföringsfunktioner 0 ) e(τ)dτ (2.5) När man använder PI-återkopplingen i ekvation (2.5) på processen som beskrivs av (2.2) fås en ny differentialekvation som beskriver sambandet mellan r och y.om man
2.2. INSTÄLLNING AV PI-REGULATOR 17 väljer koefficienten T i = T kan denna differentialekvation förenklas till ẏ(t) + K k T y(t) = K k r(t) (2.6) T som har samma struktur som (2.2). Om man dessutom inför beteckningen λ = T K k (2.7) fås differentialekvationen ẏ(t) + 1 λ y(t) = 1 r(t) (2.8) λ Om man nu antar att r ändras från en nivå till en annan, t ex från 0 till r 0 fås lösningen på samma sätt som i föregående avsnitt till y(t) = r 0 (1 e t/λ ) (2.9) Detta innebär att utsignalen y(t) går mot det önskade värdet, i detta fall r 0, och att insvängningen sker med tidskonstanten λ, d v s efter tiden t = λ har y(t) nått 63% av sitt slutvärde. Givet att vi har kunnat bestämma koefficienterna T och k för en verklig process kan vi alltså relativt enkelt bestämma koefficientvärden för PI-regulatorn med hjälp av sambanden T i = T K = T λk (2.10) Valet av koefficienten λ blir en avvägning mellan hur snabbt man vill att utsignalen ska nå det önskade värdet (mindre λ ger snabbare insvängning) och några begränsande faktorer som t ex storleken på styrsignalen u(t). Om man önskar ett snabbt insvängningsförlopp, d v s litet λ, kommer förstärkningen K att bli stor. Härledningen ovan kan göra utförligare om man har använder överföringsfunktioner, vilket visas i avsnittet nedan. 2.2.2 Med använding av överföringsfunktioner Med Laplacetransformering kan PI-regulatorn i (2.5) uttryckas ( U(s) = K 1 + 1 ) E(s) (2.11) T i s }{{} F (s) och PI-regulatorn, F (s), kan skrivas För reglersystemet i figur 2.2 gäller nu F (s) = K 1 + T is T i s (2.12) Y (s) = G(s)F (s)(r(s) Y (s)) Y (s) = F (s)g(s) R(s) (2.13) 1 + F (s)g(s)
18 KAPITEL 2. TRIMNING AV PI-REGULATORER Ur denna ekvation kan man se att valet ger en enkel form för det slutna systemet, Y (s) = där λ = T/(kK). Man ser att regulatorn gör två saker T i = T (2.14) kk T s 1 + kk R(s) = 1 λs + 1 T s }{{} R(s) (2.15) G c Ser till att statiska förstärkningen hos det återkopplade systsemets överföringsfunktion G c (s), d v s värdet för s = 0, är 1. Detta betyder att utsignalen y är lika med referenssignalen r i stationärt tillstånd och är en konsekvens av närvaron av I-del i regulatorn. Ändrar tidskonstanten T till λ. Regulatortrimningen består alltså i att man bestämmer hur snabbt det återkopplade systemet skall vara genom att välja λ. Sedan blir regulatorparametrarna T i = T, K = T kλ (2.16) Eftersom trimningen baseras på valet av λ kallas prodeduren ofta λ-tuning.
2.2. INSTÄLLNING AV PI-REGULATOR 19 2.2.3 Exempel I figur 2.3 visas stegsvaret för en process. Ur figuren fås att d u = 0.25 och d y = 1 2.5 2 1.5 y,u 1 0.5 0 0 1 2 3 4 5 6 7 8 9 10 t Figur 2.3: Stegsvar för första ordningens system. så att k = 1/0.25 = 4. Eftersom steget kommer vid t = 1 och y(3) 0.63 får man T = 3 1 = 2. Inställningsreglerna ger alltså T i = 2 och K = 0.5/λ. Stegsvaren med regulatorn inkopplad för tre olika värden på λ visas i figur 2.4. Som framgår av 1 λ =1 0.8 λ=2 λ=4 0.6 y 0.4 0.2 0 0.2 0 1 2 3 4 5 6 7 8 9 10 t Figur 2.4: Stegsvar för PI-regulator som trimmats för λ-värdena 1, 2 och 4. Stjärnorna visar de tidpunkter då 63 % av slutvärdet nåtts. figuren får det reglerade systemet mycket riktigt en tidskonstant som är lika med λ.
20 KAPITEL 2. TRIMNING AV PI-REGULATORER De styrsignaler som regulatorn använder visas i figur 2.5. En jämförelse mellan 0.5 0.45 0.4 λ=1 0.35 u 0.3 0.25 0.2 λ=2 0.15 λ=4 0.1 0 1 2 3 4 5 6 7 8 9 10 t Figur 2.5: Styrsignaler för olika λ-värden. figurerna 2.4 och 2.5 visar att ett lågt λ-värde ( aggressiv trimning ) ger ett snabbare system men till priset av en insignal med större amplitud. När det gäller att bedöma en regulator är inte bara responsen vid börvärdesändringar av intresse. Det är också viktigt hur regulatorn hanterar störningar. I figur 2.6 visas ett fall där en störning d adderas på ingången till den styrda processen. Antag nu att den styrda processen fortfarande ges av (2.1) och att regulatorn är d r + e u + y Regulator Process - + Figur 2.6: Reglersystem med störning på ingången. en PI-regulator som ställs in enligt reglerna (2.16). I figur 2.7 visa hur reglerfelet utvecklas när störningen d är ett enhetssteg. Det styrda systemet är detsamma som i figur 2.4 och svaren för λ = 1 och λ = 4 visas. Som väntat får man en snabbare respons med det mindre λ-värdet och som väntat avtar felet mot noll (det senare är ju en allmän egenskap hos regulatorer med I-del). Man ser emellertid också en annan effekt av det mindre λ-värdet: det maximala reglerfelet blir mindre.
2.3. UTVIDGNING TILL MER KOMPLICERADE PROCESSER. 21 2.5 2 λ=4 1.5 e 1 0.5 λ=1 0 0 5 10 15 t Figur 2.7: Reglerfelet vid en enhetsstegstörning på PI-reglerat system. 2.3 Utvidgning till mer komplicerade processer. Den regulatortrimning som gåtts igenom här bygger på att man beskriver den styrda processen med den enkla överföringsfunktionen (2.1). I praktiken styr man naturligtvis ofta mer komplicerade processer. Erfarenheten visar dock att dessa ofta har stegsvar som approximeras väl på det sätt som beskrivs i figur 2.8. u d u y 63% d y L T Figur 2.8: Stegsvar för ett s.k. KLT-system. L och T avläses direkt medan k = d y /d u Här finns i stegsvaret en ren fördröjning på L tidsenheter. En sådan tidsfördröjning kan bero på egenskaper hos den styrda processen, t ex den tid det tar för en vätska att strömma i rör, men också på fördröjningar som inträffar i den digitala styrutrustningen eller i mätgivare. Eftersom stegsvaret nu beskrivs av de tre parametrarna k, L och T så kallas en process med detta stegsvar för KLT-process. För
22 KAPITEL 2. TRIMNING AV PI-REGULATORER sådana processer modifierar man inställningsregeln (2.16) till T i = T, K = T k(λ + L) (2.17) Närvaron av en fördröjning hanteras alltså genom att regulatorförstärkningen dras ned jämfört med fallet utan fördröjning. 2.4 Robusthet hos regulatorn När man ställer in en regulator genom t ex λ-tuning måste man vara medveten om att den modell man använder av den styrda processen alltid är en approximation av verkligheten. Det är därför bra om man väljer en regulatorinställning som fungerar även när verkligheten avviker från modellen. En sådan inställning kallas robust. Betrakta det experiment som beskrivs i figur 2.4. Där antog vi att processen beskrivs av en KLT-modell utan fördröjning, dvs med L = 0. Antag nu att verkligheten avviker från vår modell så att i själva verket L = 1, men att vi fortfarande använder den inställning som räknades ut för L = 0. I figur 2.9 visas stegsvaren för detta fall. Man ser att inställningarna med λ = 2 och λ = 4 är relativt okänsliga för att 1.8 1.6 λ=1 1.4 1.2 λ=2 1 y 0.8 0.6 0.4 λ=4 0.2 0 0.2 0 1 2 3 4 5 6 7 8 9 10 t Figur 2.9: Stegsvar för ett KLT-system där regulatorn ställts in för fallet L = 0 men verkliga systemet har L = 1 L ändras. För inställningen λ = 1 leder emellertid ändringen i L till att stegsvaret blir kraftigt oscillativt. Den mest ambitiösa inställningen, som ger snabbare system och bättre störningskänslighet, är alltså också den som blir mest känslig för att verkligheten avviker från modellen.
2.5. D-DEL 23 2.5 D-del De flesta industriella regulatorer är PID-regulatorer, dvs det finns även en deriverande del (D-del). Regulatorn beskrivs alltså av u(t) = K (e(t) + 1 t ) de(t) e(τ)dτ + T d (2.18) Ti dt Ofta deriveras inte referenssignalen, så att sambandet blir u(t) = K (e(t) + 1 t ) dy(t) e(τ)dτ T d Ti dt 0 0 (2.19) Det finns inga lika allmänt använda regler för inställningen av PID-regulatorn som de vi visade i (2.17). Om L = 0 blir det egentligen ingen förbättring av att använda derivatadelen. När L är större än noll kan man emellertid utnyttja derivatadelen till att delvis kompensera för tidsfördröjningen. Ett exempel visas i figur 2.10 där ett KLT-system med k = 4, T = 2 och L = 3 regleras. PI-regulatorn ställs in enligt 1.4 PI regulator 1.2 1 0.8 PID regulator y 0.6 0.4 0.2 0 0.2 0 5 10 15 20 25 t Figur 2.10: Stegsvar för KLT-system med PI respektive PID-regulator. (2.17) med λ = 1. Resultatet är som synes ett stegsvar med ganska stor översläng. Om en PID-regulator enligt (2.19) (referenssignalen deriveras alltså inte) används med samma inställning av K och T i och med T d = 2.4 så ser man att en betydande minskning av överslängen uppnås. 2.6 Sammanfattning Trimning av KLT-system bygger på att man bestämmer parametrarna k, L och T ur ett stegsvarsexperiment enligt figur 2.8 och sedan väljer regulatorparametrar enligt (2.17). Det enda som väljs fritt är parametern λ som fysikaliskt tolkas som det återkopplade systemets tidskonstant. En minskning av λ har i allmänhet två fördelar och två nackdelar.
24 KAPITEL 2. TRIMNING AV PI-REGULATORER Systemet blir snabbare. Störningsundertryckningen förbättras. Robustheten mot fel i modellen minskar. Regulatorn använder större styrsignaler.
Kapitel 3 Tidsdiskret PID-reglering Numera implementeras de allra flesta regulatorer med hjälp av datorer, men trots det är det mycket vanligt att man gör själva reglerdesignen i kontinuerlig tid. Eftersom det är vanligt att man tar fram tidskontinuerliga regulatorer som ska implementeras i programkod finns det ett behov av systematiska metoder för att ta fram tidsdiskreta approximationer av dessa regulatorer. Sådana metoder kommer att beskrivas i detta kapitel. En tidsdiskret implementering ger också möjlighet att med ganska enkla medel lösa flera problem som har med styrsignalmättning och modbyten att göra. Detta kommer här att diskuteras för PID-regulatorer. 3.1 Tidsdiskret reglering En regulator är i sig ett system som från de externa signalerna r och y skapar styrsignalen u. Detta system kan vara såväl tidskontinuerligt som tidsdiskret. Det finns en mångfald olika sätt att implementera det systemsamband som regulatorn representerar. Traditionell teknik har använt mekaniska, pneumatiska, hydrauliska och elektriska kopplingar för att realisera de differentialekvationer som regulatorsambandet egentligen utgör. Idag dominerar datorimplementerade regulatorer helt. Skälet är att det numera är enklare och billigare att realisera signalsamband i en dator, mikroprocessor eller med digital VLSI-teknik. Datorimplementering av en regulator har dock en viktig konsekvens. En dator arbetar sekventiellt med ändligt antal mätdata. Den avläser värdena på y(t) och r(t) vid diskreta tidpunkter, t = kt s där k betecknar heltalen k = 1, 2,..., och beräknar styrsignalen till processen baserat på dessa värden. En regulator som arbetar på ett sådant sätt ska vi kalla en samplande regulator (sampel = stickprov) eftersom dess styrsignal baserar sig på stickprov av processens utsignal och referenssignalen. Vi ska genomgående anta att samplingen sker ekvidistant, det vill säga med konstant tidsmellanrum T s, vilket medför att samplingstidpunkterna kan uttryckas t = kt s, k = 1, 2,... Arbetssättet för en samplande regulator ges i princip av figurerna 3.1 och 3.2. 25
26 KAPITEL 3. TIDSDISKRET PID-REGLERING r(t) r(kt S ) u(kt S ) u(t) y(t) Sample Regulator Hold System y(kt S ) Figur 3.1: En samplande regulator. y(t) u(kt S) y(kt S) t u(t) t t t Figur 3.2: Signalerna i figur 3.1. Blocket Sample tar emot de tidskontinuerliga signalerna y(t) och r(t), samplar dem och skickar vidare en följd av tal, y(kt s ) och r(kt s ), som är signalernas värden i samplingsögonblicken. Blocket Regulator arbetar i diskret tid och beräknar från talföljderna r(kt s ) och y(kt s ) en annan följd av tal, u(kt s ), enligt någon regel som vi tillsvidare symboliserar med R. Blocket Hold tar emot talföljden u(kt s ), och skickar vidare en tidskontinuerlig signal u(t) vars värde är lika med u(kt s ) för kt s t < (k + 1)T s. Denna signal u(t) är insignal till det tidskontinuerliga systemet S som i sin tur ger ifrån sig utsignalen y(t). Notera att blocket Regulator i figur 3.1 är ett tidsdiskret system. Däremot är hela den samplande regulatorn det streckade blocket i figur 3.1 ett tidskontinuerligt system. Vid sidan av datorbaserade system finns det flera andra exempel på samplande regulatorer. Reglering av ekonomiska system är ett typiskt exempel. Här baseras reglerbesluten på data som till exempel samlas in månadsvis. Regleringreppen beslutas därefter vid regelbundet eller oregelbundet återkommande sammanträden. En av de viktigare reglervariablerna för Sveriges ekonomi, riksbankens reporänta, är ju typiskt en styckvis konstant funktion. Ett annat fall av samplad reglering är då processens utsignal endast kan mätas vid tidsdiskreta ögonblick. Ett exempel på det är massakokning där en del vikti-
3.1. TIDSDISKRET REGLERING 27 ga mätvärden endast kan erhållas genom laboratorieanalys av stickprov från koket. Regleringreppen (t.ex. kemikalietillsats eller temperatur) baseras därefter på analysresultaten. I princip är det svårare att reglera ett system med en samplande regulator än med en tidskontinuerlig. Detta beror dels på att en samplande regulator bara förfogar över en delmängd av de insignaler som en tidskontinuerlig regulator kan använda, nämligen styckvis konstanta signaler. Vidare har den samplande regulatorn inte fullständig information om systemets uppförande. Om samplingsintervallet (dvs. tiden mellan samplingstidpunkterna) är för långt, kan betydelsefulla saker hända mellan samplingsögonblicken som regulatorn inte ser och alltså inte kan åtgärda. Vid syntes av samplande regulatorer måste man också först bestämma samplingsintervallet. Detta innebär alltså en extra parameter att välja jämfört med kontinuerliga regulatorer. Instabilitet i återkopplade system beror på att man litar för mycket på för gammal information. Samplande regulatorer använder sig av information där de nyaste inslagen kan vara upp till ett samplingsintervall gamla. Risken för instabilitet i system som regleras med samplande regulatorer kan alltså vara större, speciellt om samplingsintervallet är långt. Den viktigaste fördelen med samplande regulatorer är att det är enklare och billigare med datorimplementering. Man har heller inga principiella inskränkningar i karaktären på reglermekanismerna. Olinjäriteter och villkor av olika slag kan lätt införas. En annan fördel är att system som innehåller tidsfördröjningar lättare hanteras med samplad reglering. Om effekten av en insignal inte syns i utsignalen förrän efter en viss tid bör man minnas vilken insignal som drivit systemet under denna tid för att få god reglering. Vid kontinuerlig reglering kan man inte exakt minnas ett tidsförlopp. Men med samplad reglering är ju insignalen styckvis konstant, och man kan därmed minnas den genom att lagra ett ändligt antal tal. Tekniska och fysikaliska system är oftast till sin natur tidskontinuerliga. Det ter sig därför i regel naturligast att analysera dem som sådana och också beräkna tidskontinuerliga regulatorer för dem. Regulatorerna blir därmed typiskt differentialekvationer (linjära eller olinjära) som matas med y och r. Dessa kan inte exakt realiseras i en samplande regulator, utan differentialekvationerna diskretiseras på ett eller annat sätt, så att en tidsdiskret regleralgoritm erhålls. Ibland sker samplingen av data i den samplande regulatorn så snabbt att den tidsdiskreta algoritmen för allt praktiskt bruk beter sig som sin tidskontinuerliga förebild. Ibland är diskrepansen så stor att man måste ha speciell metodik för att analysera vad som händer då en samplande regulator används. Det finns också teknik för att direkt beräkna en samplande regulator som ger det slutna systemet önskade egenskaper. Det finns alltså två typiska situationer då man vill beskriva ett tidskontinuerligt system med hjälp av ett tidsdiskret: (i) Vi har beräknat en regulator som ett tidskontinuerligt system och vill implementera den i en dator som en tidsdiskret regleralgoritm. Detta alternativ diskuteras i detta kapitel.
28 KAPITEL 3. TIDSDISKRET PID-REGLERING (ii) Vi har en tidskontinuerlig beskrivning av ett reglerobjekt, och vill använda tidsdiskret designteori för att bestämma en samplande regulator. För detta behövs en samplad (tidsdiskret) beskrivning av reglerobjektet. 3.2 Tidsdiskret approximation av PID-regulatorer Vi ska i detta kapitel studera det första av alternativen för hur man bestämmer en tidsdiskret regulator, det vill säga att översätta en tidigare designad tidskontinuerlig regulator till en tidsdiskret motsvarighet. Utgångspunkten är att vi, ur datorns synvinkel, tar emot de tidsdiskreta signalerna och y(kt s ), k = 0, 1,... r(kt s ), k = 0, 1,... och med hjälp av dessa ska bestämma en sekvens av styrsignalvärden u(kt s ), k = 0, 1,... Vi ska i detta avsnitt använda ett rättframt och intuitivt sätt att approximera de olika delarna i en PID-regulator under förutsättningen att vi endast har tillgång till de inblandade signalerna i samplingstidpunkterna. PID-regulatorn ges i kontinuerlig tid av uttrycket u(t) = K(e(t) + 1 t e(τ)dτ + T d ė(t)) (3.1) T i Approximation av I-delen: Antag att man befinner sig i samplingstidpunkten kt s och vill skapa en approximation av integralen av reglerfelet fram till denna tidpunkt, d v s 1 kts e(τ)dτ (3.2) T i 0 givet att man endast har tillgång till reglerfelet i tidpunkterna kt s. Det är då naturligt att man approximerar integralen med en summa av reglerfelen i samplingstidpunkterna multiplicerat med samplingsintervallets längd, vilket ger approximationen 1 T i kts 0 e(τ)dτ T s T i (e(t s ) + e(2t s ) + e(kt s )) = T s T i 0 k e(l T s ) (3.3) Approximation av D-delen: Vidare behöver vi bestämma en approximation till derivatan av reglerfelet i samplingstidpunkten, d v s l=1 T d ė(kt s ) (3.4) och en sådan skapas enklast med en s k differensapproximation, där man bildar skillnaden mellan reglerfelet i nuvarande tidpunkt och föregående och dividerar denna med samplingsintervallets längd, vilket ger approximationen T d ė(kt s ) T d(e(kt s ) e(kt s T s )) T s (3.5)
3.3. TIDSDISKRET APPROXIMATION VIA OPERATORER 29 Sammantaget ger detta den tidsdiskreta PID-regulatorn u(kt s ) = K(e(kT s ) + T s T i k l=1 e(l T s ) + T d(e(kt s ) e(kt s T s )) T s ) (3.6) För att förenkla beteckningarna kan det ibland vara fördelaktigt att införa beteckningarna u k = u(kt s ) y k = y(kt s ) r k = r(kt s ) e k = e(kt s ) vilket medför att (3.6) kan skrivas u k = K(e k + T s T i k l=1 e l + T d T s (e k e k 1 )) (3.7) Man kan dessutom införa beteckningen I k för summan av integraldelen multiplicerad med koefficienten K, d v s I k = K T s T i k e l (3.8) l=1 Summan (integraldelen) I k kan därmed uppdateras som I k = I k 1 + K T s T i e k (3.9) Tillsammans med denna ekvation kan därmed den tidsdiskreta PID-regulatorn skrivas u k = Ke k + I k + K T d T s (e k e k 1 )) (3.10) I avsnittet nedan presenteras hur översättning av tidskontinuerliga regulatorer till tidsdiskret form kan generaliseras med hjälp av s k operatorer. 3.3 Tidsdiskret approximation via operatorer För att möjliggöra en systematisk behandling av hur man överför tidskontinuerliga regulatorer till tidsdiskret form ska vi här använda derivations- respektive förskjutningsoperatorer för att beskriva de olika regulatorerna. Derivationsoperatorn p definieras enligt pu(t) = u(t) (3.11) medan förskjutningsoperatorn q 1 definieras enligt q 1 u(kt ) = u(kt T ) (3.12) Om vi som i (3.5) använder en differenskvot som approximation av derivata får vi u(t) = pu(t) 1 T (u(t) u(t T )) = 1 T (1 q 1 )u(t) (3.13)
30 KAPITEL 3. TIDSDISKRET PID-REGLERING Vi ser alltså att en tidskontinuerlig regulator kan tidsdiskretiseras genom att göra variabelbytet Denna metod brukar kallas Eulers metod (bakåt). p = 1 T (1 q 1 ) (3.14) Exempel 3.1: Approx. av PI-regulator med Eulers metod En PI-regulator beskrivs av u(t) = K (e(t) + 1 t ) ( e(τ)dτ = K 1 + 1 ) e(t) (3.15) Ti T i p Genomförs variabelbytet enligt (3.14) får vi (1 q 1 )u(t) = K ((1 q 1 ) + T ) e(t), Ti 0 det vill säga u(kt ) = u(kt T ) + K (1 + T ) e(kt ) Ke(kT T ) (3.16) Ti Eulers metod (3.14) är ett enkelt och rättframt sätt att approximera en derivata. Ur stabilitetssynpunkt är det dock inte den bästa metoden. En bättre approximation fås istället genom att göra variabelbytet p = 2 T (q 1) (q + 1) = 2 (1 q 1 ) T (1 + q 1 ) (3.17) Denna metod brukar kallas bilinjär transformation, trapetsregeln eller Tustins formel. Exempel 3.2: Approx. av PI-regulator med Tustins formel Genomförs variabelbytet enligt (3.17) i ekvation (3.15) fås 2 (1 q 1 ( ) 2 T (1 + q 1 ) u(kt ) = K (1 q 1 ) T (1 + q 1 ) e(kt ) + 1 ) e(kt ) T i det vill säga ( (1 q 1 )u(kt ) = K (1 q 1 )e(kt ) + T ) (1 + q 1 )e(kt ) 2T i vilket medför ( u(kt ) = u(kt T ) + K 1 + T ) ( e(kt ) K 1 T ) e(kt T ) (3.18) 2T i 2T i Denna differensekvation kan jämföras med resultatet av Eulers metod (3.16). Differensekvationerna har samma ordningstal men koefficientvärdena blir olika beroende på vilken översättningsmetod som används. Av åskådlighetsskäl studerade vi i exemplet översättning av en PI-regulator, men
3.3. TIDSDISKRET APPROXIMATION VIA OPERATORER 31 Eulers respektive Tustins metod är naturligtvis tillämpbara även på regulatorer av högre ordning. Den resulterande tidsdiskreta regulatorn ger i de flesta fall ett slutet system med egenskaper som ligger nära dem som skulle erhållits med den ursprungliga tidskontinuerliga regulatorn. Ett villkor är dock att samplingen är snabb, typiskt cirka 10 gånger det slutna systemets bandbredd. Om den regulator som ska översättas är av högre ordning blir översättning med hjälp av Tustins regel tämligen arbetsam att genomföra. Man kan då med fördel använda något datorhjälpmedel, och vi ska här i ett exempel visa hur översättningen kan göras med Matlab och Control System Toolbox. Exempel 3.3: Översättning av PI-regulator i Matlab Låt oss utgå från PI-regulatorn u(t) = 5 vilken har överföringsfunktionen det vill säga överföringsoperatorn ( 1 + 1 0.5 F (s) = F (p) = T 0 5s + 10, s 5p + 10 p e(τ)dτ PI-regulatorn representeras som ett så kallat LTI-objekt i Matlab med funktionen tf enligt >> F=tf([5 10],[1 0]) Transfer function: 5 s + 10 -------- s Antag nu att vi vill översätta PI-regulatorn till tidsdiskret form med Tustins regel och med samplingsintervallet T = 0.1 sekunder. Detta kan göras med funktionen c2d där vi som argument anger regulatorn, samplingstiden samt vilken översättningsmetod som ska användas, enligt >> Fd=c2d(F,0.1, tustin ) Transfer function: 5.5 z - 4.5 ----------- z - 1 Sampling time: 0.1 )
32 KAPITEL 3. TIDSDISKRET PID-REGLERING Den tidsdiskreta regulatorn ges allstå av den tidsdiskreta överföringsoperatorn (ersätt helt enkelt z i resultatet ovan med q) F d (q) = 5.5q 4.5 q 1 = 5.5 4.5q 1 1 q 1 Detta motsvarar differensekvationen u(kt ) = u(kt T ) + 5.5e(kT ) 4.5e(kT T ) vilken kan jämföras med det allmänna uttrycket i ekvation (3.18). 3.4 Integratoruppvridning i PID-regulatorer 3.4.1 Bakgrund Det finns ett antal praktiska aspekter att hantera när man implementerar och använder en PID-regulator, och i detta avsnitt ska vi diskutera en sådan aspekt, nämligen integratoruppvridning vilken inträffar när regulatorn innehåller I-vekan och den styrsignal (spänning, kraft, tillförd effekt, etc) som PID-regulatorn genererar över- /underskrider den storlek som är praktiskt tillgänglig. Från ekvationen (3.10) har vi v k = Ke k + I k + K T d T s (e k e k 1 ) (3.19) där vi i ekvation (3.21) har bytt u k mot variabeln v k för att tydliggöra att v k är den styrsignal som beräknas medan u k är den styrsignal som faktiskt ställs ut till den fysikaliska processen. Om vi betecknar den maximala och minimala styrsignalen med u max respektive u min bestäms u k av villkoren u max om v k > u max u k = v k om u min v k u max (3.20a) u min om v k < u min Sammantaget innebär detta att PID-regulatorn innehåller följande steg d v s I k = I k 1 + K T s T i e n (3.21a) v k = Ke k + I k + K T d (e k e k 1 ) (3.21b) T s u max om v k > u max u k = v k om u min v k u max (3.21c) u min om v k < u min
3.4. INTEGRATORUPPVRIDNING I PID-REGULATORER 33 Uppdatera summan (I-delen) via reglerfelet i den senaste samplingstidpunkten. Bestäm en ny styrsignal via bidragen från I-delen, reglerfelet i den aktuella tidpunkten (P-delen) samt förändringen hos reglerfelet sedan förra samplingstidpunkten (D-delen). Ställ ut den beräknade styrsignalen om den ligger inom det fysikalist möjliga intervallet, eller annars största eller minsta möjliga styrsignal. Man ser att två värden, S k och e k, måste sparas från ett samplingstillfälle till nästa. Vi ska nu illustrera fenomenet med integratoruppvridning med ett exempel. Exempel 3.4: Integratoruppvridning Antag att vi styr ett system som beskrivs av differentialekvationen eller på överföringsfunktionsform ẏ(t) + 0.1y(t) = u(t) (3.22) G(s) = 10 10s + 1 Det kan t ex vara en tankprocess där u är inflödet i tanken och y är nivå eller ett system med en messa som roterar med vinkelhastigheten y och u är momentet som skapar rörrelsen. Systemet styrs med en diskret PI-regulator enligt (3.21) med T s = 0.1, K = 1, T i = 10 och T d = 0. Antag vidare att referenssignalen ändras plötsligt från 0 till 1.0 vid tiden t = 5 och att styrsignalen är begränsad så att den maximala amplituden är u max = u min = 0.2. Man får då det utseende på utsignalen som visas i figur 3.3. Utsignalen får en stor översläng och det tar relativt 1.4 1.2 1 0.8 y(t) 0.6 0.4 0.2 0 0 10 20 30 40 50 60 70 t Figur 3.3: Effekten av integratoruppvridning: Den heldragna kurvan är den utsignal som erhålls då styrsignalen är begränsad till u(t) 0.2. Den streckade kurvan är den utsignal som erhålls utan styrsignalbegränsning.