2 Regulering av varmeovn med PI-regulator

Like dokumenter
2 Regulering av varmeovn med P-regulator

1 Innledning. 2 Virkemåte for kortet. Bli kjent med USB I/O kort K8055. NB! Ta med multimeter og lite skrujern!

Program for elektro- og datateknikk

1 Innledning TRAFIKKLYS. NB! Ta med Dataøving 2! Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 3 SANNTID MED LABVIEW.

Brukergrensesnittet i LabVIEW

Program for elektro- og datateknikk

Inst. for elektrofag og fornybar energi

Inst. for elektrofag og fornybar energi

Her skal du lære å programmere micro:biten slik at du kan spille stein, saks, papir med den eller mot den.

1 Innledning. Bli kjent med LABVIEW. NB! Ta med multimeter og lite skrujern!

Plotting av data i grafer

og Java

1. NetBeans IDE: Lage en enkel mobilapplikasjon

Hei verden Introduksjon Swift PDF

Hei verden. Introduksjon. Steg 1: Sette opp Xcode. Skrevet av: Andreas Amundsen

Bruk av kildeavskrifter som er merket med grønn kule

Det du skal gjøre i denne oppgava er først å sette opp bakgrunnen til spillet og så rett og slett å få firkanter til å falle over skjermen.

Tetris. Introduksjon. Skrevet av: Kine Gjerstad Eide. Lag starten på ditt eget tetris spill!

NY PÅ NETT. Enkel tekstbehandling

En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden.

PXT: Himmelfall. Introduksjon. Skrevet av: Helene Isnes og Julie Revdahl

Før du starter, del 2

Test av USB IO-enhet. Regulering og HMI.

ToPlayer. Introduksjon: Skrevet av: Ruben Gjerstad Eide og Kine Gjerstad Eide

Verdens korteste grunnkurs i Excel (2007-versjonen)

PXT: Det regner mat! Introduksjon. Steg 1: Grunnlag. Sjekkliste. Skrevet av: Helene Isnes

ToPlayer. Steg 1: Kom i gang med metodene setup og draw. Gjør dette: Introduksjon:

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

Oppgavesett videregående kurs i NVivo 9

Kanter, kanter, mange mangekanter. Introduksjon: Steg 1: Enkle firkanter. Sjekkliste. Skrevet av: Sigmund Hansen

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Steg 1: Katten og fotballbanen

6105 Windows Server og datanett

Bergeland IKT. Elev guide

Layout og publisering

Visma Contracting Oppgradering til versjon 5.20

Nytt prosjekt og programlogikk

Om du allerede kjenner Scratch og har en Scratchbruker kan du gå videre til Steg 1.

Oblig2 - obligatorisk oppgave nr. 2 (av 4) i INF1000

PC-EN HUSKER ALT FOR DEG ORD FOR ORD. Skriv dagbok

Mindstorm, robot- og reguleringskurs

BLISSTAVLE for Rolltalk Designer. Veiledning

Hvor i All Verden? Del 2. Introduksjon. Steg 0: Forrige gang. Skrevet av: Geir Arne Hjelle

Det beste fra Windows 10

FYS3240/4240 Forslag til prosjektoppgave for Lab 4: DAQ-øvelse med LabVIEW

SPSS Høgskolen i Innlandet

BRUK AV TiSferaDesign I RINGETABLÅER MED ELEKTRONISK NAVNELISTE:

Kan micro:biten vår brukes som en terning? Ja, det er faktisk ganske enkelt!

Installasjon av Mediasite Desktop Recorder 2

6105 Windows Server og datanett

Oppgavesett for NVivo 10

Løypelegging ved bruk av

Oppgavesett for NVivo 9

Brukerveiledning for programmet HHR Animalia

GeoGebraøvelser i geometri

Verden - Del 2. Steg 0: Oppsummering fra introduksjonsoppgaven. Intro

KYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120

AUTOCAD Artikkelserie. Fra Color til Named og omvendt

Dette eksemplet forutsetter at du allerede har gjennomgått Kom i gang med tavler 1.

Oppgavesett for NVivo 10

Inf109 Programmering for realister Uke 5. I denne leksjonen skal vi se på hvordan vi kan lage våre egne vinduer og hvordan vi bruker disse.

Hvor i All Verden? Del 2 Erfaren Scratch PDF

Donkey Kong. Introduksjon. Oversikt over prosjektet. Skrevet av: Geir Arne Hjelle

1. Gå inn på portalen:

Veiledning for oppdatering av Extensor 05 - versjon 1.16.

Kom i gang med Zotero: En enkel veiledning

Steg 1: Hente grafikk fra nettet

Hvordan slette midlertidige filer i Java kontrollpanel

Debugging. Tore Berg Hansen, TISIP

Steg 1: Hvordan styre figurer med piltastene

Bli Kjent med Datamaskinen Introduksjon ComputerCraft PDF

VH Service Software. Dette dokumentet forteller deg i korte trekk hvilke funksjoner denne programvaren har, basert på følgende menyvalg:

- Java kan lastes ned gratis For installasjon, se punktet Hvordan laster jeg ned og installerer Java på min maskin?.

Installasjonsveiledning av Faktura Z

Brukerveiledning Astra XT- programvare oppsett og kommunikasjons innstillinger.

6105 Windows Server og datanett

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk.

Oblig 4Hybelhus litt mer tips enn i oppgaven

Norsk informatikkolympiade runde

Hva er TegnBehandler?

Innhold. Bruker manual BlueprintEasy PDF tagger. versjon: P a g e

Businesscatalyst PAGES

Inst. for elektrofag og fornybar energi

