24

INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

  • Upload
    others

  • View
    14

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

Totankøving 1Modellering ogo�ine/onlinemodellveri�seringav totankanlegget

Page 2: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

INNHOLD iInnhold1 Hensikt med oppgaven 12 Om prosessanlegget 22.1 Prosessbeskrivelse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22.2 Pro ess and Instrumentation Diagram (P& ID) . . . . . . . . . . . . . . . 33 Operasjonss enarie 54 Ventiler og pumper 64.1 Ventilligningen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64.2 Ventilkarakteristikken f(

z(t)) . . . . . . . . . . . . . . . . . . . . . . . . . 74.3 Aktuator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94.4 Positioner . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104.5 Pumpekarakteristikk . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105 Modellering 125.1 Massebalanse av tank 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 135.2 Massebalanse av tank 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146 Implementering i Simulink og o�ine veri�sering 167 Online modellveri�sering 20

Page 3: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

1 Hensikt med oppgaven 11 Hensikt med oppgavenI denne oppgaven skal totank-prosessanlegget plassert i rom E-459 benyttes, se �gur 1. Viskal modellere prosessen og simulere prosessmodellen og sammenligne (veri�sere) mot denvirkelige prosessen. Dere trenger ikke være på selve lab'en før dere skal veri�sere modellenmot prosessen i kap. 7. Husk at det foregår en hovedoppgave på totanken denne våren ogat dere derfor gjennomfører veri�seringen så raskt som mulig.

Figur 1: Bilde av prosessanlegg på E-459.

Page 4: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

2 Om prosessanlegget 22 Om prosessanlegget2.1 ProsessbeskrivelseFigur 2 viser en forenklet og skjematisk �gur av prosessanlegget.

Figur 2: Skjematisk skisse av prosessanlegget.• Tank 1 har rektangulær form og tank 2 har konisk form.• Tank 1 har to innløp, ett fra pumpen PA001 og ett fra blandebatteriet via LV003.• Tank 1 har to utløp, ett som går til ventil FV001 via en slangekveil1 og ett som gårtil tank 2 via ventil LV001.• Tank 2 har kun ett innløp (kommer fra tank 1 via ventil LV001).• Ut av tank 2 går det to utløp, ett via ventil FV002 og ett via ventil LV002 som beggeender i oppsamlingskaret.• Det er montert en 2kW varmekolbe HE001 i tank 1 for å kunne varme opp vannet.

1Dette er gjort slik for å få til en tidsforsinkelse for vannet som strømmer ut av tank 1 via FV001.

Page 5: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

2.2 Pro ess and Instrumentation Diagram (P& ID) 32.2 Pro ess and Instrumentation Diagram (P& ID)I �gur 3 på neste side er det gitt en P& ID (Pro ess and Instrumentation Diagram) foranlegget. Fra �guren ser vi at følgende instrumentering er benyttet i anlegget:• Trykkmåler PT001 måler trykket i vannet fra springen.• Temperaturmåler TT003 måler temperaturen i vannet fra springen.• Temperaturmåler TT001 måler temperaturen i tank 1.• Nivåmåler LT001 måler nivået i tank 1.• Temperaturmåler TT002 måler temperaturen i vannet fra tank 1 som er forsinketgjennom slangekveilen.• Nivåmåler LT002 måler nivået i tank 2.• Strømningsmåler FT001 måler vannstrømmen fra pumpen PA001.

Page 6: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

2.2Pro essandInstrumentationDiagram(P&ID)4

Notes

1. A spiral made by a hose. Time delay.

2. Safety relay for 230V AC power supply to pump.

3. Spillway.

Rev Date Description Sign Chk Appr

01 08.03.2005 Issued for creation. TNTittel:

Drawing no: Rev

PAN

LIC

003

Vann fra spring TT

003

RE002

NOTE 2

LZL

001

Vann fra spring

LY

003

LV

003

PI

001

PT

001

HE01

P2= 2 kW

T1

Tank 1

NOTE 1

PA001

Pump

