Implementering av PID-regulatorer med dator



Relevanta dokument
Regulator. G (s) Figur 1: Blockdiagram för ett typiskt reglersystem

En översikt av Kap 7. Tillbakablick, återkoppling Informationsteknologi Reglering av vätskenivån i en tank. Framkoppling. Informationsteknologi

LABORATIONSINSTRUKTION DIGITAL REGLERTEKNIK. Lab nr. 3 DIGITAL PI-REGLERING AV FÖRSTA ORDNINGENS PROCESS

TSIU61: Reglerteknik. Sammanfattning från föreläsning 3 (2/4) ˆ PID-reglering. ˆ Specifikationer. ˆ Sammanfattning av föreläsning 3.

TSIU61: Reglerteknik. PID-reglering Specifikationer. Gustaf Hendeby.

F13: Regulatorstrukturer och implementering

TSRT91 Reglerteknik: Föreläsning 2

Industriell reglerteknik: Föreläsning 4

Industriella styrsystem, TSIU04. Föreläsning 1

Reglerteknik. Kurskod: IE1304. Datum: 12/ Tid: Examinator: Leif Lindbäck ( )

Välkomna till TSRT19 Reglerteknik Föreläsning 3. Sammanfattning av föreläsning 2 PID-reglering Blockschemaräkning Reglerdesign för svävande kula

Läran om återkopplade automatiska system och handlar om hur mätningar från givare kan användas för att automatisk göra förändringar i processen.

Lunds Tekniska Högskola Avdelningen för industriell elektroteknik och automation

Exempel: reglering av en plattreaktor. Varför systemteknik/processreglering? Blockdiagram. Blockdiagram för en (del)process. Exempel: tankprocess

Systemteknik/Processreglering F2

Övningar i Reglerteknik. Differentialekvationer kan lösas med de metoder som behandlades i kurserna i matematisk analys. y(0) = 2,

Föreläsning 2. Reglerteknik AK. c Bo Wahlberg. 3 september Avdelningen för reglerteknik Skolan för elektro- och systemteknik

Kompletterande anteckningar för Mät- & Reglerteknik 1

Realisering och inställning av PID-regulatorer

Reglerteknik I: F3. Tidssvar, återkoppling och PID-regulatorn. Dave Zachariah. Inst. Informationsteknologi, Avd. Systemteknik

TSIU61: Reglerteknik. Matematiska modeller Laplacetransformen. Gustaf Hendeby.

Försättsblad till skriftlig tentamen vid Linköpings universitet

REGLERTEKNIK Laboration 5

7. Inställning av PID-regulatorer

AUTOMATIC CONTROL REGLERTEKNIK LINKÖPINGS UNIVERSITET. M. Enqvist TTIT62: Föreläsning 2. Här är

PID-regulatorn. Föreläsning 9. Frekvenstolkning av PID-regulatorn. PID-regulatorns Bodediagram

A

PID N7:0 N9:0 N9:2. PID-implementering i PLC. Laboration i industriella styrsystem. Denna version: 16 april Namn: Personnr: Datum: Godkänd:

AUTOMATIC CONTROL REGLERTEKNIK LINKÖPINGS UNIVERSITET. M. Enqvist TTIT62: Föreläsning 3 AUTOMATIC CONTROL REGLERTEKNIK LINKÖPINGS UNIVERSITET

För att få ett effektiv driftsätt kan det ibland behövas avancerad styrning.

Informationsteknologi

REPETITION (OCH LITE NYTT) AV REGLERTEKNIKEN

Reglerteknik 1. Kapitel 1, 2, 3, 4. Köp bok och övningshäfte på kårbokhandeln. William Sandqvist

TSIU61: Reglerteknik. Frekvensbeskrivning Bodediagram. Gustaf Hendeby.

Industriella styrsystem, TSIU06. Föreläsning 1

TSIU61: Reglerteknik

PID N7:0 N9:0 N9:2. PID-implementering i PLC. Laboration i industriella styrsystem. Denna version: 31 januari Namn: Personnr: Datum: Godkänd:

Föreläsning 11 Reglerteknik AK