Installasjon av Mediasite Desktop Recorder

Ny på nett. Operativsystemer

6105 Windows Server og datanett

Noen ArcGIS-operasjoner

VEILEDER GI FJERNHJELP

Følgende «tommelfinger-regler» bør (må) følges:

6105 Windows Server og datanett

Kanter, kanter, mange mangekanter

Innhold. Bruker manual BlueprintEasy PDF tagger. versjon: P a g e

Hvor i All Verden? Del 1. Introduksjon. Steg 1: Styr et helikopter. Skrevet av: Geir Arne Hjelle

HR analysen. Ny versjon Brukermal. Administratorer

Innhold RDP... 2 Oppkobling Kirkedata... 2 Flere brukerpålogginger til Kirkedata... 6

Kom i gang med. Åpne nettleseren, gå til: Velg «New Project».

DDS-CAD 6.5 INSTALLASJON DDS-CAD ARKITEKT & KONSTRUKSJON

Norgestur. Introduksjon. Steg 1: Et norgeskart. Sjekkliste. Scratch. Skrevet av: Geir Arne Hjelle

Innhold. Bruker manual BlueprintEasy PDF tagger. versjon: P a g e

Hvordan å lage og publisere ditt personlige visittkort

Transkript:

D:\Per\Fag\Styresys\Oppgavebok\K8055LV_12\Øving 5\K8055_LV2012_SANN5_2014.wpd Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 5 SANNTID MED LABVIEW PI-regulator NB! Ta med multimeter! Innleveres: Utført av: Godkjenning: NB! I denne oppgava får du bruk for det du lærte i alle de fire foregående dataøvingene. Den bygger direkte videre på P-regulatoren fra dataøving 4. Du må derfor ha med deg oppgaveteksten til disse øvingene når du setter i gang med denne øvinga! Du må også ha med deg filene til P-regulatoren du laga i forrige øving. PI-regulatoren du lager i dag må du lagre unna for den er utgangspunktet for neste øving hvor PI-regulatoren skal utvides til PID-regulator. 1 Innledning Formålet med denne oppgaven er å bruke K8055-kortet til å styre en enkel varmeovn med en PI-regulator laget med LabWindows.. PI-regulatoren skal fungere både som P- og PIregulator. I tillegg skal den også kunne fungere i både Auto og Manuell med rykkfrie overganger. 2 Regulering av varmeovn med PI-regulator En enkel varmeovn oppfører seg som en første ordens prosess. Du skal nå bruke en analog modell av varmeovnen laget av en motstand og en kondensator. Temperaturen skal måles med inngang A1 og effekten til varmeelementet skal sendes ut til utgang DAC1. a) Kopl opp varmeovnen som vist på figuren. (Du skal ikke kople opp lastmotstanden som allerede står på kortet.) NB! Pass på at lasken SK2 bare sitter på den ene pinnen sånn at du får inn et eksternt analogt signal. Pot-meteret ATT1 må stå på maksimum. Dvs at pila skal peke mot Sølv -foten lengst inn på kortet. b) Hva blir stasjonær forsterking og tidskonstant for varmeovnen ut fra figuren når du tar hensyn til lastmotstanden som står på kortet? Styring og regulering av prosesser med 1PC ved hjelp av K8055-kortet og LabView 2012 Side 73

Side 2 Dataøving 5 SANNTID PI-regulator 3 Brukergrensesnittet til PI-regulatoren. 3.1 Opprettelsen av et nytt VI a) Fordi det nye VIet likner svært på P-regulatoren fra dataøving 4 er det greieste å åpne opp Preg.vi fra forrige gang. Gå inn på File 6 Save As og kopier VIet (Bruk Substitute copy for original) til det nye filnavnet PIreg.vi. b) Prøvekjør programmet. Det skal nå gå feilfritt gjennom som P-regulator. 3.2 Utvida frontpanel Du skal endre frontpanelet så det ser ut som på figuren. Dette brukergrensesnittet består av mange objekter. Nesten alle objekter her har du fra før i den gamle Preg.vi som du allerede har kopiert over til PIreg.vi a) Start opp med et med å legge til innmatingsfeltet for Integrasjonstid. Legg også til visingsfeltene for Avvik og PI2AUTO. (Det siste feltet er bare et hjelpefelt for å se om avlesinga av skyveknappene er rett.) Pass på at innmatingsfeltet får disse Propertiesverdiene når det gjelde Data Type og Data Entry: Integrasjonstid, Ti: DBL Minimum: 0,01 Maksimum: 1000 Inkrement: 0,1 Side 74 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012

Dataøving 5 SANNTID PI-regulator Side 3 b) Fortsett med å lage bryteren av typen Vertical Slide Switch for valg mellom P- og PIregulator. Tekstene P og PI er ordinære tekster skrevet rett på frontpanelet. I Properties for bryteren skal det under Appearance settes inn PI som usynlig etikett (Label). c) Fortsett videre med å lage knappen for å velge mellom Auto og Hand, dvs automatisk og manuell kjøring av regulatoren. Tekstene Auto og Hand er ordinære tekster skrevet rett på frontpanelet. I Properties for bryteren skal det under Appearance settes inn AUTO som usynlig etikett (Label). 4 Blokkdiagram for PI-regulator med rykkfri overgang mellom P og PI. a) Nye hendelser skal fanges opp i hendelsefella. Du har allerede et bra blokkdiagram som fanger opp mange hendelser i hendelsefella. Du trenger derfor bare å utvide fella så den fanger opp brukeraktivitet i de nye objektene i frontpanelet. De nye terminalene er allerede automatisk plassert i blokkdiagrammet, men ikke på riktig plass. a1) Utvid hendelsefella til å fange opp Value Change for innmatingsfeltet Integrasjonstid, Ti på samme vis som du gjorde for Samplingstid h[sek]. Dvs parkering av terminalen og en lokal variabel for terminalen som koples til NewVal. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012 Side 75