FT

001

FI

001

NOTE 3.

HV

003

T2

Tank 2

NOTE 3.

TT

001

TC

002

TT

002

LT

001

LIC

001

FIC

001

FV

001

HV

001 LV

002

LT

002

LIC

002

FY

001

LY

001

FIC

002

FV

002

FY

002

LY

002

LV

001

TI

003

NOTE 3.

P&ID

PROCESS

01UIS-PID-001Figur 3: P& ID (Pro ess and Instrumentation Diagram) av prosessanlegget.

Page 7: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

3 Operasjonss enarie 53 Operasjonss enarieAnlegget kan opereres og kon�gureres på veldig mange måter. I denne øvingen skal vikon�gurere anlegget slik at vannivåene i begge tankene skal reguleres. Det betyr følgende:• varmeelementet HE001 er ikke er i bruk.• Tank 1 har bare innløpet fra pumpen PA001 som gjenbruker vannet i oppsam-lingskaret. Innløpet fra blandebatteriet via ventil LV003 er dermed ikke i bruk.• Utstrømmen fra tank 1 går til tank 2 via ventil LV001. Slangekveilen og ventil FV001er dermed ikke i bruk.• Tank 2 benytter bare utløpet via ventil LV002 til oppsamlingskaret. Ventil FV002 erdermed ikke i bruk.• For å regulere nivå i tank 1 benyttes LT001 som måling og ventil LV001 som pådrag.• For å regulere nivå i tank 2 benyttes LT002 som måling og ventil LV002 som pådrag.• Det betyr at vannet fra pumpen PA001 betraktes som forstyrrelse.S enariet er skjematisk vist i �gur 4.

Figur 4: Prinsippskisse av to-tank s enariet.

Page 8: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

4 Ventiler og pumper 64 Ventiler og pumperVi skal nå modellere totanksystemet, og til det trenger vi litt grunnleggende informasjon omventiler og pumper.4.1 VentilligningenVentillikningen, som er ventilens matematiske modell, beskriver volumstrømmen2 gjennomventilen som funksjon av ventilens størrelse, ventilåpning, og trykkfall over ventilen. Ventil-likningen er gitt som (tilsvarer ligning (2.87) i læreboka side 48):q(t) = Kv·f

(

z(t))

·√

∆p(t)[

m3/h] (1)hvor

• Kv er ventilkonstanten (sier noe om den fysiske størrelsen) [m3/h√

bar

]

• z(t) er ventilåpning [−]

• f(

z(t)) er ventilkarakteristikken

• ∆p(t) er trykkfallet over ventilen [bar]

• q(t) er volumstrøm [m3/h]Ventilkonstanten sier noe om hvor mye som kan strømme gjennom en ventil ved et gitttrykkfall. Oftest er ventilkonstanten oppgitt i ventildatablad som Cv og de�nert som antallUS-gallon væske som strømmer gjennom ventilen pr. time ved 1 bar trykkfall, US−gallon/h

bar.I SI-systemet brukes i stedet Kv som er de�nert som antall m3 som strømmer gjennomventilen pr. time ved 1 bar trykkfall. Sammenhengen mellom Kv og Cv er

Kv = 0.865·Cv (2)Som dere ser i ligning (1) benyttes enheten [m3/h] istedenfor [m3/s

] for volumstrømmenq(t). Dette betyr at vi må dividere hele ventillikning (1) med 3600 sekund for å kunne benytteventilligningen direkte i balanseligningene våre (siden vi har sekund som tidsbenevning).I prosessanlegget vil trykket oppstrøms en ventil bestå av atmosfæretrykket p0 pluss vann-trykket ρ·g·h(t). Trykket nedstrøms ventilen er atmosfæretrykket p0 (siden vannet rennerut i åpen tank). Di�eransetrykket eller trykkfallet ∆p(t) blir dermed vanntrykket,

∆p(t) = ρ·g·h(t) (3)2Legg merke til at det altså ikke er massestrøm.

Page 9: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