Föreläsning 11. Reglerteknik AK. c Bo Wahlberg. 8 oktober Avdelningen för reglerteknik Skolan för elektro- och systemteknik

Mät- & reglerteknik 1: Kompletterande material

TSIU61: Reglerteknik. de(t) dt + K D. Sammanfattning från föreläsning 4 (2/3) Frekvensbeskrivning. ˆ Bodediagram. Proportionell }{{} Integrerande

Föreläsning 8, Introduktion till tidsdiskret reglering, Z-transfomer, Överföringsfunktioner

Tentamen i Reglerteknik. 7,5 hp varav tentamen ger 4,5 hp

Lösningar till tentamen i styr- och reglerteknik (Med fet stil!)

Industriella styrsystem, TSIU06. Föreläsning 1

G(s) = 5s + 1 s(10s + 1)

Välkomna till TSRT19 Reglerteknik M Föreläsning 9

Föreläsning 10, Egenskaper hos tidsdiskreta system

Välkomna till Reglerteknik Föreläsning 2

Tentamen i Reglerteknik. 7,5 hp varav tentamen ger 4,5 hp

PID-regulatorer och öppen styrning

ERE103 Reglerteknik D Tentamen

2. Reglertekniska grunder

Reglerteknik, TSIU61. Föreläsning 2: Laplacetransformen

Övningar i Automationsteknik FK

Tentamen i Styr- och Reglerteknik, för U3 och EI2

Lösningsförslag till tentamen i Reglerteknik (TSRT19)

Välkomna till TSRT19 Reglerteknik M Föreläsning 9

Välkomna till TSRT15 Reglerteknik Föreläsning 2

TENTAMEN I REGLERTEKNIK

Industriella styrsystem, TSIU06. Föreläsning 2

Laplacetransform, poler och nollställen

Reglerteknik. Datum: 20/ Tid: Examinator: Leif Lindbäck ( ) Hjälpmedel: Formelsamling, dimensioneringsbilaga, miniräknare.

2. Reglertekniska grunder

Laboration i Automationsteknik FK: Tillståndsåterkoppling. I denna laboration skall system på tillståndsform. x = Ax + Bu. y = Cx. x 1. -l 1 x 2.

TSRT21 Dynamiska system och reglering Välkomna till Föreläsning 10

Exempelsamling Grundläggande systemmodeller. Klas Nordberg Computer Vision Laboratory Department of Electrical Engineering Linköping University

F08: Tillståndsåterkoppling, Styrbarhet, Integraldel i regulator

Föreläsning 3. Reglerteknik AK. c Bo Wahlberg. 9 september Avdelningen för reglerteknik Skolan för elektro- och systemteknik

Formelsamling i Automationsteknik FK

Föreläsning 1 Reglerteknik AK

Välkomna till TSRT19 Reglerteknik Föreläsning 10

Industriella Styrsystem Övningskompendium

Reglerteknik AK Laboration 1 PID-reglering

Industriella styrsystem Kurskompendium

Systemteknik/Processreglering Laboration 1 Empirisk PID-reglering. Praktiska saker. 1. Inledning

REGLERTEKNIK, KTH. REGLERTEKNIK AK EL1000, EL1110 och EL1120

Mät- & reglerteknik 1: Kompletterande material

Föreläsning 9, Bestämning av tidsdiksreta överföringsfunktioner

Formalia. Reglerteknik, TSRT12. Föreläsning 1. Första föreläsningen. Vad är reglerteknik?

TENTAMEN: DEL A Reglerteknik I 5hp

PID N7:0 N9:0 N9:2. PID-implementering i PLC. Laboration i industriella styrsystem. Denna version: 2 februari Namn: Personnr: Datum: Godkänd:

REGLERTEKNIK Laboration 3

Reglering av tanksystem med PLC Programutveckling i CoDeSys-miljö Examensarbete inom högskoleingenjörsprogrammet Mekatronik OLIVER LARSSON ADAM SUNAL

AD-DA-omvandlare. Mätteknik. Ville Jalkanen. 1

Praktikfall i reglerteknik Råspritbränneriet i Nöbbelöv

TSIU06 - Lektion 1. Johan Dahlin [johan.dahlin(at)isy.liu.se] 14 mars Mycket viktigt att ni ställer frågor om ni inte förstår!!

Övningar i Reglerteknik

Industriella Styrsystem Övningskompendium

Tentamen i Systemteknik/Processreglering

Bose-Einsteinkondensation. Lars Gislén, Malin Sjödahl, Patrik Sahlin

Välkomna till TSRT19 Reglerteknik Föreläsning 4. Sammanfattning av föreläsning 3 Rotort Mer specifikationer Nollställen (om vi hinner)

Lösning till tentamen i SF1633 Differentialekvationer I för BD, M och P, , kl

Tillämpningar av fysik och dynamik i biologiska system , kl. 09:00-15:00

TSRT91 Reglerteknik: Föreläsning 5

Figure 1: Blockdiagram. V (s) + G C (s)y ref (s) 1 + G O (s)

TENTAMEN I REGLERTEKNIK Y/D

Transkript:

Implementering av PID-regulatorer med dator PID-reglering Styrlagen för en PID-regulator på standardform kan skrivas ) u(t) = K (e(t)+ 1Ti de e(τ)dτ +T d (t) = u P (t)+u I (t)+u D (t) där u(t) är styrsignalen ut från regulatorn oc e(t) = r(t) y(t) är reglerfelet (differensen mellan ärvärdet y(t) oc börvärdet r(t)). De tre delarna av styrsignalen kommer att kallas P-delen, I-delen respektive D-delen. PIDregulatorn kan efter laplacetransformering skrivas ( U(s) = K 1+ 1 ) T i s +T ds E(s) = U P (s)+u I (s)+u D (s) Det finns ett par olika modifieringar av D-delen vilka beror på dels att man vill undvika derivering av börvärdet(för att undvika onödiga spikar i D-delen) oc dels att inverkan av ögfrekvent brus ska minska. D-delen kommer därvid att ändras från U D (s) = KT d se(s) till U D (s) = KT ds 1+ T Y(s) d N s Lågpassfiltreringen minskar känsligeten för ögfrekvent brus i mätsignalen (ärvärdet) y(t). Filterfaktorn N definierar ur ögt i frekvens som deriveringen ska verka. Då N återfås den fulla deriverande effekten. Typiska val av N är 5 eller 1. Den modifierade D-delen kan beskrivas av differentialekvationen T d du D N (t)+u dy D(t) = KT d (t) Diskretisering Vid styrning med dator eller mikroprocessor är det vanligast att man väljer enfixperioid(alt. T s )kalladsamplingsintervalleteller samplingsperioden för vilken man periodiskt utför följande uppgifter: 1. Läs in ärvärdet från AD-omvandlare 2. Beräkna styrsignalen baserat på börvärdet oc ärvärdet 1

3. Skicka den beräknade styrsignalen till DA-omvandlare Ofta tillkommer en fjärde uppgift där vissa tillståndsvariabler uppdateras. Med enbart P-reglering blir detta problem enkelt, vilket följande C-liknande kod visar: y = adin(); // 1. e = r-y; // 2. u = K*e; // 2. daout(u,); // 3. Problem uppstår när I-delen oc D-delen ska implementeras. Vad som krävs då är att approximera integrering oc derivering i diskret tid vid vissa tidpunkter t = k där k är ett eltal (k =,1,2,...). Integralen i(t) = kan skrivas om som differentialekvationen e(τ)dτ di (t) = e(t) vilket betyder att diskretiseringen kan återföras på att approximera tidsderiveringsoperatorn d. Någon form av differentialkvot är alltid involverad men detta kan göras på olika sätt, t.ex.: df f(t+) f(t) (t) eller df f(t) f(t ) (t) Det kan tyckas oväsenligt vilken av dessa som väljs oc detta stämmer i analysen då man använder gränsvärdesövergången lim. För fixt värde på > är dessa dock inte likvärdiga. Detta ar med stabilitet os tidsdiskreta system att göra oc kommer inte att beandlas är. De två approximationerna ovan kallas för framåt-euler respektive bakåt-euler. Approximation av integraldelen Vid approximation av integraldelen u I (t) = K T i i(t) 2

där i(t) = e(τ)dτ di (t) = e(t) kan bakåt-euler användas, vilket undviker stabilitetsproblem för stora samplingsintervall (till skillnad från framåt-euler). Approximationen blir då i(t) i(t ) = e(t) i(t) = i(t )+e(t) Med i k = i(k) oc e k = e(k) där k =,1,2,... kan detta skrivas i k = i k 1 +e k I tidsdiskret reglerteknik används ofta beteckningarna i(k) oc e(k) istället för i k respektive e k även om detta leder till tvetydigeter: Detta kan i C-kod skrivas i = i + *e i(k) = i(k 1)+e(k) För kodningen av en PI-regulator blir därför C-koden y = adin(); // 1. e = r-y; // 2. u = K*(e + i/ti); // 2. daout(u,); // 3. // 4. där den fjärde uppgiften (uppdatering av vissa variabler) också finns med. Ytterligare praktiska aspekter i detta sammanang är om räkningarna kan genomföras med flyttal (double t.ex.) eller om effektivitetskrav gör att eltal måste användas. Denna problematik tas dock inte upp är. Mättning av styrsignalen I praktiken måste alltid styrsignalen u(t) begränsas beroende på vad det är som ska styras (regleras). Detta görs genom att välja lämpliga gränser u min oc u max så att den begränsade styrsignalen blir u min om u < u min u lim (t) = u max om u > u max u annars 3

Detta leder till C-kodmodifieringen y = adin(); e = r-y; u = K*(e + i/ti); if (u < umin) ulim = umin; else if (u > umax) ulim = umax; else ulim = u; daout(ulim,); Anti-windup Begränsningen i styrsignalen ställer till med problem för integraldelen. När styrsignalen ligger i mättning integreras ett reglerfel som inte kan påverkas av styrsignalen på önskvärt sätt eftersom denna är låst vid ett konstant värde under mättningen. Integraldelen fortsätter trots detta att summeras upp baserat på reglerfelet (s.k. integratoruppvridning eller integrator windup). Detta innebär att det tar onödigt lång tid för integraldelen att jobba sig tillbaka till rätt värde även efter styrsignalen kommer ur mättningen. Det finns ett antal olika metoder för att minska denna skadliga effekt men den i särklass enklaste består i att elt enkelt frysa uppdateringen av integraldelen (ålla den konstant) så länge styrsignalen ligger i mättning. Den sista raden i C-koden modifieras då till if (ulim == u) vilket undviker de vid stora börvärdesändringar förekommande onödigt stora översvängar oc undersvängar i processens utsignal. Approximation av derivatadelen I standardversionen blir D-delen (med bakåt-euler): u d (k) = KT d e(k) e(k 1) Med modifieringar blir den tidskontinuerliga D-delen av regulatorn T d du D N (t)+u dy D(t) = KT d (t) 4

vilket med bakåt-euler blir T d u D (k) u D (k 1) y(k) y(k 1) +u D (k) = KT d N Efter lite omflyttning oc manipulerande kan detta skrivas på formen ( 1+ T ) d u D (k) = T d N N u D(k 1) KT d (y(k) y(k 1)) vilket slutligen ger u D (k) = T d u D (k 1) KT dn (y(k) y(k 1)) N+T d N+T d Implementeringen av själva regleralgoritmen i sin elet blir alltså y1 = y; // Spara undan gamla y-värdet innan y = adin(); // inläsningen av det nya y-värdet c = Td/(N* + Td); ud = c*ud - K*N*c*(y - y1); //... vilket utnyttjas är u = K*(e + i/ti) + ud; if (u < umin) ulim = umin; else if (u > umax) ulim = umax; else ulim = u; daout(ulim,); if (ulim == u) Denna implementering är långt ifrån optimerad. Fler av koefficienterna bör beräknas utanför själva reglerslingan oc bara i det fall då någon parameter (t.ex. förstärkningen K) begärs ändrad. Vid öga samplingsfrekvenser (kortaresamplingsperiod(t s ))kandetvarabefogatattgenomföraberäkningarna med eltal istället för flyttal. Det finns då en del skalningstricks för att förbättra precisionen i beräkningarna. 5