Side 4 Dataøving 5 SANNTID PI-regulator a2) I første omgang utvider du hendelsefella til å fange opp Value Change for skyveknappene PI og Auto på samme måte. (Hvis det blir tid skal det legges inn mer kode her seinere for å gjøre frontpanelet enda mer brukervennlig.) b) PI-regulatoralgoritmen i formelboksen. Du har allerede kode i formelboksen sånn at den virker som en P-regulator. Denne må nå utvides til å virke som en PI-regulator med mulighet til også å bruke den som rein P-regulator. Formelboksen for en P-regulator kan ut som vist på neste figur: Hele algoritmen for PI-regulator i ord er vist først. Les raskt gjennom punktene som inngår, men ikke start å programmere ennå. Programmering i blokkdiagrammet vil bli gjennomgått i detalj etter hvert. PI-regulator med rykkfri overgang mellom P og PI: Les prosessverdien y fra AD1 Rekn ut avviket e_k Hvis (PI==1) { Rekn ut pådraget u_k for PI-regulator. Sett nominelt pådrag lik forrige pådrag.} Ellers { Rekn ut pådraget u_k for en P-regulator.} Sjekk at pådraget holder seg mellom 0 og 255 og sett pådraget til 0 om det er mindre enn 0 og til 255 om det er større enn 255 Konverter pådraget fra hjelpevariablen u_k av typen float64 til pådraget u av typen uint8 Send pådraget ut til DA1 Oppdater gamle verdier for pådraget og for reguleringssavviket. Side 76 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012

Dataøving 5 SANNTID PI-regulator Side 5 Skriv opp prosessverdien og pådraget i feltene på skjermen Hvis PI==1 { Skriv opp nominelt pådrag i feltet på skjermen} Skriv ut pådrag, referanse og prosessverdi til linjeskriveren på skjermen b1) Variablen PI markerer posisjonen til bryteren for valg av enten P-regulator eller PI-regulator. Dersom PI er sann så er PIregulator valgt. Lag en lokal variabel for PI og plasser den til venstre for formelboksen. (Du må kanskje utvide både While-løkka og formelboksen for å få plass etter hvert som det stadig skal legges til mer!) Fordi formelboksen ikke kan bruke logiske variable internt må signalet fra den lokale PI-variablen først gjøres om til tallet 1 for sann og 0 for usann før den koples til en innvariabel i venstre rammekant på formelboksen. Konverteringa gjør du med en Boolean To (0,1) som du finner under Programming og Boolean. Lag deretter en ny innvariabel i venstre rammekant på formelboksen som du kaller PI og kopl utgangen på Boolean To (0,1) til denne nye innvariablen. b2) Variablene Ti og h må også koples til formelboksen. Lag to nye innganger i venstre rammekant som du kaller Ti og h. Lag en lokal variabel for hver av innmatingsfeltene Integrasjonstid, Ti og Samplingstid h[sek] og kopl dem opp mot de tilsvarende inngangene til formelboksen. b3) Utvid regulatoralgoritmen i formelboksen så den virker både som en P-regulator og en PI-regulator. Deklarer først den interne variablen e_k. Avviket kan gå fra - 255 til + 255 og kan derfor ikke deklareres som 8 bit, men må deklareres som 16 bit heltall. Deklarer e_k som typen int16. *Les prosessverdien y fra AD1 Er det samme som for P-reg. *Rekn ut avviket e_k Dette må du gjøre eksplisitt. *Hvis (PI==1) { *Rekn ut pådraget u_k for PI-regulator. Bruk differenslikninga for PI. *Sett nominelt pådrag lik forrige pådrag.} Sett u0 lik u_km1. *Ellers { *Rekn ut pådraget u_k for en P-regulator.} Bruk differenslikninga for P. *Sjekk at pådraget holder seg mellom 0 og 255 Er det samme som for P-reg. og sett pådraget til 0 om det er mindre enn 0 og til 255 om det er større enn 255 *Konverter pådraget fra hjelpevariablen u_k av Er det samme som for P-reg. typen float64 til pådraget u av typen uint8 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012 Side 77