4.2 Ventilkarakteristikken f(

z(t)) 7som har enhet [kg/m3℄· [m/s2℄·[m℄ = [kg/(m s2)℄ = [Pa℄ (Pas al). Siden trykkfallet ∆p(t)i ligning (1) forventes å ha enheten [bar℄ hvor 1 bar = 100000 Pa, må vi dividere utrykket

ρ·g·h(t) i ligning (3) med 100000 for å få det i bar.Da kan vi skrive ventilligningen (1) omformet til riktige enheter somq(t) =

Kv·f(

z(t))

3600·

ρ·g·h(t)

100000(4)hvor volumstrømmen q(t) har benevning [m3/s

]. Høyden h(t) er høyden fra innløp ventil opptil vannivå i tank. Det betyr at i modelleringen av prosessanlegget må vi legge til avstandenfra innløp ventil til bunn av tanken.4.2 Ventilkarakteristikken f(

z(t))Ventilkarakteristikken (se utdelt kopi om ventilkarakteristikk) for en ventil er generelt gitt idatablad fra leverandøren. Det �nnes �ere forskjellige karakteristikker, og de mest vanlige ervist i �guren under

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Ventilåpning z(t)

f(z(

t))

1: Quick opening2: Linear3: Equal percentage R=104: Equal percentage R=20

Figur 5: Ventilkarakteristikker.hvor sammenhengene mellom z(t) og f(

z(t)) er gitt som1. qui k opening: f(z) =

(z(t))2. linear: f(z) = z(t)3. equal per entage: f(z) = R(z(t)−1)

Page 10: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

4.2 Ventilkarakteristikken f(

z(t)) 8hvor R (rangeability) er typisk gitt som forholdet

R =flow at 95% opening

flow at 5% opening(5)Ventilene LV001 og LV002 er likeprosentlige med R = 10. For å benytte en likeprosentligkurve i simuleringssammenheng, må vi gjøre noen justeringer på ventilkarakteristikken. Dettefordi ved lukket ventil, z(t) = 0, har f

(

z(t)) en verdi som betyr at ventilen er litt åpen (senederst på y-aksen). Vi prøver derfor å tilnærme ventilkarakteristikken med en annen kurvesom går gjennom (0,0) og (1,1), se �guren under

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Ventilåpning z(t)

f(z(

t))

Equal percentage R=10Tilnærming brukt i vår modell

Figur 6: Tilnærming til likeprosentlig ventilkarakteristikk.Uttrykket vi har benyttet erf(z) =

ez(t)1.2

− 1

e1 − 1(6)slik at

f(0) =e01.2

− 1

e1 − 1=

1 − 1

e1 − 1= 0og

f(1) =e11.2

− 1

e1 − 1=

e1 − 1

e1 − 1= 1Uttrykket i (6) benyttes på både LV001 og LV002 siden disse ventilene er like. For å skillede forskjellige karakteristikkene fra hverandre, så navngir vi de med forskellig funksjonsnavn.Ventilkarakteristikken for LV001 kalles f1

(

zLV001(t)) og for LV002 kalles den f2

(

zLV002(t)).

Page 11: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

4.3 Aktuator 9For at vi skal kunne bruke disse karakteristikkene som tabelloppslag i Simulink, må kur-vene lages som en vektor av inngangsvariable, dvs. ventilåpning zLV001, og en vektor avutgangsvariable, dvs. f(zLV001). I �len to_tank_data.m blir dette gjort slik:z_LV001_vektor = 0:0.03:1;f_LV001_vektor = (exp(z_LV001_vektor.^1.2)-1)/(exp(1)-1);z_LV002 = 0:0.03:1;f_LV002 = f_LV001;Disse variablene blir brukt som argumenter i tabelloppslagene i Simulink-modellene dere skaljobbe med. Ved å kjøre �len to_tank_data.m kommer �gur 7 opp.

0 0.2 0.4 0.6 0.8 10

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1Ventilkarakteristikk f(z) for LV001 og LV002

Ventilåpning z

f(z)

Figur 7: Ventilkarakteristikk for LV001vog LV002.4.3 AktuatorFor å få ventilene til å bevege seg benyttes trykkluft. Går trykkluften inn på oversiden avmembranen, stenger ventilen når styresignalet øker. Dette gjelder LV001 og LV002. Disseer derfor fail open (FO) eller normally open (NO), som betyr at de åpner hvis trykkluften(ved en feil) forsvinner. Går trykkluften inn på undersiden av membranen, åpner ventilen nårstyresignalet øker. Dette gjelder FV001, FV002 og FV003. Disse er fail lose (FC) ellernormally losed (NC).Generelt har en aktuator dynamikk, men den er ofte ganske rask. I øving 6 skal dere f.eks.benytte at aktuatoren har en første ordens dynamikk med tidskonstant Taktuator = 5 sekund

Page 12: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

4.4 Positioner 10som gir følgende sammenhengHaktuator(s) =

z(s)

u(s)=

1

Taktuator·s + 1=

1

5·s + 1(7)For anlegget vårt antar vi at denne dynamikken er så rask at vi kan se bort fra den slik at

Haktuator(s) =z(s)

u(s)= 1 (8)og vi kan benytte i ligningene våre at

z(t) = u(t) (9)4.4 PositionerPå alle ventilene i anlegget er det en positioner. Dette er en enhet som sørger for å setteventilen i den posisjon z(t) som pådraget u(t) gir beskjed om. Grunnen til at det er behovfor positioner er f.eks. at friksjon i pakkboksen mange ganger vil hindre ventilen i å bevegeseg, særlig hvis pådraget u(t) bare endrer seg lite, f.eks. 1%. Positioneren sørger da for åøke sitt interne pådrag til aktuatoren slik at ventilen til slutt beveger seg. For at positionerneskal fungere må den altså ha en måling av ventilposisjonen z(t). Denne form for reguleringkalles kaskaderegulering, og dette kommer vil til i senere øvinger.

Figur 8: Eksempel på kaskaderegulering.4.5 PumpekarakteristikkPå samme måte som for ventilene, må vi �nne pumpekarakteristikken som er sammen-hengen mellom pumpepådraget uPA001(t) og volumstrømmen qPA001(t) gjennom pumpen.Pumpeleverandøren leverer normalt slik informasjon, men når pumpen er installert i et an-legg, må �nne den karakteristikken som gjelder for pumpen i drift (avhenger av rørmotstand,løftehøyde osv.). Generelt har vi at:qPA001(t) = f3

(

uPA001(t)) (10)

Page 13: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

4.5 Pumpekarakteristikk 11Ved å gi verdier fra 0 til 1 med 0.05 intervall i uPA001(t), samtidig som vi logger volumstrøm-men qPA001(t) gjennom strømningsmåleren FT001 får vi følgende verdier (se to_tank_data.m)%% Pumpekarakteristikk (loggede sammenhenger)u_PA001 = [0.00 0.45 0.46 0.47 0.48 0.49 0.50 0.55...0.60 0.65 0.70 0.75 0.80 0.85 0.90 0.95 1.00℄;q_PA001 = [0.00 0.00 1.25 2.25 3.15 3.75 4.40 6.75...8.75 10.70 12.25 13.75 15.15 16.50 18.00 19.20 20.00℄;q_PA001 = q_PA001/60000; % liter/min -> m3/sVed å kjøre to_tank_data.m får vi pumpekarakteristikken i �gur 9.

0 0.2 0.4 0.6 0.8 10

0.5

1

1.5

2

2.5

3

3.5x 10

−4

Pådrag uPA001

(t) til pumpe PA001

Vol

umst

røm

qP

A00

1(t)

gjen

nom

PA

001

[m3 /s

]

Figur 9: Pumpekarakteristikk for PA001.For at vi skal kunne bruke denne karakteristikkene som tabelloppslag i Simulink, benyttesu_PA001 og q_PA001 som argumenter i tabelloppslagene i Simulink-modellene dere skaljobbe med.

Page 14: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

5 Modellering 125 ModelleringI dette kapittelet skal vi modellere begge tankene. Modelleringen tar utgangspunkt i denforenklede skissen i �gur 4 og gjengir den her for oversiktens skyld.

Figur 10: Prinsippskisse av to-tank s enariet.Benytt videre det vi har vist om pumper og ventiler i kapitlene foran.

Page 15: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

5.1 Massebalanse av tank 1 135.1 Massebalanse av tank 1Med utgangspunkt i �gur 10, er det under gitt en oppsummering av notasjoner for tank 1.Variasjonsområdet eller verdi er indikert.Navnh1(t)A1

ρqPA001(t)uPA001(t)qLV001(t)zLV001(t)Kv,LV001

hLV001

h1,utlop

g

BeskrivelseVannivået i tank 1 målt med LT001Arealet til tank 1Tettheten til vannVolumstrømmen fra pumpe PA001Pådrag til pumpe PA001Volumstrømmen gjennom LV001Ventilåpning LV001Ventilkonstant for ventil LV001Høyde fra bunn av tank 1 ned til LV001Høyde fra bunn av tank 1 opp til tankutløpTyngdens akselerasjon

Enhetmm2kg/m3m3/s-m3/s-m3

time·√

barmmm/s2Verdi0−1 m0.0096 m21000 kg/m30-12 l/min0-10-17 l/min0-111.25 m3

time·√

bar0.05 m0.14 m9.81 m/s2a) Sett opp massebalansen for tank 1.b) Vis at di�erensiallikningen som beskriver høyden h1(t) i tank 1 kan beskrives ved:dh1(t)

dt=

1

A1

(

qPA001(t) − qLV001(t)

)

=1

A1

(

f3

(

uPA001(t))

−Kv,LV001·f1

(

zLV001(t))

3600·

ρ·g·(h1(t) + hLV001)

100000

) (11) ) Hva slags di�erensialligning er dette?

Page 16: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

5.2 Massebalanse av tank 2 145.2 Massebalanse av tank 2Tank 2 har en konisk form, noe som gjør at tversnittsarealet varierer med væskehøyden.Med utgangspunkt i �gur 10, er det under gitt en oppsummering av notasjoner for tank 2.Variasjonsområdet eller verdi er indikert:Navnh2(t)A2

(

h2(t))

qLV002(t)zLV002(t)Kv,LV002

hLV002

h2,utlop

BeskrivelseVannivået i tank 2 målt med LT002Arealet til tank 2 (funksjon av h2(t))Volumstrømmen gjennom LV002Ventilåpning LV002Ventilkonstant for ventil LV002Høyde fra bunn av tank 2 ned til LV002Høyde fra bunn av tank 2 opp til tankutløpEnhetmm2m3/s-

m3

time·√

barmmVerdi0−0.4 m0.025−0.07 m20-17 l/min0-111.25 m3

time·√

bar0.25 m0.03 ma) Sett opp massebalansen for tank 2.b) Vis at di�erensiallikningen som beskriver høyden h2(t) i tank 2 kan beskrives ved:dh2(t)

dt=

1

A2

(

h2(t)) ·

(

qLV001(t) − qLV002(t)

)

=1

A2

(

h2(t)) ·

(

Kv,LV001·f1

(

zLV001(t))

3600·

ρ·g·(h1(t) + hLV001)

100000

−Kv,LV002·f2

(

zLV002(t))

3600·

ρ·g·(h2(t) + hLV002)

100000

) (12) ) Vis at uttrykket for arealet A2

(

h2(t)) kan �nnes som:

A(h2(t)) =A2,0 + h2(t)·b2,max − b2,min

h2,max·d2

=0.004 + 0.07·h2(t) (13)Tips: For å �nne dette uttrykket kan dere ta utgangspunkt i �gur 11.

Page 17: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

5.2 Massebalanse av tank 2 15

Figur 11: Skjematisk skisse av tank 2 for arealberegning.hvor:A2,0

d2

b2,max

b2,min

h2,max

Arealet i bunn av tank 2Dybden til tank 2Øvre bredde på tank 2Nedre bredde på tank 2Høyden til tank 2 0.004 m20.08m0.4 m0.05 m0.4 m

Page 18: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

6 Implementering i Simulink og o�ine veri�sering 166 Implementering i Simulink og o�ine veri�seringI dette kapittel skal dere først lage blokkskjema av di�erensialligningene for h1(t) og h2(t).Deretter skal dere implementere dette blokkskjemaet i Simulink og gjøre o�ine veri�seringav modellen. Dette kan dere gjøre på PC'ene på datalab og vi trenger derfor ikke enda væreoppkoplet mot den virkelig prosessen på E-459.a) Tegn 2 separate blokkdiagram av di�erensialligningene for h1(t) og h2(t) gitt i lignin-gene (11), (12) og (13). Vær strukturert siden dette danner grunnlag for implementeringi Simulink. Husk at sammenhengen mellom ventilåpning og pådrag er z(t) = u(t).b) På its learning ligger en pakket �l som heter to_tank_verifisering_offline.zip.Last denne ned i en egnet katalog og pakk den opp.Du vil her �nne en �l som heter to_tank_verifisering_offline.mdl. Dette er etskall av en Simulink�l som dere kan implementere blokkskjemaene direkte i. ) Start Matlab, �nn frem til katalogen du lagret �len i, og skriv deretter �lnavnetto_tank_verifisering_offline i workspa e. Modellen i �gur 12 vil da komme opp.Lagre denne modellen med et navn som inneholder navnet ditt. Ikke benytt æ,ø og åeller andre kreative tegn i �lnavnet (unders ore går �nt, mellomrom går dårlig).

Figur 12: Totank-s enariet implementert i Simulink• De grønne blokkene er pådrag til pumpe og ventiler. Dette er loggede pådragsverdiersom vi har logget på den virkelige prosessen og lagret som �ler. Ved å benytte dissepådragene og tilhørende målinger (blå blokker) kan vi enkelt sjekke om modellenstemmer noenlunde overens med virkeligheten.• De lyseblå blokkene er loggede målinger av høyden i tank 1 og 2. Det er dissemålingene modellen skal sammenlignes med.• Blokkskjema av di�erensialligningene du har tegnet skal implementeres i den lyse-grå blokken kalt MODELL. Dette er et subsystem som igjen består av 2 subsystem,

Page 19: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

6 Implementering i Simulink og o�ine veri�sering 17Tank 1 og Tank 2. Siden dette er subsystemer, må dere dobbelklikk på de for åkomme et nivå ned.d) Før du implementerer noe som helst, kan du teste at skallet fungerer. Kjør derfor førstto_tank_data.m3Dette er en data�l som inneholder variable, parametre og ventil- og pumpekarakteris-tikker. Åpne denne �len og bli kjent med den.e) Trykk deretter på play-knappen i simulinkmodellen.f) Dobbelklikk på s opet. Du bør da få opp noe som ligner på �gur 13.

Figur 13: Simuleringsresultat uten modell.3Husk at Simulink henter verdien av variable som ligger i workspa e i Matlab. Derfor er det veldig godprogrammeringsskikk å de�nere variable i en .m �l og bruke variabelnavnene i Simulinkmodellen. Får dufeilmeldinger når du kjører en Simulinkmodell for første gang er sannsynligheten stor for at du har glemt åkjøre matlab�len først. Husk dette til senere øvinger.

Page 20: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

6 Implementering i Simulink og o�ine veri�sering 18Som du ser er det bare datasettet vi ser. Responsen i modellen i h1(t) og h2(t) (denrøde) blir som en rett strek.g) For å begynne å implementere må du ha tilgang på biblioteket av Simulinkblokker. Startderfor Simulink ved enten å skrive simulink i Matlab workspa e eller trykk på symboleti menyen.h) Implementere deretter di�erensialligningene for h1(t) og h2(t). For hver av integratorenetil høydene kan du spesi�sere grenseverdier (min og maks) ved å dobbelklikke på selveintegratorene. Sett inn maks og min verdi for høydene. Disse står i to_tank_data.m.i) Sett deretter inn initialverdiene (Initial Conditions i hver integrator) på høydeneved tom tank. Husk at utløpet står litt over bunn i begge tankene. Disse høydene står ito_tank_data.m.j) For å implementere pumpekarakteristikken f3