Side 6 Dataøving 5 SANNTID PI-regulator *Send pådraget ut til DA1 Er det samme som for P-reg. b4) Oppdater gamle verdier for pådraget og for reguleringssavviket. Det som er e_k og u_k ved denne gjennomkjøringa av formelboksen skal bli e_km1 og u_km1 ved neste gjennomkjøring. Lag derfor to ny utverdier i høyre ramme på formelboksen som du kaller e_k og u_k. deretter lager du to nye innverdier i venstre rammekant på formelboksen som du kaller e_km1 og u_km1. b5) Skiftregistre: Husk at variablene som brukes lokalt i formelboksen mister verdiene sine mellom hver gang formelboksen kjøres. Det må brukes skift-registre som koples til ramma av While-løkka for at de interne verdiene skal kunne gjemmes til neste gang formelboksen kjøres. Det gjelder u_km1 og e_km1. (u_km1 leses som u k minus 1 dvs u k-1 ). Begge disse må koples opp mot skiftregistre. Lag to skiftregistre i venstre rammekant for While-løkka. Legg merke til at det automatisk også blir laga tilsvarende høyre rammekant. Kopl utgang e_k i formelboksen til skiftregisteret i høyre kant av While-løkka. Gå over til venstre rammekant i While-løkka og kopl tilsvarende skift-register til inngang e_km1 i formelboksen. Gjør det samme med utgang u_k og inngang u_km1. b6) Skiftregistre og startverdier Ved oppstart av programmet vil starverdien i skiftregisteret være null, men etter gjentatte start og stopp vil skiftregisteret starte med den verdien den hadde siste gang programmet stoppet. For å sikre en definert startverdi må du kople en konstant til venstrekanten av det venstre shift-register-symbolet som vist på figuren til høyre. Kopl opp som vist på figuren sånn at startverdien for hver kjøring alltid blir lik null for begge skiftregistrene. c) Oppdatering av Avvik i frontpanelet. Laga en lokal varabel til visningsfeltet Avvik og kopl den opp til utgangen e_k i formelboksen. d) Oppdatering av Nominelt pådrag i frontpanelet. Laga en lokal varabel til visningsfeltet Nominelt pådrag og kopl den opp til utgangen u0 i formelboksen. Sidesprang: Her kan det oppstå et problem under kjøring som PI-regulator. Da settes nominelt pådrag lik pådraget. Men hva om brukeren prøver å endre det nominelle pådraget i frontpanelet samtidig? Dette problemet kan løses, men ikke nå! e) Kopling mot K8055-kortet og testkjøring av hele programmet så langt : Fordi denne PI-regulatoren bygger på P-regulatoren du laga i øving 4 skal all nødvendig kopling mellom programmet ditt og K8055-kortet allerede være ivaretatt. Nå kan du prøvekjøre programmet. Virker det som det skal? Dersom det dukker opp feil må du prøve å utbedre dem helt til programmet virker som det skal. Kontroller at det virkelig er rykkfri overgang når du går fra P-regulator til PI-regulator og tilbake. Får du null stasjonært avvik med PI-regulatoren? Side 78 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012

Dataøving 5 SANNTID PI-regulator Side 7 Kjør regulatoren som PI-regulator når alt virker. Hva skjer om du nå prøver å endre på nominelt pådrag i frontpanelet? f) Innmatingsfeltet for nominelt pådrag når regulatoren går som PI: Det er uheldig at feltet for nominelt pådrag framstår som et innmatingsfelt i frontpanelet når det i realiteten bare skal være et visingsfelt under PI-kjøring. Som nevnt tidligere mulig å få an et innmatingsfelt (Control) til å oppføre seg som et visingsfelt under kjøring. Dette kan du få til ved å endre på egenskapene til innmatingsfeltet ved å bruke en Property Node. Hvis du høyreklikker i innmatingsfeltet i frontpanelet for Nominelt pådrag, u0-feltet og så velger Create> Property Node så dukker det opp ei lang liste med egenskaper som kan endres under kjøring. Dessverre kan du ikke forandre egenskapen for en Control til en Indicator under kjøring. Du kan i stedet endre på tre andre egenskaper: (Oppskriften på hvordan du gjør dette kommer i underpunktene for f1) litt lenger ned på sida.) 1) Med Disabled kan du enable, disable eller gråne ut et innmatingsfelt. Verdien 0 inn enabler (aktiverer), mens verdien 1 disabler (deaktiverer) og verdien 3 gråner ut og deaktiver objektet. 2) Med IncDecVis (Increment/Decrement Visible) kan du fjerne knappene for å øke eller minke verdien. False fjerner knappene, mens true viser fram knappene. 3) Med NumText.BGColor (Numerical Text BackGround Color) kan du skifte bakgrunnsfargen til tallverdiene. Bakgrunnsfargen blir da lik fargen i fargekonstanten som koples til. f1) Lag en Case Structure som du plasserer inni hendelsefella for PI. Kopl en forbindelse fra NewVal til inngangen på Case-strukturen - det grønne spørsmåltegnet i venstre ramme-kant. Inni strukturen under True-plasserer du en PropertyNode (egenskaps-blokk) som vist på figuren. Du lager den på følgende måte: 1) Høyreklikk på Nominelt pådrag u0 i frontpanelet og velg Create > PropertyNode > Disabled. Plasser blokka som blir laga inni Case-strukturen. 2) Utvid blokka i nedre kant så mye at det dukker opp to ruter til. Ikke bry deg om hva som står på disse i første omgang. 3a) Venstreklikk på ruta under Disabled og velg Select Property>Increment/Decrement Visible. Nå skal du ha fått fram teksten IncDecVis. 3b) Gjenta det samme i den nederste ruta, men nå skal du velge Numeric Text > Text Colors > BG Color. Nå skal det stå Num.Text.BGColor i denne ruta. NB! Det er en raritet i LabView: Hvis du velger Numeric Text > Colors > BG Color får du samme tekst inni ruta, men det oppfører seg ikke på samme måte. Pass derfor på at du velger Numeric Text > Text Colors > BG Color. 3c) Alle de tre feltene har kanskje tilkoplingspunkter på høgre side. (Markert med liten svart trekant.) Du skal ha tilkoplingspunktene på venstre side. Dette kan du få til ved først å markere høgre-klikke øverst i Property Node blokka og deretter velge Change All to Write. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012 Side 79