(

uPA001(t)), kan du benytte tabelloppslag,Lookup Table, som du �nner under katalogen Lookup Tables i Simulink-biblioteket ogbenytte den som vist i �gur 14.

Figur 14: Implementering av ventilkarakteristikk i Simulink.Ved å dobbelklikke på tabellen, ser dere hvordan den skal spesi�seres, se �gur 15

Figur 15: Spesi�sering av tabellen.Det er altså to vektorer du må angi, henholdsvis verdiene langs x-aksen og y-aksen. Disseer de�nert i matlab to_tank_data.m

Page 21: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

6 Implementering i Simulink og o�ine veri�sering 19k) For ventilkarakteristikkene f1

(

zLV001(t)) og f2

(

zLV002(t)) benytter dere også tabell-oppslag, og her er det vektorene u_LV001_vektor og f_LV001_vektor dere skal bruke.Siden ventilene er like kan dere benytte disse vektorene i begge tabelloppslagene.l) Etter at du har implementert modellen, bør du få noe som ligner på resultatet i �gur 16.

Figur 16: Simuleringsresultat med modell.m) Analyser resultatet og kommenter. Svar på spørsmål som: Er responsen fornuftig, hvorforfylles modellen av tank 1 umiddelbart mens i virkeligheten tar det litt tid, er det en logisksammenheng mellom sprang i ventiler og nivåendringer, osv.?