Side 8 Dataøving 5 SANNTID PI-regulator 4a) Kopl en konstant med tallverdien 1 til venstre inngang på ruta merka Disabled. 4b) Kopl en logisk konstant False til venstre inngang på IncDecVis. 4c) Kopl en fargekonstant til venstre inngang på NumTextBGColor. Fargekonstanten finner du under Programming > Dialog & User Interface > Color Box Constant. Ikonet ser ut som malerpalett, mens objektet som blir plassert i blokkdiagrammet ser ut som et kvadrat med blå ramme og en farge inni. Når du henter ut konstanten er fargen svart. Når du har kopla til fargekonstanten kan du venstreklikke inni konstanten og velge gråfargen under System. f2) PropertyNode i Case-strukturen under False. Når PI er usann så har vi P-regulator. Da skal feltet for Nominelt pådrag u0 i frontpanelet være et innmatingsfelt igjen. Dette får du til om du lager en PropertyNode som vist på figuren og plasser den under False. Du kan lage den på samme måte som i f1), men det er enklere å lage en kopi av koplinga du har under True.. 1) Lag en kopi av hele koplinga du har under True og plasser den under False 2) Kopien av egenskaps-blokka har ikke riktig navn. Klikk først utafor kopien for at ikke hele koplinga skal være valgt. Høyreklikk deretter i egenskapsblokka og velg Link To > Panel > Nominelt pådrag u0. Nå skal blokka ha fått riktig navn 3) Skift verdi på de tre konstantene så de blir som vist på figuren øverst i f2). Konstantene er tallverdien 0, den logiske verdien sann og fargen hvit. f3) Riktig utseende på feltet for Nominelt pådrag u0" ved oppstart. Ved oppstart er regulatoren en P-regulator. Derfor må feltet være et innmatingsfelt. For å sikre det skal hele koplinga som står under False i hendelsefella for PI kopieres og plasseres i bilde null i hovedsekvens-stakken sammen med de andre startverdiene. Husk å skifte navn på kopien på samme måte som under f2) 2). g) Prøvekjør programmet og skift mellom P og PI. Hva skjer med innmatingsfeltet for u0? 5 Utvidelse av programmet til også å inkludere valg mellom Auto og Hand. Ved kjøring i hand dvs manuell kjøring må det finnes et innmatingsfelt for å sette inn pådraget manuelt. Vi har et felt for pådraget, men det er et indikatorfelt (visningsfelt). Det er ikke mulig i LabView å endre et visningsfelt til et innmatingsfelt under kjøring. I stedet kan du gjøre om det til et innmatingsfelt i frontpanelet og under kjøring skifte mellom at det er et innmatingsfelt og at det er et innmatingsfelt som ser ut som et indikatorfelt. Dette har du allerede gjort for innmatingsfeltet for Nominelt pådrag u0, og nå skal du gjøre tilsvarende for Pådraget u. Hendelser i innmatingsfeltet må i tillegg bli fanga opp i hendelsefella. Side 80 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012

Dataøving 5 SANNTID PI-regulator Side 9 a) Gjør om indikatorfeltet Pådrag u i frontpanelet til en Control: Høyreklikk i visningsfeltet Pådrag u og gjør det om til et innmatingsfelt ved å velge Change to Control. Kanskje må du flytte etiketten med ledeteksten litt til venstre for at det skal se pent ut. Det skal da se sånn ut: b) Endring i blokkdiagrammet: I blokkdiagrammet for P-reg fikk terminalen Pådrag u en startverdi lik null direkte. Når visningsfeltet gjøres om til et innmatingsfelt blir seende omtrent sånn ut i bilde 0 i sekvens-stakken: 1) Du må endre dette sånn at terminalen for Pådrag u står aleine på samme sted uten tilkopling. 2) Du må lage en lokal variabel for Pådrag u som du gir startverdien 0. Da skal det se ut omtrent sånn: c) Utvid hendelsefella til å fange opp Value Change for innmatingsfeltet Pådrag u. Lag en lokal variabel for terminalen som koples til NewVal. Hent også terminalen til Pådrag u som står i bilde 1 i sekvens-stakken og plasser den inni hendelsesfella for Pådrag u. Terminalen til Pådrag u dras først utafor sekvensstakken. Skift over til bilde en og parker terminalen i hendelsefella så det blir som vist på figuren. d) Riktig utseende på visingsfeltet ved oppstart. Fordi vi starter opp regulatoren i AUTO så skal feltet for pådrag være et visningsfelt ved oppstart. Dette må ordnes i bilde null i hovedsekvens-stakken. Ved oppstart skal feltet se ut som et indikatorfelt. Plasser derfor koplinga som vist her i bilde null. Tips! Gå inn i hendelsefella for PI under True og kopier koplinga der. Skift deretter navn ved å lenke opp mot Pådrag u på samme måte som vist under 4 f2) 2). Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012 Side 81

Side 10 Dataøving 5 SANNTID PI-regulator For å være sikker på at oppstart alltid er i AUTO må du lage en lokal variabel for knappen og passe på at den får startverdien True. e) Riktig veksling mellom innmatingsfelt og visingsfelt i auto og manuell. I AUTO skal Pådrag u se ut som et visningsfelt, men i manuell skal det være et innmatingsfelt. Vekslinga mellom disse to må skje i hendelsesfella for AUTO-knappen. e1) Gå over til PI i hendelsefella og kopier over hele Case-strukturen med innhold til AUTO i fella. Pass på at egenskapsboksene blir lenket opp til Pådrag u. Kopl deretter Case-strukturen til NewVal. e2) Prøvekjør nå. Blir Pådrag u er innmatingsfelt i manell og et visingsfelt i auto? Dersom det blir omvendt kan du høyreklikke i True-etiketten og velge Make This Case True. Da bytter True og False plass. Blir det rett nå? f) Formelboks for PI-regulator med rykkfri overgang AUTO og HAND: Formelboksen må utvides med det som er uthevet skrift: Les prosessverdien y fra AD1 Rekn ut avviket e_k Hvis (AUTO = = 0) (dvs at vi er i HAND){ Sett u_k lik manuelt pådrag Sett nominelt pådrag lik manuelt pådrag Sett referansen lik prosessverdien} Hvis (AUTO = = 1){ Hvis (PI= =0) { Rekn ut pådraget u_k for en P-regulator.} Ellers: (dvs at vi har PI-regulator){ Rekn ut pådraget u_k for PI-regulator. Sett nominelt pådrag lik forrige pådrag.} } Sjekk at pådraget holder seg mellom 0 og 255 og sett pådraget til 0 om det er mindre enn 0 og til 255 om det er større enn 255 Konverter pådraget fra hjelpevariablen u_k av typen double (float64) til pådraget u av typen unsigned char (uint8) Send pådraget ut til DA1 Oppdater gamle verdier for pådraget og for reguleringssavviket. Skriv opp prosessverdien i feltet på skjermen Skriv opp pådraget i feltet på skjermen Skriv opp referansen i feltet på skjermen} Skriv ut pådrag, referanse og prosessverdi til linjeskriveren på skjermen Formelboksen kan da se ut som vist på figuren: Side 82 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012