Page 22: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

7 Online modellveri�sering 207 Online modellveri�seringEtter at dere nå har implementert og veri�sert modellen o�ine, er det nå på tide å veri�seremodellen online mot prosessen. Dette foregår på rom E-459. For å klargjøre for onlineveri�sering, gjør følgende:• Vri nødstoppbryteren ved døren til E-459b slik at den spretter ut.• Start opp PC'en ved totankanlegget• Logg inn med ditt eget brukernavn og passord.• Start Matlab ved å dobbelklikke på snarveien på skrivebordet (hvis den er der), ellergå inn på startmenyen, velg Fagapplikasjoner og deretter Matlab2007a.• For at kommunikasjon over nettet ikke skal være en begrensing, er det en fordel atdere oppretter en egen katalog på D-disken lokalt. Her må dere passe på at dereikke benytt katalognavn som er identiske med �lnavn. Heller ikke benytt æ, ø, å,mellomrom, spesialtegn, osv. i katalognavn og �lnavn.• Inkluder denne katalogen i søkestien til Matlab ved å:� gå inn på File menyen i Matlab vinduet� velg Set Path...� trykk Add with subfolders� velg katalogen du nettopp lagde, trykk OK� trykk på Save og deretter Close knappen� skriv path(path) i matlab-vinduet. Da vil den nye path'en oppdateres.� Skriv d D:\katalognavn slik at matlab ommand window står i din katalog• Kopier modellen du implementerte i kapittel 6 til den katalogen du har laget på D-disken. Kopier også matlab�len to_tank_data.m.• På its learning ligger �len to_tank_verifisering_online.mdl. Kopiere denne �lentil den samme katalogen.• Endre navnet på denne slik at den inneholder ditt navn.• Skriv dette nye �lnavnet i Matlab (uten .mdl endingen). Modellen i �gur 17 vil daåpnes.