Dataøving 5 SANNTID PI-regulator Side 11 Du må utvide din formelboks med mer kode og flere innganger og utganger så det ser ut omtrent som på figuren. g) Tilkopling til formelboksen. De fleste inn- og utganger på formelboksen har navn som er sjølforklarende. um er manuelt pådrag og den koples til en lokal variabel for Pådrag u. Foreta alle oppkoplinger som er nødvendig. f) Kjør programmet: Nå kan du prøvekjøre programmet. Virker det som det skal? Dersom det dukker opp feil må du prøve å utbedre dem helt til programmet virker som det skal. Kontroller at det virkelig er rykkfri overgang når du går fra AUTO til HAND og tilbake både med P-regulator og PI-regulator. g) Testløype: Kjør programmet gjennom denne testløypa hvor du skal oppnå stasjonær tilstand før du går over til neste punkt. Noter ned de verdiene som mangler i tabellen. I testpunkt 5 skal du prøve å endre pådraget sånn at prosessverdien ender på 153. I testpunkt 8 skal du også prøve å endre pådraget sånn at prosessverdien ender på 153. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012 Side 83

Side 12 Dataøving 5 SANNTID PI-regulator NB! Hopp til neste nummer i testkjøringa når prosessen har stabilisert seg i stasjonær tilstand! Test Kp TI P/PI AUTO/HAND u0 r u y 1 1 1000 P AUTO 127 127 2 1 1 PI AUTO 127 3 1 1 P AUTO 127 4 1 1 P AUTO 153 5 1 1 P HAND * 153 6 1 1 P AUTO 7 1 1 PI AUTO 102 8 1 1 PI HAND * 153 9 1 1 PI AUTO 10 1 1 P AUTO * Juster u til y blir 153 stasjonært. Prøv å forklare hvorfor stasjonærverdiene blir som de blir i de forskjellige testpunktene. 6 Forbedring av brukergrensesnittet. Under kjøring er det fortsatt noen små ting som ikke er helt bra. Det gjelder særlig noen innmatingsfelt som ikke bør få være innmatingsfelt i alle situasjoner. Har du lagt merke til hvilke innmatingsfelt det gjelder? Her kommer den enkleste, men ikke nødvendigvis den mest elegante måten å forbdre grensesnittet på. e) Verdier i visingsfeltet Avvik. Dersom du ikke allerede har kopla utgangen e_k i formelboksen til en lokal variabel for dette visingsfeltet skal du gjøre det nå. b) Lag en sekvens-stakk for å få bedre plass i blokkdiagrammet til flere forbedringer. Lag en sekvens-stakk som du legger rundt formelboksen og det meste av av innholdet i metronomløkka unntatt sjølve metronomen og stopp-blokka. Kanskje må du utvide størrelsen på metronomløkka for å få til dette. c) Utvid stakken med et nytt bilde. Dette bilde skal legges etter det bildet som allerede er der. d) Tallverdi til visingsfeltet PI2AUTO. Dette feltet er et hjelpefelt som skal vise en tallverdi som tilsvarer innstillingene på på bryterne PI og AUTO. Dersom de to bryterne koples som et tall med 2 bit kan PI være MSB og AUTO være LSB. I det nye bilde i stakken kan du legge inn denne koplinga. Side 84 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012

Dataøving 5 SANNTID PI-regulator Side 13 e) Innmatingsfeltet for Referansen r skal være visingsfelt når regulatoren går i manuell. I manuell blir referansen satt lik prosessverdien og da skal ikke brukeren få lov til å mate inn tallverdier. Det må derfor framstå som et visingsfelt i manuell kjøring og som et innmatingsfelt når det er automatisk regulering. Dette får du til på denne måten: 1) Kopier hele Case-strukturen fra PI i hendelsefella og plasser den i det nye bilde i stakken. 2) Skift navn på egenskapsnodene ved å linke dem opp til Referanse r. 3) Kopl deretter en lokal variabel for AUTO-knappen til inngangen (spørsmålstegnet) til Case-strukturen. 4) Prøvekjør. Dersom Referanse r virker motsatt av det som er ønskelig høyreklikker du i etiketten True og velger Make This Case False. f) Innmatingsfeltet for Nominelt pådrag u0 skal bare være innmatingsfelt i AUTO og når regulatoren går som P-regulator. 1) Kopier hele Case-strukturen fra PI i hendelsefella og plasser den i det nye bilde i stakken. 2) Skift navn på egenskapsnodene ved å linke dem opp til Nominelt pådrag u0. 3) Kopl deretter en lokal variable for PI- og AUTO-knappene til inngangen (spørsmålstegnet) til Case-strukturen som vist på figuren 4) Hva skal visingsfeltet PI2AUTO vise når inngangen på Case-strukturen er True og hva skal det vise når den er False? True: False: 5) Prøvekjør. Virker alt som det skal nå? g) Forskjell på kode i hendelsefella og i metronomløkka. Sett samplingstida lik 1 og skift mellom Auto og Hand begge veier mens du ser på innmatingsfeltene/visingsfeltene for Pådrag og Referanse. g1) Hvilket felt skifter momentant når du legger om Auto/Hand-knappen og hvilket felt henger etter? Skifter momentant: Henger etter: g2) Hvorfor er det sånn? Sidesprang: Som du ser skifter verdien til det som er plassert i hendelsesfella momentant, mens det som skjer i metronomløkka bare skifter verdi en gang pr Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012 Side 85

Side 14 Dataøving 5 SANNTID PI-regulator metronomslag. Det er derfor mer elegant å legge endringer basert på brukerhabdlinger direkte i hendelsesfella. Sidesprang slutt. h) Oppstartkode: Når programmet starter opp kan det være flere ting du ønsker skal skje før brukeren får anledning til å gjøre noe. Koden for dette skal plasseres i bilde 0 i den store sekvensblokka. h1) Her skal du sette inn startverdiene du ønsker at de forskjellige ojektene på skjermen skal ha. For visingsfelt kan du ofte bruke terminalen direkte om den fortsatt er ledig. For innmatingsfelter, knapper, lysdioder osv må du oftest bruke lokale variable. Sørg for disse startverdiene: Integrasjonstid = 1000; PI = false; AUTO=true; I tillegg skal visingsfeltet PI2AUTO settes lik 1. Dette feltet er egentlig et hjelpefelt for å sjekke at programmet har oppfatta innstillingene på PI/P- og Auto/Handknappene rett. Begge tolkes som binære verdier hvor opp er lik 1 og ned er lik null. Ved oppstart blir verdien dermed 01 dvs 1 når PI/P-knappen står ned og Auto/Handknappen står opp. h2) Når vi starter i AUTO og med P-reg så skal feltet for Nominelt pådrag u0 framstå som et innmatingsfelt og feltet for Pådrag u framstå som et visingsfelt. Du må derfor sette inn egenskapsblokker (Property Node) for disse to feltene sånn at dette er oppfylt. Tips! Du har disse egenskapsblokkene andre steder i blokkdiagrammet. Det er bare å kopiere dem over og lenke dem opp på nytt. 7 Laging av installasjonsprogram. NB1! Figurene her er fra LabView 2009, men det er ingen prinsippielle forskjeller i 2012 versjonen. For å lage et installasjonsprogram må du først lagen en exe-fil med Application Builder og så bruke Installer til å lage installasjonsprogrammet. Ingen av disse tilleggene til LabView finnes i standard LabView. De følger med LabView Professional, men kan også kjøpes om et tillegg til standard LabView. Med standard LabView kan du bare lage program som forutsetter at brukeren har kjøpt og installert LabView på sin maskin. Med Application Builder kan du lage og distribuere program som ikke krever at brukeren har kjøpt LabView først. Det er utrolig mange muligheter og opsjoner i Application Builder. Det står grundig, men kryptisk forklart i LabView Help under Fundamentals > Building and Distributing Applications. Her kommer bare en minimumsløsning for å først lager et prosjekt, deretter en exe-fil og til slutt en installasjonspakke for PIreg.vi. a) Laging av et prosjekt for PIreg. a1) Et prosjekt er en samling av filer for en applikasjon (dataprogram). Det kan ofte være greit å lage et prosjekt sjøl om målet ikke er å lage et program for videre spredning. Et prosjekt gjør det mulig å holde orden på alle filene som er nødvendige for at programmet skal virke rett. Side 86 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012

Dataøving 5 SANNTID PI-regulator Side 15 Gå innpå frontpanelet til PIreg.vi og videre inn på Project > New Project. Nå dukker Project Explorer-vinduet opp. Gå inn på dette vinduet under File > Save As... og lagre som PIreg.lvproj a2) Dersom ikke Pireg.vi står i prosjektvinduet så gå inn i det samme Project Explorer-vinduet under Project > Add To Project > Add File... og legg til PIreg.vi Hvis du nå ekspanderer Dependencies i dette vinduet skal du se alle subvier og eventuelle dllfiler som brukes av PIreg.vi. Prøv det! b) Exe-fil med Application Builder. b1) Start opp Application Builder ved at du høyreklikker i Build Specifications-ikonet i Project Explorer-vinduet. Der velger du New > Application (EXE) Du skal nå få fram PIreg Properties-vinduet. Figuren viser et utsnitt av vinduet for kategorien Information. b2) I kategorien Information skal du gi inn noen opplysninger. Under Build specification name skriver du PIreg og under Target file name skriver du PIreg.exe. Nå skal det automatisk komme opp et forslag til Destination directory. Er du fornøyd med forslaget til katalog er du ferdig med denne kategorien. b3) Gå videre til kategorien Source Files. Under Project Files klikker du først på PIreg.vi og deretter på høyre pila for å kopiere dette over til Startup VIs. Dersom det ser ut som på figuren over er du ferdig. b4) Gå videre til kategorien Destinations. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012 Side 87

Side 16 Dataøving 5 SANNTID PI-regulator Her skal det ikke være nødvendig å gjøre noen endringer. b5) Gå videre til Source File Settings. Heller ikke her skal det være nødvendig å gjøre endringer. b6) Gå videre til Icon. Dersom du ikke vil ha et eget ikon for exe-programmet kan du la alt stå som det er. Dersom du ønsker å lage et eget ikon kan du klikke på Icon Editor... Nå dukker et eget lite program som heter Icon Editor opp. Side 88 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012