Page 23: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

7 Online modellveri�sering 21

Figur 17: Simulinkmodellen for å gjøre online modellveri�sering.Sammenligner dere denne med modellen med den dere nettopp implementerte i kapit-tel 6, ser dere at:� Pådragsblokkene til u_PA001, u_LV001 og u_LV002 er byttet ut med blokkersom gjør at du selv kan endre disse for å styre prosessen.� Vi kjører samme pådrag på den virkelige prosessen (mørkegrå sub-blokk øverst)og mot modellen (lysegrå nederst).• Ved å dobbelklikke på sub-systemet Modell, åpnes følgende kjente struktur

Figur 18: Subsystem for modellen.• Dere skal nå kopiere modellen fra kapittel 6 inn i sub-blokkene Tank1 og Tank2.Enkleste måten er å slette de to subsystemene Tank1 og Tank2, for deretter å kopiereinn igjen de samme sub-systemene fra din egen modell. For å gjøre dette må duselvfølgelig ha åpnet din egen modell.

Page 24: INNHOLD - UiSkarlsk/ELE620/totank1.pdf · 2008. 6. 17. · 001 Vann fra spring LY 003 LV 003 PI 001 PT 001 HE01 P2= 2 kW T1 Tank 1 NOTE 1 PA001 Pump FT 001 FI 001 NOTE 3. HV 003 T2