Dataøving 5 SANNTID PI-regulator Side 17 Her kommer en rask oppskrift på å lage et enkelt ikon. 1) Velg 16x16, 32 bit color 2) Klikk i lyseblå fargekvadrat for å velge farge. 3) Klikk i malingsspannikonet. 4) Klikk inni rutearket. Nå skal hele rutearket bli lyseblått. 5) Klikk i mørkeblått fargekvadrat for å velge farge. 6) Klikk i kvadratet med stor T for å velge tekst. 7) Klikk inni det lyseblå rutrarket nesten til venstre litt under midten. 8) Skriv PI- på tastaturet. Det skal nå dukke opp et omriss av bokstavene PI og en bindestrek. Bruk musemarkøren og flytt bokstavene så de nesten tangerer venstre kant og tangerer overkanten av rutearket. 9) Klikk i rødt fargekvadrat for å velge farge. 10) Klikk i nederste venstre hjørne av rutearket og skriv reg. Det skal nå dukke opp et omriss av bokstavene reg. Bruk musemarkøren og flytt bokstavene så de tangerer nedre kant og høgre kant av rutearket. 11) Du skal nå ha fått en figur som likner figuren til høgre. (Du kan sikkert lage et mye finere ikon, men det er ikke poenget her!) 12) Når du er ferdig med ikonet må det lagres. Gå inn på File > Save As... og pass på at du lagrer ikonet som f eks PIreg.ico. Legg også merke til hvilken katalog ikonet lagres på. 13) Avslutt Icon Editor. Nå er du tilbake i PIreg Properties-vinduet og kategorien Icon. Hvis du nå vil bruke ikonet du nettopp har laga fjerner du haka i ruta foran der det står Use the default LabVIEW icon file. Nå dukker Select Project File-vinduet opp. Klikk på Add. I det nye vinduet som nå dukker opp du skal finne fram til den ikon-fila du vil bruke. Leit deg fram til PIreg.ico. Når det er gjort skal Icon-kategorivinduet se ut som på figuren under. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012 Side 89

Side 18 Dataøving 5 SANNTID PI-regulator b7) Resten av kategoriene som står nedover i lista kan du la være som de er. Den eneste kategorien det kan være verdt å gå inn på er Version Information. Dersom du ikke er fornøyd med standardverdiene her så kan du endre dem. b8) Nå er du endelig klar til å generere exe-fila. Klikk på Build-knappen nederst i PIreg Properties-vinduet. Nå dukker det opp et Build Status-vindu som viser framdrifta. Når genereringa er ferdig kan du klikke på Done-knappen. b9) I filbehandleren skal du kunne finne noe som likner dette.( NB! Trykk på F5-knappen på tastaturet for å oppdatere filbehandleren.) b10) Legg merke til ikonet ved PI-reg.exe! Du kan starte opp programmet PIreg ved å dobbeltklikke på PIreg.exe i filbehandleren. Gjør det og se om programmet virker! b11) Hvis du kopier hovedkatalogen PI-reg med innhold og underkatalogen data over på en annen PC så kan du ikke uten videre kjøre programmet. Et LabView-generert exe-program krever enten at LabView er installert på PC en eller at PC en har en LabView-runtime modul. Denne modulen er gratis, men må passe til exeprogrammet. Er exe-programmet generert med LabView 2011 så må runtimemodulen være kompatibel med LabView 2011. I dette tilfelle heter den NI LabVIEW Run-Time Engine 2011. c) Laging av full installasjonspakke. Ved å lage en full installasjonspakke vil riktig runtime-modul pakkes med programmet. I tillegg blir det et skikkelig installasjonsprogram som sørger for at det er lett for potensielle brukere å installere programmet. Har du først laga et exe-program så er det enkelt å lage en full installasjonspakke i LabView. c1) Start opp Installer ved at du høyreklikker i Build Specifications-ikonet i Project Explorer-vinduet. Der velger du New > Installer Du skal nå få fram My Installer Properties-vinduet. Figuren viser et utsnitt av vinduet for kategorien Product Information. I utgangspunktet er det ikke nødvendig å endre noe særlig mye her. Det kan være fornuftig å endre Build Specification Name til PIreg Installer. Firmanavn og webadresse er kanskje ikke helt rett. Etter litt redigering kan det se ut som på figuren på neste side. Side 90 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012

Dataøving 5 SANNTID PI-regulator Side 19 c2) Gå inn på kategorien Source Files. Under Project View må du klikke på PIreg og deretter på pila som peker mot høgre for å få PIreg kopiert over til Destination View. c3) Egentlig er det ikke mer du trenger å gjøre, men du kan gå inn på kategorien Additional Installers og sjekke at NI LabVIEW Run-Time Engine 2010 har en hake foran. Det sikrer at den rette runtime-modulen følger med. c4) Nå er det bare å trykke på Build-knappen. Nå dukker Build status-vinduet opp og viser hvordan det går med genereringa av installasjonspakka. Når den er ferdig er det lurt å legge merke til hvilken katalog installasjonen er lagt på. Deretter er det bare å trykke på Done-knappen. c5) Installasjonen ligger nå på katalogen PIreg Installer og underkataloger. Denne inneholder et komplett installasjonsprogram som kan få PIreg til å gå på alle PC er. Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012 Side 91

Side 20 Dataøving 5 SANNTID PI-regulator Til egne notater: Side 92 Styring og regulering av prosesser med PC ved hjelp av K8055-kortet og LabView 2012