7 Online modellveri�sering 22For å gjøre o�ine modellveri�sering, gjør følgende:1. Start opp prosessanlegget ved å:• Vri nødstoppbryter ut (gul boks med rød bryter bak hvit loddrett skillevegg vednivåmåler). Dere hører en klar relelyd.• Trykk på grønn knapp for pumpe. Igjen hører dere relelyd.• Trykk lysbryter på 1.• Varmeelement skal være avslått.• Åpne opp for trykkluft til ventilene ved å åpne ventilen på den hvite veggen. Dener svart med rundt håndtak og er plassert over og til høyre for LV001.2. Kjør �len to_tank_data.m.3. Siden modellen du har laget ikke er kjørbar direkte fra .mdl �len, må den kompileres.Lagre derfor modellen først for så å gå inn i Tools menyen, Real Time Workshop, ogderetter Build model. Alternativt kan dere trykke Ctrl-B. Sjekk i Matlab-arbeids�atenat komplilering er ferdig.Husk at noen (ikke alle) modellendringer krever at dere kompilerer modellen på ny.Dette vil dere oppleve med en feilmelding hvis dere har gjort en endring og prøver åstarte logging.4. Kople deretter modellen i simulink til anlegget ved å trykke Conne t to targetsymboldet (ved siden av Play-knappen), og deretter Play-knappen.Pumpen bør da starte umiddelbart. Hvis ikke, gjenta prosedyren med å trykke inn ogvri ut nødstoppbryteren og fortsette derfra. Hvis pumpen ikke starter, kan det væreet problem med jordfeilbryteren bak anlegget. Gå forsiktig bak anlegget ved vaskenog �nn koplingsboksen med håndtak på siden og et 50mm oppborret hull i fronten(nesten helt borte med PC'en). Pass på ledningene som ligger på gulv og henger bakanlegget. Vri jordfeilbryteren på 1. Gjenta deretter prosedyren for å klargjøre anlegget.5. Som du ser er minste pådrag på pumpen 0.45, noe som betyr at pumpen går med45% av full e�ekt, og det er akkurat nok til å fylle røret med vann. Husk at dette ensentrifugalpumpe og ikke en stempelpumpe eller tannhjulspumpe.6. Før dere starter med veri�seringen av modellen kan det være lurt å sørge for at høydenei modellen og virkeligheten stemmer overens. Den enkleste måten å gjøre det på er åtømme tankene mens pumpen går på tomgang (45%).7. Etter at høydene i modellen og virkeligheten er de samme, kan dere nå gi vilkårligesmå sprang i alle 3 pådragene. La prosessen få anledning å stabilisere seg noe (ikkehelt) for hvert sprang.8. Åpne s opet og studer responsen. Tre�er modellen godt? Ta utskrift. Husk at dette erballistisk (uten tilbakekopling) sammenligning av modell og virkelighet. Sannsynligviser ikke modellen helt perfekt, men den er antagelig god nok for reguleringsformål.