28.07.2013 Views

Entanksprosjektrapport Prosjektoppgave i faget Styresystemer og ...

Entanksprosjektrapport Prosjektoppgave i faget Styresystemer og ...

Entanksprosjektrapport Prosjektoppgave i faget Styresystemer og ...

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

<strong>Entanksprosjektrapport</strong><br />

<strong>Prosjektoppgave</strong> i <strong>faget</strong><br />

<strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk<br />

Pumpe<br />

2EA<br />

Vår 2013<br />

Reguleringsventil<br />

Vanntank<br />

Magnetventilene<br />

FT1<br />

Vannreservoar<br />

100 %<br />

60 %<br />

50 %<br />

0 %<br />

LT1<br />

ref.


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

<strong>Prosjektoppgave</strong> i <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk,<br />

Oppgavens tittel:<br />

<strong>Prosjektoppgave</strong> i <strong>faget</strong> <strong>Styresystemer</strong> <strong>og</strong><br />

reguleringsteknikk<br />

Gruppedeltagere:<br />

Entanksprosjekt<br />

Jostein S. Helland(JSH) 93030878<br />

josteish@stud.hist.no<br />

Bendik Mydland(BM) 99223347<br />

bendikm@stud.hist.no<br />

Olav Gabrielsen(OG) 93412152<br />

olavgab@stud.hist.no<br />

Erlend V. Ekren(EVE) 41767127<br />

erlendek@stud.hist.no<br />

Thomas I. Berge(TIB) 97425260<br />

thomasib@stud.hist.no<br />

Fredrik Sørvig(FS)<br />

Studieretning:<br />

48036012<br />

fredrso@stud.hist.no<br />

Oppdragsgiver:<br />

Automatiseringsteknikk<br />

Avdeling for Teknol<strong>og</strong>i v/Per Hveem<br />

Startdato:<br />

27.03.13<br />

Innleveringsdato:<br />

01.05.13<br />

Antall sider/vedlegg:<br />

218/63<br />

Veileder:<br />

Per Hveem<br />

Tlf: 73559593<br />

E-post: per.hveem@hist.no<br />

Prosjektgruppe:<br />

1<br />

Kontaktperson hos<br />

oppdragsgiver:<br />

Se veileder


Sammendrag<br />

I følgende rapport dokumenteres entanksprosjektet til prosjektet «Prosjekt i <strong>faget</strong><br />

styresystemer» utført av studenter ved bachelorpr<strong>og</strong>ram Automatiseringsteknikk på<br />

Høgskolen i Sør-Trøndelag. Det gjennomføres ett lignende prosjekt hver vår på<br />

andre halvår ved denne linjen, <strong>og</strong> denne gangen omhandler det en reguleringssløyfe<br />

som skal styre nivået i to forskjellige tanker på en tankrigg.<br />

Ved linjen Automatiseringsteknikk blir studentene tidlig introdusert til nivåregulering i<br />

tanker, som gjør dette til en naturlig oppgave.<br />

Prosjektets formål er å gi trening i å gjennomføre større prosjekter for<br />

prosjektdeltagerne.<br />

Oppgaven består i å styre nivået i et totankssystem. I det inngår modellering <strong>og</strong><br />

simulering av tankene, pr<strong>og</strong>rammering av en l<strong>og</strong>isk sekvens for styring <strong>og</strong> regulering<br />

av disse, samt pr<strong>og</strong>rammering av brukergrensesnitt på flere plattformer <strong>og</strong><br />

kommunikasjon de imellom.<br />

Denne rapporten omhandler hvordan gruppen gikk frem for å styre <strong>og</strong> regulere nivået<br />

i en tank.<br />

Dette innebærer utvikling av brukergrensesnitt på PC, operatørpanel <strong>og</strong> hjemmeside<br />

samt utvikling av en teoretisk modell for den fysiske prosessen slik at gode<br />

simuleringer kan gjøres. Kommunikasjonen mellom PC, operatørpanel, hjemmeside,<br />

web-kamera, master-PLS, slave-PLS, Profibusnettverk <strong>og</strong> ethernet utvikles slik at<br />

prosessen får en utmerket brukervennlighet <strong>og</strong> funksjonalitet.<br />

Reguleringen av nivået er optimalisert ved hjelp av finregning <strong>og</strong> fintuning. Dette<br />

sammen med et brukervennlig brukergrensesnitt, som gir nødvendig <strong>og</strong> oversiktlig<br />

informasjon, er et bra verktøy for operatøren når væskenivået i tanken skal holdes<br />

stabilt.<br />

BM, FS, OG


Forord<br />

Entanksprosjekt-rapporten er en rapport som omhandler hvordan gruppen gikk frem<br />

for å lage pr<strong>og</strong>ram <strong>og</strong> HMI for styring <strong>og</strong> regulering av tank. Dette er den mest viktige<br />

oppgaven i prosjektet på grunn av at studentene får gjennomført prosjektets formål<br />

med å styre <strong>og</strong> regulere tanken.<br />

Etter at gruppen hadde levert inn miniprosjektrapporten til arbeidsgiver, tok gruppen<br />

fatt på å modellere prosessen i Simulink, lage pr<strong>og</strong>ram i PLS <strong>og</strong> pr<strong>og</strong>ram for HMI. De<br />

har <strong>og</strong>så beregnet filter for filtrering av støyen i nivået i tanken <strong>og</strong> støyen fra<br />

magnetventilene.<br />

Vi har fått nye utfordringer <strong>og</strong> sett oss inn i nye problemstillinger. Dette er noe hele<br />

gruppen har sett frem til på grunn av at vi i større grad skal kunne få bruk for teoretisk<br />

kunnskap fra forelesningene til praktiske løsninger i prosjektet. Oppgavene ble delt ut<br />

slik at vi jobbet to <strong>og</strong> to sammen på hver arbeidspakke. Det endelige resultatet kan<br />

leses om i rapporten. Resultatet av modellering <strong>og</strong> simulering av prosessen er tatt<br />

med som vedlegg for entankrapporten.<br />

Som mål, har gruppen satt at de vil overbevise arbeidsgiver til at de er de rette til å<br />

gjøre denne jobben, <strong>og</strong> lage en god prosjektrapport innen alle «del-prosjektene».<br />

Til slutt vil gruppen fortsatt takke Per Hveem <strong>og</strong> Andreas Sørvik fra HiST for<br />

veiledning gjennom prosjekttiden. Gjennom prosjektmøte, <strong>og</strong> gode praktiske tips, har<br />

de begge vært til god hjelp. Gruppen ser frem til videre samarbeid med begge videre<br />

i totanksprosjektet.<br />

Bendik<br />

Mydland<br />

TIB<br />

Erlend V.<br />

Ekren<br />

Fredrik<br />

Sørvig<br />

Jostein S.<br />

Helland<br />

Thomas I.<br />

Berge<br />

Olav<br />

Gabrielsen


1 Innholdsliste<br />

1 Innholdsliste ......................................................................................................... 1<br />

2 Figurliste. ............................................................................................................. 2<br />

3 Tabelliste. ............................................................................................................. 6<br />

4 Vedleggsliste. ....................................................................................................... 7<br />

5 Innledning. ........................................................................................................... 8<br />

5.1 Bakgrunn: ...................................................................................................... 8<br />

5.2 Oppgavetekst: ............................................................................................... 9<br />

5.3 Definisjoner: ................................................................................................ 10<br />

6 Teknisk del. ........................................................................................................ 11<br />

6.1 Problemstilling: ............................................................................................ 11<br />

6.2 Prosjektmål .................................................................................................. 12<br />

6.3 Prosjektbeskrivelse: ..................................................................................... 13<br />

6.4 Spesifikasjoner ............................................................................................ 14<br />

6.5 Filterberegninger <strong>og</strong> konstruksjon ............................................................... 22<br />

6.6 PLS. ............................................................................................................. 36<br />

6.7 PID-regulator: .............................................................................................. 63<br />

6.8 iX-panelet. ................................................................................................... 66<br />

6.9 Webkamera til InTouch ................................................................................ 79<br />

6.10 InTouch .................................................................................................... 83<br />

6.11 Nettjenester ............................................................................................ 117<br />

6.12 Test av tankens regulering ..................................................................... 136<br />

6.13 Problemområder for prosjektutførelsen .................................................. 139<br />

7 Prosjektorganisering. ....................................................................................... 140<br />

7.1 Deltakere: .................................................................................................. 140<br />

7.2 Arbeidslokaler <strong>og</strong> utstyrstilgang: ................................................................ 144<br />

7.3 Prosjektleveranser: .................................................................................... 145<br />

7.4 Tids- <strong>og</strong> kostnadsplan: .............................................................................. 148<br />

7.5 Prosjektstyring <strong>og</strong> kvalitetssikring: ............................................................. 149<br />

8 Litteraturliste .................................................................................................... 150<br />

9 Vedlegg ............................................................................................................ 152<br />

1


2 Figurliste<br />

Figur 1: MasterPLS ................................................................................................... 14<br />

Figur 2: SlavePLS ..................................................................................................... 17<br />

Figur 3: Eksempel på InTouch grensesnitt ............................................................... 18<br />

Figur 4 Adgang – OP ................................................................................................ 19<br />

Figur 5: Krav til iX-panelet ........................................................................................ 20<br />

Figur 6:WEB-forside ................................................................................................. 21<br />

Figur 7: Bode-diagram av åpen sløyfefunksjon ........................................................ 23<br />

Figur 8: Støymåling LT1 ved 90 % <strong>og</strong> 1 åpen utventil .............................................. 24<br />

Figur 9: Andreordens Butterworth-filter ..................................................................... 25<br />

Figur 10:Støysignalet med lavest frekvens på utstrømningssignal ........................... 28<br />

Figur 11: Førsteordens Butterworth lavpassfilter ...................................................... 29<br />

Figur 12: Gul kurve: Utstrømningssignal før filter. Grønn kurve: Utstrømningssignal<br />

etter filter ................................................................................................................... 31<br />

Figur 13: Ferdig-konstruert nivåfilter ......................................................................... 32<br />

Figur 14: IC-brikken Lm358 ...................................................................................... 32<br />

Figur 15: Oppkobling til rigg av Flow-filter ................................................................. 33<br />

Figur 16: Oppkobling til panel av Nivå-filter .............................................................. 33<br />

Figur 17: Flow-filteret inne Slave-PLS skapet. .......................................................... 34<br />

Figur 18: Nivå-filter montert på tank-rigg. ................................................................. 34<br />

Figur 19:Regulator-Samplingstid .............................................................................. 38<br />

Figur 20: Slave-PLS'en <strong>og</strong> AD/DA-modulene. .......................................................... 39<br />

Figur 21: Regulator-P. .............................................................................................. 40<br />

Figur 22:Regulator-PI ............................................................................................... 41<br />

Figur 23:Regulator-PI-2 ............................................................................................ 42<br />

Figur 24: Regulator-Foroverkobling-P. ..................................................................... 43<br />

Figur 25: Utregning Regulator-foroverkobling-D. ...................................................... 44<br />

Figur 26:Regulator-Foroverkobling-D ....................................................................... 45<br />

Figur 27:Regulator-Oppdatering av gamle verdier .................................................... 46<br />

Figur 28: Skriv til Profibus fra slave. ......................................................................... 47<br />

Figur 29: Skriv til Profibus fra slave. ......................................................................... 48<br />

Figur 30: Lese fra Profibus med slavePLS'en ........................................................... 49<br />

Figur 31: Lese fra Profibus med slavePLS'en ........................................................... 50<br />

2


Figur 32: Anal<strong>og</strong>e utganger fra slaven. ..................................................................... 51<br />

Figur 33: Anal<strong>og</strong>e innganger til slaven...................................................................... 51<br />

Figur 34: Alarmbehandling. ....................................................................................... 52<br />

Figur 35: Alarmbehandling. ....................................................................................... 53<br />

Figur 36: Alarmbehandling. ....................................................................................... 54<br />

Figur 37: Lampen på tank-riggen. ............................................................................. 55<br />

Figur 38: Alarmbehandling. ....................................................................................... 56<br />

Figur 39: Styring av utløp på tank-riggen. ................................................................. 56<br />

Figur 40: Flowmåleren som måler utløpet fra tanken <strong>og</strong> ventilene som styrer dette . 57<br />

Figur 41: Bilde av master-PLS'en. ............................................................................ 58<br />

Figur 42: Hendelsessikring. ...................................................................................... 59<br />

Figur 43: Lesing av verdier fra Profibus med masteren. ........................................... 60<br />

Figur 44: Lesing av verdier fra Profibus med masteren. ........................................... 61<br />

Figur 45: Skriving av verdier til Profibus med masteren............................................ 62<br />

Figur 46: Skriving av verdier til Profibus med masteren............................................ 62<br />

Figur 47: Innhenting av blokka PIDheltall. ................................................................ 64<br />

Figur 48: Implementering av PIDheltall. .................................................................... 64<br />

Figur 49: Variabelliste for PIDheltall ......................................................................... 65<br />

Figur 50: Bakgrunn til iX-panelet: ............................................................................. 67<br />

Figur 51: Innl<strong>og</strong>gingsside til iX-panelet. .................................................................... 68<br />

Figur 52: Betingelse ved innl<strong>og</strong>ging. ......................................................................... 68<br />

Figur 53: Sikkerhetsgruppe. ...................................................................................... 69<br />

Figur 54: Sikkerhetsbetingelser. ............................................................................... 69<br />

Figur 55: Trendvinduet i iX-panelet. .......................................................................... 70<br />

Figur 56: Prosessvinduet i iX-panelet. ...................................................................... 71<br />

Figur 57: Betingelser for synlighet. ........................................................................... 72<br />

Figur 58: Betingelser for styring. ............................................................................... 72<br />

Figur 59: Ved aktive- <strong>og</strong> inaktive-enheter. ................................................................ 73<br />

Figur 60: Alarmvinduet i iX-panelet. .......................................................................... 74<br />

Figur 61: Alarmsituasjon under kjøring. .................................................................... 75<br />

Figur 62: Alarmer i iX-panelet ................................................................................... 75<br />

Figur 63:Alarmbetingelse <strong>og</strong> pop-up vindu ............................................................... 76<br />

Figur 64: Alarmbetingelse i iX-panelet. ..................................................................... 77<br />

Figur 65: Popup-vinduer ved nivå over 90 % <strong>og</strong> under 10 %. ................................... 77<br />

3


Figur 66: Alarmbetingelser i iX-panelet. .................................................................... 78<br />

Figur 67: Port-webkamera. ....................................................................................... 80<br />

Figur 68: Innl<strong>og</strong>ging på ruter. .................................................................................... 81<br />

Figur 69: Port-ruter. .................................................................................................. 82<br />

Figur 70: Port-router-kamera. ................................................................................... 82<br />

Figur 71: Innl<strong>og</strong>gingsvinduet ..................................................................................... 85<br />

Figur 72: Operatør3 vinduet ...................................................................................... 86<br />

Figur 73: Operatør2 vinduet ...................................................................................... 86<br />

Figur 74: Operatør1 vinduet ...................................................................................... 87<br />

Figur 75: Sanntidstrendvinduet ................................................................................. 87<br />

Figur 76: Historisk trendvindu ................................................................................... 88<br />

Figur 77: Alarmhistorikkvinduet ................................................................................ 88<br />

Figur 78: Kameraovervåkningsvinduet ..................................................................... 89<br />

Figur 79: InTouch I - XXXXIII .................................................................................... 91<br />

Figur 122: Sending <strong>og</strong> mottak av informasjon. ....................................................... 118<br />

Figur 123: Aksessfilter ............................................................................................ 119<br />

Figur 124: Reise for IP-adresse. ............................................................................. 120<br />

Figur 125: Styring av prosessen fra nettside. ......................................................... 120<br />

Figur 126: Oversikt over kommunikasjonen til nettsiden......................................... 121<br />

Figur 127: REST eksempel. .................................................................................... 122<br />

Figur 128: Iframe-element fra iX-webserver. .......................................................... 124<br />

Figur 129: “Unknown port"-error i Chrome. ............................................................. 125<br />

Figur 130: Salgstall for mobiloperativsystem, hentet fra Wikipedia.org. ................. 127<br />

Figur 131: MIT App Inventor. .................................................................................. 128<br />

Figur 132: Grafisk fremstilling av prosessen for å bytte til et nytt brukergrensesnitt.<br />

............................................................................................................................... 129<br />

Figur 133: Inndeling av fragmenter. ........................................................................ 130<br />

Figur 134: RRC ikonet. ........................................................................................... 130<br />

Figur 135: "Splash"-side. ........................................................................................ 131<br />

Figur 136: Oversiktsside. ........................................................................................ 132<br />

Figur 137: WebCam. .............................................................................................. 132<br />

Figur 138: Kontrollside. ........................................................................................... 133<br />

Figur 139: Produktet som sett på en Samsung Galaxy S2. .................................... 135<br />

Figur 140: Resultat fra modellering. Kurvene viser nivå i %. .................................. 136<br />

4


Figur 141: Modellerte reguleringsparametere uten(tv) <strong>og</strong> med(th) foroverkobling .. 137<br />

Figur 142: Finjusterte reguleringsparametere uten(tv) <strong>og</strong> med(th) foroverkobling .. 138<br />

Figur 143: Tankriggen............................................................................................. 144<br />

Figur 144: Nettsiden til prosjektgruppen. ................................................................ 147<br />

Figur 145: L<strong>og</strong>gført timeforbruk. ............................................................................. 148<br />

5


3 Tabelliste<br />

Tabell 1: Støymåling LT1 .......................................................................................... 24<br />

Tabell 2: Støymåling på flowsignal ........................................................................... 29<br />

Tabell 3: Krav til iX-panelet ....................................................................................... 66<br />

Tabell 4: Rettigheter for forskjellige operatører i InTouch ......................................... 84<br />

Tabell 5: Tabell over finjusterte regulatorparametere ............................................. 137<br />

6


4 Vedleggsliste.<br />

Vedlegg A: Testskjema – 7s<br />

Vedlegg B: PID-kode i strukturert tekst – 3s<br />

Vedlegg C: Android pr<strong>og</strong>ramfiler – 8s<br />

Vedlegg D: Arbeidspakker – 10s<br />

Vedlegg E: Arbeidsnotat – 35s<br />

7


5 Innledning.<br />

5.1 Bakgrunn:<br />

Ved Høgskolen i Sør-Trøndelag, HiST, pr<strong>og</strong>ram for Elektro- <strong>og</strong> Datateknikk,<br />

studieretning Automatiseringsteknikk, skal alle ingeniørstudentene gjennomføre ett<br />

prosjekt under vårsemesteret i det andre året i studiene. Elevene blir delt opp i<br />

grupper på fem til seks elever <strong>og</strong> får utlevert en oppgave som skal gjennomføres som<br />

om det var et prosjekt som forekommer i arbeidslivet. Dette er ett større prosjekt hvor<br />

både planlegging av prosjektet i et forprosjekt <strong>og</strong> utførelsen av prosjektet inngår.<br />

Studentene skal <strong>og</strong>så presentere prosjektet når arbeidet med det er ferdig. I<br />

prosjektet så kreves det at studentene bruker kunnskap de har fått med seg halvveis<br />

inn i bachelorpr<strong>og</strong>rammet, <strong>og</strong> setter det ut i praksis. Samtidig så må studentene for å<br />

gjennomføre prosjektet fordype seg innen aktuelle fagområder som inngår i<br />

oppgaven. Prosjektet utgjør 12 studiepoeng, dvs. 40 % av et semester, <strong>og</strong> tidsmessig<br />

vil dette utgjøre cirka 320 arbeidstimer per student. Det er faglærerne som leverer ut<br />

oppgaven til studentene, <strong>og</strong> de opptrer selv som veileder <strong>og</strong> arbeidsgiver under<br />

prosjektet. Prosjektet går samtidig som undervisning i store deler av<br />

prosjektperioden, mens nærmere slutten av perioden vil det bli mindre undervisninger<br />

<strong>og</strong> mer avsatt tid til jobbing med prosjektet.<br />

Entanksprosjektet har vært en videreføring av miniprosjektet. Kommunikasjonen på<br />

AD-DA-modulen har blitt videreført til et større pr<strong>og</strong>ram. Vi har modellert prosessen<br />

<strong>og</strong> funnet fram til optimale regulatorinnstillinger som vi har tatt i bruk. Vi har skrevet et<br />

PLS-pr<strong>og</strong>ram med HMI for styring <strong>og</strong> regulering av nivået i tanken.<br />

EVE; JSH; OG<br />

8


5.2 Oppgavetekst:<br />

Prosjektgruppen skal lage pr<strong>og</strong>ram for InTouch, operatørpanel <strong>og</strong> PLS’ene som<br />

oppfyller prosjektkravene når det gjelder styring av den ene tanken på tankriggen ved<br />

hjelp av en FX1N-PLS. Dette skal presenteres for veileder <strong>og</strong> godkjennes som<br />

entanksprosjektet. Entanksprosjektet skal dokumenteres i en rapport.<br />

Gruppen skal kunne bruke operatørpanelet <strong>og</strong> InTouch for å sette parametere som<br />

referanse, <strong>og</strong> se at nivået skal svinge stille seg inn på angitt referanse.<br />

Det skal bli lagt inn alarmer for angitte nivå i tanken, som vi kan se <strong>og</strong> behandle i<br />

HMI-ene, som er InTouch <strong>og</strong> iX-panel. Vi skal finne frem til regulatorinnstillinger ved<br />

å modellere <strong>og</strong> simulere prosessen i Simulink. Pr<strong>og</strong>rammet Gx-works2 skal bli<br />

benyttet for å pr<strong>og</strong>rammere regulatoren med <strong>og</strong> uten forover-kobling. Den skal ha et<br />

innsvingingsforløp av typen minimum areal.<br />

Målet er å oppnå raskest mulig innsvingingstid ved endring i<br />

utløpet(magnetventilene) fra 3 åpne til 1 åpen.<br />

Pr<strong>og</strong>rammet skal kunne fungere både som P- <strong>og</strong> PI-regulator med rykkfri overgang<br />

ved skifte av regulatortype i tillegg til skifte mellom manuell modus <strong>og</strong> automatisk<br />

modus.<br />

Gruppen skal konstruere et filter for å filtrere bort støy i nivået <strong>og</strong> et filter for filtrering<br />

av støy fra flowmåleren, som er utstrømning fra magnetventilene. De skal se hvordan<br />

støyen blir filtrert bort ved å koble filtrene til riggen.<br />

Gruppen vil gjennomgå egne selvlagde testskjema for «entanksprosjektet» før det<br />

skal demonstreres for arbeidsgiver. Arbeidsgiver vil ha eget testskjema som vil bli<br />

gjennomgått ved selve demonstrasjonen, for se at alt fungerer etter spesifikasjonene.<br />

Nettsiden skal være oppdatert <strong>og</strong> vil bli evaluert av arbeidsgiver i løpet av<br />

entanksprosjektet.<br />

EVE; TIB<br />

9


5.3 Definisjoner:<br />

PROFIBUS: Process Field Bus, en bredt utbredt feltbuss kommunikasjonsstandard<br />

innen automasjon.<br />

InTouch: Pr<strong>og</strong>ramvare for å lage HMI.<br />

iX Panel TA100: Pr<strong>og</strong>rammerbar berøringsskjerm.<br />

iX Developer: Utviklingsmiljø for pr<strong>og</strong>ramvaren til iX Panelet<br />

Server: Pr<strong>og</strong>ramvare som styrer kommunikasjon på et datanettverk.<br />

IP: Internet Protocol<br />

FTP: Filoverføringsprotokoll. Protokoll for overføring av filer i et TCP/IP-basert<br />

nettverk.<br />

Router: Veiviser mellom lokale <strong>og</strong> eksterne nettverk<br />

JavaScript: Dynamisk pr<strong>og</strong>rammeringsspråk for nettsider.<br />

REST api: REpresentational State Transfer application pr<strong>og</strong>ramming interface<br />

Ethernet: Den mest vanlige teknol<strong>og</strong>ien brukt for kommunikasjon i lokalnett,<br />

spesifisert i standarden IEEE 802.3.<br />

Webkamera: Kamera brukt for å overføre video over nett.<br />

HiST - Høgskolen i Sør-Trøndelag<br />

PC – Personal Computer<br />

PLS – Pr<strong>og</strong>rammerbar L<strong>og</strong>isk Styring<br />

HMI – Human Machine Interface<br />

OPC: Object Linking and Embedding for Process Control<br />

OPC-Server: Skaper kobling til PLS for visning <strong>og</strong> kontroll av verdier fra PLS.<br />

OPC-Link: Et pr<strong>og</strong>ram som kobler InTouch opp mot OPC-Serveren.<br />

WindowViewer: InTouch sitt testmiljø<br />

WindowMaker: InTouch sitt utviklermiljø<br />

JSH; EVE<br />

10


6 Teknisk del.<br />

6.1 Problemstilling:<br />

Riggen er allerede ferdigkoblet. Vi må sette oss inn i koblingstegninger for å finne ut<br />

hvordan vi skal kjøre sprang på prosessen. Deretter så må vi finne riktige regulator-<br />

innstillinger for prosessen.<br />

Det er viktig å modellere prosessen for å kunne oppnå best mulig regulering. Også<br />

under filterberegningene er det viktig å finne riktige verdier for å få luket bort mest<br />

mulig støy <strong>og</strong> ikke miste nyttesignal.<br />

EVE; OG<br />

6.1.1 Dagens situasjon<br />

Per dags dato er modulenes pr<strong>og</strong>ramvare satt opp <strong>og</strong> testet ut. Filtrene er ferdig<br />

montert <strong>og</strong> fungerer som de skal. Systemet er forsøkt regulert <strong>og</strong> prosjektgruppen er<br />

fornøyd med resultatet de har oppnådd med prosjektet.<br />

EVE; OG<br />

6.1.2 Prosessbeskrivelse<br />

Systemet reguleres <strong>og</strong> behandles i slave-PLS’en, mens den styres fra HMI’ene. Det<br />

stilles inn ønsket nivå <strong>og</strong> reguleringsmetode i HMI’ene, før PLS’en sender verdier til<br />

ventilen som kontrollerer hvor mye vann som strømmer inn i tanken. Tankriggen har<br />

enheter som måler utløp <strong>og</strong> nivå, som hjelper PLS’en til å kontrollere ventilen. På<br />

denne måten får PLS’ens regulator regulert inn nivået til innstilt referanse. Utløpene<br />

stilles inn i HMI’ene, <strong>og</strong> der kan <strong>og</strong>så alle verdier leses av.<br />

EVE; OG<br />

6.1.3 Løsning<br />

Gruppen har delt opp oppgaven i flere deler. Studentene deler den opp i<br />

pr<strong>og</strong>rammering, modellering <strong>og</strong> filterberegning. Når alle av disse delene ble gjort,<br />

samlet prosjektgruppen delene sammen <strong>og</strong> kontrollerte om alt fungerte. Når alle<br />

enkeltdelene ble ferdig testet prosjektgruppen om systemet fungerte i henhold til<br />

kravene i oppgaveteksten.<br />

OG; EVE<br />

11


6.2 Prosjektmål<br />

6.2.1 Effektmål<br />

1. Vise hvordan vi på en god måte kan styre <strong>og</strong> regulere nivået i en tank.<br />

2. Legge grunnlaget for videre arbeid med riggen til totanksprosjektet.<br />

3. Oppdatere fremgang gjennom nettsida.<br />

JSH; OG<br />

6.2.2 Resultatmål<br />

Prosjektgruppen skal:<br />

1. Oppdatere pr<strong>og</strong>ramvare til InTouch <strong>og</strong> iX-panelet for styring <strong>og</strong> regulering av<br />

nivået i tanken.<br />

2. Pr<strong>og</strong>rammere PLS’en for å regulere nivå <strong>og</strong> behandle alarm. PLS’en skal<br />

utvides for å ha mulighet for bruk av foroverkobling.<br />

3. Oppdatere Q-PLS med nye kommunikasjonsadresser.<br />

4. Måle støy, dimensjonere <strong>og</strong> lage filter.<br />

5. Modellere prosess for å kunne beregne regulatorparametere.<br />

6. Komme godt i gang med følgende tilleggsoppgaver:<br />

PID-regulator i strukturert tekst.<br />

Kameraovervåking via webkamera over internett.<br />

7. Vurdere følgende bonusoppgaver dersom tid:<br />

Fjernstyring av tankriggen med smarttelefon.<br />

Regulering av nivået ved hjelp av frekvensomformer.<br />

JSH; OG<br />

6.2.3 Prosessmål<br />

Studentene skal:<br />

1. Øke kompetansen <strong>og</strong> forståelsen av styring <strong>og</strong> regulering av nivå i tank.<br />

2. Øke kompetansen om riktig bruk av grafiske elementer i HMI, i forhold til<br />

prosessen.<br />

3. Øke kompetansen om kommunikasjonsprotokollene som knytter de ulike<br />

delene sammen.<br />

4. Øke evnen til å lære seg ny teknol<strong>og</strong>i gjennom tilleggsoppgavene.<br />

5. Øke det sosiale samarbeidet <strong>og</strong> trivselen innad i gruppa.<br />

JSH; OG<br />

12


6.3 Prosjektbeskrivelse:<br />

I entanksprosjektet har gruppen jobbet med regulering <strong>og</strong> styring av tanken.<br />

Prosessen blir styrt fra iX-panelet <strong>og</strong> InTouch, <strong>og</strong> skal regulere seg inn til referanse<br />

ved endring i utløp.<br />

Entanksprosjektet er «hovedprosjektet», som forprosjektet <strong>og</strong> miniprosjektet ligger til<br />

grunnlag for. De store utfordringene vil komme i denne delen av prosjektet, hvor vi<br />

møter problem. Entanksprosjektet vil ligge til grunnlag for totanksprosjektet som vil<br />

komme etter entanksprosjektet er ferdig. Det er derfor viktig at entanksprosjektet blir<br />

grundig gjennomgått, slik at totanksprosjektet blir enklere å samkjøre med den andre<br />

gruppen.<br />

TIB<br />

13


6.4 Spesifikasjoner<br />

6.4.1 PLS<br />

PLS-Master<br />

Anlegget består av to datanettverk som lar styringsenhetene i anlegget kommunisere<br />

med hverandre. Dette er et Ethernet <strong>og</strong> en Profibus-DP feltbuss. MasterPLS-en er en<br />

modulbasert PLS av typen Mitsubishi Q00 <strong>og</strong> skal være bindeleddet mellom<br />

nettverkene. MasterPLS-en muliggjør kommunikasjon mellom SlavePLS, koblet til<br />

Profibus-DP, <strong>og</strong> HMI, koblet til Ethernet. Produktspesifikasjoner til MasterPLS er<br />

beskrevet i prosjektets Miniprosjektrapport.<br />

Figur 1: MasterPLS<br />

BM<br />

PLS-Slave<br />

Væskenivået i en tank skal reguleres. Denne tanken har et innløp, som styres av<br />

reguleringsventil, <strong>og</strong> et utløp, som styres av tre magnetventiler. SlavePLS-en er en<br />

PLS av typen Mitsubishi FX1N med mulighet for utvidelser. SlavePLS-ens oppgave<br />

er å stå for reguleringen av nivået i tanken. Detaljerte produktspesifikasjoner til<br />

SlavePLS er beskrevet i prosjektets Miniprosjektrapport.<br />

Slaven skal lese nivå <strong>og</strong> utstrømning samt sende ut signal til reguleringsventilen ved<br />

hjelp av en ekstern anal<strong>og</strong> modul.<br />

14


Slaven skal kommunisere direkte med MasterPLS-en ved hjelp av Profibus-DP <strong>og</strong><br />

skal sende ut følgende verdier:<br />

- Anal<strong>og</strong>e verdier:<br />

o Avvik<br />

o Nivå<br />

o Utstrømning<br />

o Manuelt pådrag<br />

o Referanse<br />

o Nominelt pådrag<br />

o Pådraget til ventil<br />

- Digitale verdier:<br />

o Stopp av pumpe<br />

o Alarm ved avvik over 25 %<br />

o Alarm ved nivå over 90 %<br />

o Alarm ved nivå under 10 %<br />

o Resetting av kvittering<br />

I tillegg skal Slaven motta følgende verdier fra MasterPLS-en:<br />

- Anal<strong>og</strong>e verdier:<br />

o Referanse<br />

o Samplingstid<br />

o Kp<br />

o Ti<br />

o KpFF<br />

o TdFF<br />

o Nominelt pådrag<br />

o NFF<br />

o Manuelt pådrag<br />

15


- Digitale verdier:<br />

o Auto/manuell<br />

o P/PI<br />

o Foroverkobling på/av<br />

o Pumpe på/av<br />

o Utløpsventil 1 på/av<br />

o Utløpsventil 2 på/av<br />

o Utløpsventil 3 på/av<br />

o Alarmkvittering<br />

o Reverserende/direkte regulator<br />

Pr<strong>og</strong>rammet skal kunne fungere både som P- <strong>og</strong> PI-regulator med rykkfri overgang<br />

(bumpless transfer) ved skifte av regulatortype. Det skal ha både direkte <strong>og</strong> reversert<br />

modus. Det skal <strong>og</strong>så være mulig å sette regulatoren i manuell modus i tillegg til den<br />

automatiske. Regulatoren skal <strong>og</strong>så inneholde mulighet for foroverkobling av PD-<br />

type. Overgangen mellom manuell <strong>og</strong> automatisk modus skal <strong>og</strong>så foregå rykkfritt.<br />

Følgende parametere skal kunne justeres i regulatoren: proporsjonal forsterkning<br />

(Kp), integrasjonstid (Ti), nominelt pådrag, referanse <strong>og</strong> samplingstid. I manuell<br />

modus skal pådraget styres fra MasterPLS. I foroverkoblingsdelen skal det være<br />

mulig å stille inn KpFF, TdFF <strong>og</strong> NFF.<br />

Regulatoren skal justeres inn så det blir et innsvingningsforløp av typen minimum<br />

areal når nivået har stabilisert seg uten stasjonært avvik med referanse på 60 % <strong>og</strong><br />

det kommer et sprang i utløpet fra 3 ventiler til 1 ventil åpen.<br />

Det skal gå alarm dersom nivået avviker mer enn 25 % fra referansen(25 % av totalt<br />

måleområde). Kritisk alarm skal aktiveres dersom det absolutte nivået i tanken<br />

overstiger 90 % eller går under 10 %. Ved vanlig alarm skal ei varsellampe, koblet til<br />

SlavePLS-ens utgang Y5, på tanken blinke med 0,5 sekunder på <strong>og</strong> 0,5 sekunder av.<br />

Ved kritisk alarm skal blinkefrekvensen økes slik at lampa står på i 0,2 sekunder <strong>og</strong><br />

av i 0,2 sekunder. Dersom alarmen er kvittert ut fra operatørpanelet eller InTouch-<br />

applikasjonen, men det fortsatt er alarmtilstand, skal lampa ha fast lys. Lampa skal bli<br />

mørk når det ikke lenger er alarmtilstand. Hvis prosessen går ut av alarmtilstand uten<br />

16


at alarmen er kvittert, skal lampa fortsette å blinke inntil alarmen er kvittert.<br />

Alarmtilstander som varer mindre enn fem sekunder skal ikke utløse alarm.<br />

Pr<strong>og</strong>rammet må utformes slik at pumpa til tanken skal kunne slås av <strong>og</strong> på. Ved<br />

kritisk høy alarm skal pumpa stoppes automatisk. Det er viktig at pr<strong>og</strong>rammet<br />

automatisk sørger for at nivået i tanken reguleres rett ved strøminnkobling etter<br />

strømbrudd.<br />

De tre magnetventilene som styrer utløpet er styrt av SlavePLS-ens utganger Y10,<br />

Y11 <strong>og</strong> Y12. Pr<strong>og</strong>rammet i PLS-en skal utformes slik at magnetventilene kan styres<br />

av PC med HMI-pr<strong>og</strong>rammet InTouch.<br />

Figur 2: SlavePLS<br />

BM<br />

17


6.4.2 InTouch<br />

InTouch er et operatør-grensesnitt hvor operatør kan koble seg til PC for å styre <strong>og</strong><br />

overvåke prosessen. Operatørgrensesnittet har tre forskjellige operatører som har<br />

ulik tilgang til styringen av prosessen. Eksempel på hvordan operatør-grensesnittet<br />

ser ut er vist i bildet under.<br />

Figur 3: Eksempel på InTouch grensesnitt<br />

Det som skal kunne settes <strong>og</strong> styres fra InTouch er vist i Figur 4for de forskjellige<br />

operatørene. NB! Tank2 er ikke med i dette prosjektet.<br />

TIB<br />

18


Figur 4 Adgang – OP<br />

Alarmer:<br />

TIB<br />

• Det går alarm dersom nivået har et avvik på mer en 25 % i forhold til<br />

referansen.<br />

• Dersom nivået er under 10 % vil kritisk alarm aktiveres.<br />

• Kritisk alarm dersom det absolutte nivået oversiger 90 % i tanken.<br />

• Alarmtilstand som varer i mindre enn 5 sekunder vil ikke aktiveres.<br />

• Alarmer vil kunne kvitteres fra InTouch.<br />

• Alarmhistorikk vil være tilgjengelig i Historikk-vinduet i InTouch.<br />

19


6.4.3 iX-panel<br />

iX-panelet er et operatørpanel med touchskjerm lokalt på riggen. Skjermen viser et<br />

bilde av prosessen. Panelet er for enkelt kunne styre <strong>og</strong> overvåke prosessen, <strong>og</strong> for<br />

å detektere <strong>og</strong> kvittere alarmer.<br />

Figur 5: Krav til iX-panelet<br />

OG<br />

20


6.4.4 Nettside<br />

Det er laget en nettside som presenterer gruppe <strong>og</strong> prosjektet på en enkel måte.<br />

Nettsiden ligger på WEB-adressa www.hekta.org/~p2ea1.<br />

Figur 6:WEB-forside<br />

Figur 6 viser hvordan forsiden på nettstedet er utformet. Nettsidene inneholder<br />

informasjon om prosjektet med beskrivelse av gruppa <strong>og</strong> oppgaven.<br />

Dokumentarkivet på siden inneholder blant annet rapporter, innkallinger <strong>og</strong> referater.<br />

En side presenterer fremdriften på prosjektet <strong>og</strong> blir jevnlig oppdatert.<br />

Operatørpanelet i anlegget har en innebygget WEB-server som nettsiden bruker til å<br />

styre prosessen med. Denne siden krever innl<strong>og</strong>ging med passord for å hindre<br />

uønsket tilgang til styringen. Den samme siden viser WEB-kamera som brukes til å<br />

overvåke prosessen med.<br />

BM; TIB<br />

21


6.5 Filterberegninger <strong>og</strong> konstruksjon<br />

Som en del av prosjektet, skal prosjektgruppen konstruere to lavpass-filtre som skal<br />

settes inn før signalet går inn på AD-DA modulen i slave-PLS’en. Prosessen er<br />

plaget med en god del støy, forårsaket blant annet av fallhøyden fra innløpet i tanken<br />

til vannoverflaten, samt tankens smale radius. Ved å filtrere bort unyttig støy er<br />

tanken å få et bedre bilde av tankens faktiske tilstand.<br />

JSH<br />

6.5.1 Beregningsbakgrunn<br />

Prosjektriggen har to målepunkter som skal sendes til AD-DA omformeren i PLS’en.<br />

Man måler nivået i tanken, samt strømningen ut av tanken. AD-DA omformeren<br />

opererer med 8 bit, som vil si at et anal<strong>og</strong>t signal inn vil tolkes som et digitalt signal<br />

mellom 0 <strong>og</strong> 255 inn. Ønsket man har med filtrene er at støysignal, enten i selve<br />

målingen eller fra andre omliggende støykilder, skal filtreres bort slik at det ikke gir<br />

utslag på mer enn 1 bit på den digitale siden. Det vil si at man vil ha en maksimal<br />

amplitude til støysignalet på under 0,5 av størrelsen til 1 bit. Man forkorter ofte dette<br />

størrelsesmålet til ½ LSB(Least Significant Bit). Man vet at begge målerne gir ut et<br />

signal mellom 0-5 V, <strong>og</strong> kan dermed regne ut amplituden det er ønskelig å ligge<br />

under:<br />

1<br />

2<br />

=<br />

5 − 0<br />

2 − 1<br />

2<br />

= 0.00976 ≈ 0.01<br />

En annen viktig faktor som må tas hensyn til, er frekvensen til nyttesignalet som<br />

kommer fra tanken. Kommer et av filtrenes knekkfrekvens for nærme, eller før<br />

knekkfrekvensen til tanken vil dens nyttsignal bli dempet, noe som blant annet kan<br />

skade prosessens regulator sin evne til å reagere raskt på endringer i tanken. Ved å<br />

ta nytte av den matematiske modellen som ble laget i tilknytning til arbeidsnotatet, så<br />

man på frekvensresponsen til tanken, her representert i et Bode-diagram.<br />

22


Figur 7: Bode-diagram av åpen sløyfefunksjon<br />

Man fant her fasekryssfrekvensen ved 0,367 rad/s, eller sirka 0,06 Hz. Det kan da<br />

defineres at nyttesignalet er opp til <strong>og</strong> med denne frekvensen, da tankens system<br />

ikke er rask nok til å følge med på innsignaler raskere enn dette. Så lenge filtrenes<br />

knekkfrekvens ligger et godt stykke over denne frekvensen vil de ikke påvirke<br />

prosessen i en betydelig grad.<br />

JSH; FS<br />

23


6.5.2 Nivåmåler<br />

Nivåmåleren er relativt mye plaget av støy, <strong>og</strong> med ganske høy amplitude. Dette<br />

kunne gitt store feilmeldinger om nivåets stabilitet, hvis det ikke ble filtrert bort før det<br />

sendes inn i regulatoren.<br />

JSH<br />

Støymåling<br />

For å komme frem til en god design av filteret, måtte man først finne hvilke<br />

frekvenser man vil filtrere bort. Dette ble gjort ved at en ekstern regulator ble tilkoblet<br />

riggen, innstilt ved hjelp av autotuner, <strong>og</strong> at man så på støyfrekvens målt ved<br />

forskjellige høyder, samt forskjellige verdier på utløpet. Støyen ble målt med<br />

oscilloskop ut fra LT1(-)(Level Transmitter 1) på tankriggen.<br />

Figur 8: Støymåling LT1 ved 90 % <strong>og</strong> 1 åpen utventil<br />

Beregning # Nivå i % Utløpsventiler Amplitude i mV Frekvens i Hz<br />

1 90 1 48,75 208,33<br />

2 90 3 226,62 166,67<br />

3 60 1 210,37 454,55<br />

4 60 3 446,25 113,64<br />

5 10 1 370,12 208,33<br />

6 10 3 280,87 192,75<br />

7 Sprang 5 - 90 3 280,75 192,31<br />

Tabell 1: Støymåling LT1<br />

24


£Støymåling_LT1 viser gir oss verdier på hva slags støy vi måler fra LT1(-). Det man<br />

er mest interessert i, er målingene som gir oss lavest frekvens på støyen, da det er<br />

denne man må basere filteret ut på, men man er <strong>og</strong>så interessert i hvilken amplitude<br />

dette signalet har.<br />

JSH<br />

Design<br />

Filteret som skal være tilkoblet nivåmåleren til tank 1, LT1, skal ifølge<br />

prosjektspesifikasjonene være et andreordens Butterworth-filter.<br />

Figur 9: Andreordens Butterworth-filter<br />

For å finne passende verdier, begynner man som oftest ved å velge størrelsen på<br />

kondensatorene, C1 <strong>og</strong> C2. I dette tilfellet valgte man disse lik: C1 = C2 = 1 µF.<br />

Før man kan regne ut verdiene til R1 <strong>og</strong> R2, må man regne ut hvor man ønsker å ha<br />

filterets knekkfrekvens. Det vil si, ved hvilken frekvens skal dempningen av signalet<br />

begynne, <strong>og</strong> hvor mye signalet skal være dempet før man når støyfrekvensen.<br />

=<br />

!ø #<br />

$<br />

%<br />

∗ 2' ∗ ()ø*<br />

Fra beregningene av ½ LSB tidligere i kapittelet fant man den ønskede amplituden<br />

etter dempning, nemlig 0,01 V. Under målingene fant man at støysignalet på sitt<br />

laveste har en amplitude rundt 114Hz. For sikkerhets skyld rundes dette ned til<br />

100Hz. Ved denne frekvensen måltes det en amplitude på 446 mV. Dette rundes opp<br />

til 500 mV. Avrundingene gjøres for å ta hensyn til uforutsette hendelser. Man setter<br />

så disse verdiene inn i formelen for å finne knekkfrekvensen. N i formelen designerer<br />

filterordenen.<br />

25


= 0.01<br />

0.5 #<br />

$<br />

+<br />

∗ 2' ∗ 100 ≈ 88.86 ≈ 14.14 /0<br />

-<br />

Så skal selve filteret beregnes. Man har allerede sett seg ut to kondensatorer, <strong>og</strong> vil<br />

nå regne ut verdien til motstandene.<br />

1<br />

1 $ =<br />

2 ∗∝∗ 3 $<br />

1 + =<br />

2 ∗∝<br />

+ ∗ 3+<br />

Variabelen α er her avhengig av graden til filteret. For et annenordens filter, vil man<br />

ha 4 poler i det komplekse plan, <strong>og</strong> 2 poler i venstre halvdel. Disse finner man jevnt<br />

fordelt utover enhetssirkelen, <strong>og</strong> α finnes ved hjelp av vinklene til disse i forhold til<br />

den reelle aksen. For denne ordenen har vi 2 poler, begge med 45 graders forhold til<br />

den reelle aksen, <strong>og</strong> vi finner α ved denne formelen:<br />

∝ = ∗ cos7458 = 88 ∗ cos7458 = 44√2<br />

Da er alle variablene på plass, <strong>og</strong> man kan finne motstandene.<br />

1<br />

1 $ =<br />

≈ 8


Resultat<br />

Avlesninger av nivå i PLS viser markant bedring ved tilkobling av filter. Man ser av<br />

avlesningene at signalet, ved stabilt nivå <strong>og</strong> utløp, varierer med sirka en bit, noe som<br />

tilsier at man har lyktes i målet om at støyen skal være mindre enn 1 LSB.<br />

Konstruksjon av nivåfilter er derfor en suksess med tanke på de kriterier som ble satt<br />

i spesifikasjonene.<br />

JSH<br />

27


6.5.3 Strømningsmåler<br />

Strømningsmålersignalet er ikke betydelig plaget av støy <strong>og</strong> støyen er med relativt<br />

lav amplitude. Strømningssignalet blir filtrert for ikke å få et feil bilde av hva<br />

utstrømningen er, <strong>og</strong> videre påvirke utregninger i foroverkoblingsregulator.<br />

FS<br />

Støymåling<br />

For å designe filteret på en bra måte er vi avhengig av å vite hvilke frekvenser vi ikke<br />

ønsker, <strong>og</strong> dermed vil filtrere bort. Signalet ble l<strong>og</strong>get ved hjelp av oscilloskop ved<br />

forskjellig vannhøyde i tanken, ved forskjellig mengde på utløp <strong>og</strong> ved påfylling <strong>og</strong><br />

tømming av tank. Etter utførte tester stod vi igjen med støyfrekvensene som vi tok<br />

utgangspunkt i for design av filter. Det støysignalet vi var mest interessert i var det<br />

med lavest frekvens, samt å analysere amplituden på dette støysignalet samt<br />

amplitude på eventuelle nærliggende støysignal.<br />

Figur 10:Støysignalet med lavest frekvens på utstrømningssignal<br />

28


Beregning# Nivå i % Utløpsventiler Amplitude i mV Frekvens i Hz<br />

1 90 1 4,5 10,2<br />

2 90 3 11,25 6,8<br />

3 60 1 4,5 7,6<br />

4 60 3 7,5 6,4<br />

5 10 1 2,5 8,47<br />

6 10 3 8,63 7,04<br />

Tabell 2: Støymåling på flowsignal<br />

FS<br />

Design<br />

Figur 11: Førsteordens Butterworth lavpassfilter<br />

I følge prosjektspesifikasjonene var det ikke oppgitt noen andre spesifikasjoner annet<br />

enn at det skulle være et antialiasing filter på målt utløp, <strong>og</strong> at ic-brikken LM358<br />

skulle brukes. Valget vårt ble derfor et lavpassfilter av typen butterworth av første<br />

orden. Bakgrunnen for at det ble valgt et første ordens filter var på bakgrunn av<br />

analysene som ble gjort med tanke på bodediagrammet <strong>og</strong> at den laveste<br />

støyfrekvensen som ble funnet lå ca. to dekader over maksimum frekvens systemet<br />

greier å følge med på. Behovet for en bratt fallkurve i filteret trengs dermed ikke siden<br />

fasekryssfrekvens <strong>og</strong> laveste støyfrekvens ikke ligger nært hverandre.<br />

29


Vi regnet oss frem til knekkfrekvensen til filteret ved hjelp av formelen<br />

=<br />

!ø #<br />

$<br />

%<br />

∗ 2' ∗ ()ø*<br />

Under målingene som ble gjort på signalet fra flowmåleren fant vi den laveste<br />

støyfrekvensen til å være 6,4Hz. Denne frekvensen ble rundet ned til 5Hz for å ta<br />

hensyn til uforutsette hendelser. Dette kan man gjøre siden 5Hz ligger langt fra den<br />

høyeste frekvensen systemet kan håndtere som beskrevet under<br />

Beregningsbakgrunn. Amplituden til støysignalet på 6,4 Hz var på 7,5 mV, men<br />

nærliggende støysignal på 6,8Hz hadde en amplitude på 11,25 mV. Det ble derfor<br />

valgt å bruke amplituden til støysignalet på 6,8Hz. N i formelen viser til grad av<br />

filterorden.<br />

=<br />

0.01<br />

0,01125 #<br />

$<br />

$<br />

∗ 2' ∗ 5 ≈ 27,93 ≈ 4 /0<br />

-<br />

For å finne verdier til komponentene i filteret må man først ta utgangspunkt i<br />

størrelsen på kondensatoren. Vi valgte C1 = 1 µF. Deretter regnet vi ut størrelsen på<br />

R1 ved formelen<br />

1 $ =<br />

1 $ =<br />

1<br />

∗ 3 $<br />

1<br />

= 39793 Ω<br />

25,13 ∗ 1 ∗ 10 :;<br />

Motstanden velger vi ut fra E-12 serien, <strong>og</strong> nærmeste verdi ble da 39 kΩ.<br />

FS<br />

30


Oppkobling av Flowmåler-filter<br />

For å få analysert <strong>og</strong> målt støyen på utstrømningssignalet fant vi ikke noe god<br />

dokumentasjon på hvor vi kunne hente ut utstrømningssignalet fra FT. Prøvde å<br />

hente ut signalet fra koblingspanelet bak på tankriggen uten hell. Til slutt greide vi å<br />

finne utstrømningssignalet direkte på inngangen til AD/DA modul på slave-PLS 1.<br />

Filteret vil kobles inn i samme skap som slave-PLS 1.<br />

FS<br />

Resultat<br />

Figur 12: Gul kurve: Utstrømningssignal før filter. Grønn kurve: Utstrømningssignal etter filter<br />

Rent grafisk ser vi at vi har en tydelig forbedring av av signalet etter filteret. Etter en<br />

litt nærmere sjekk fant vi heller ingen støyamplitude over $<br />

feil signal på inngang til AD/DA.<br />

FS<br />

+ som ville kunne gitt<br />

31


6.5.4 Konstruksjon <strong>og</strong> oppkobling<br />

Gruppen sendte inn bestilling til arbeidsgiver med de verdiene man kom frem til<br />

under beregningene. I tillegg bestilte man to veroboard man kunne montere filtrene<br />

på. Komponenter <strong>og</strong> ledninger blir loddet på, <strong>og</strong> filtrene er klare til montering.<br />

Figur 13: Ferdig-konstruert nivåfilter<br />

JSH<br />

Figur 14: IC-brikken Lm358<br />

32


Flow-filter<br />

Figur 15: Oppkobling til rigg av Flow-filter<br />

På IC-brikken koblet vi oss på pinne 1,2,3,4 <strong>og</strong> 8 som vist på tegning over.<br />

Nivå-filter<br />

Figur 16: Oppkobling til panel av Nivå-filter<br />

På IC-brikken koblet vi oss til her som vi ser: OP-AMP 1:1,2,3,4 <strong>og</strong>8. OP-AMP2:<br />

4,5,6,7 <strong>og</strong> 8.<br />

33


Figur 17: Flow-filteret inne Slave-PLS skapet.<br />

Figur 18: Nivå-filter montert på tank-rigg.<br />

OG<br />

34


Filtrene blir forsynt med 24 V DC spenning fra riggens uttak, som går til<br />

operasjonsforsterkerne, mens filtrenes ut- <strong>og</strong> inn-ganger kobles i serie med signalene<br />

fra nivåmåler <strong>og</strong> flowmåler til inngangene på PLS.<br />

JSH<br />

6.5.5 Konklusjon filter<br />

De to filtrene er nå konstruert <strong>og</strong> satt opp på riggen. Det kan diskuteres om filteret til<br />

flowmåleren strengt tatt var nødvendig for stabiliteten av dens avlesninger, men det<br />

var uansett nyttig for gruppen å gå gjennom beregninger <strong>og</strong> konstruksjon av begge,<br />

da det var beregninger av flowmålerens filter som satte lys på problemstillingen<br />

angående bruk av filtergrad.<br />

Jevnt over ser man at bruk av filter mellom de anal<strong>og</strong>e målerne <strong>og</strong> de digitale leserne<br />

er svært nyttig, <strong>og</strong> var en flott måte for gruppen å få satt kunnskapen om<br />

filterkonstruksjon ut i praksis.<br />

JSH<br />

35


6.6 PLS.<br />

6.6.1 Slave-PLS:<br />

Prosjektgruppen har tidligere under det store prosjektet vært igjennom et delprosjekt<br />

som inneholder kommunikasjon. Under dette prosjektet ble en prosjektrapport levert,<br />

som omhandler kommunikasjonen mellom master- <strong>og</strong> slave-PLS, HMI’ene <strong>og</strong> tank-<br />

riggen. Derfor henviser prosjektgruppen til rapporten om det er ønsket mer<br />

informasjon som omhandler kommunikasjonen. Der vil det <strong>og</strong>så stå forklart<br />

oppbyggingen av pr<strong>og</strong>rammene som brukes under entanksprosjektet. Både i iX-<br />

panelet, i InTouch <strong>og</strong> i PLS-pr<strong>og</strong>rammet er det masse oppbygging, for eksempel i<br />

PLS vil det brukes spesialblokker som står forklart i rapporten.<br />

Under entanksprosjektet skal prosjektgruppen utarbeide ett pr<strong>og</strong>ram som følger alle<br />

krav i henhold til oppgaveteksten. Pr<strong>og</strong>rammet skal kunne fungere både som P- <strong>og</strong><br />

PI-regulator med rykkfri overgang ved skifte av regulatortype. Det skal ha både<br />

direkte <strong>og</strong> reversert modus. Det skal <strong>og</strong>så være mulig å sette regulatoren i manuell<br />

modus i tillegg til den automatiske. Denne overgangen skal <strong>og</strong>så foregå rykkfritt.<br />

Regulatoren skal <strong>og</strong>så inneholde mulighet for foroverkobling av P-, D- eller PD-type.<br />

Følgende parametere skal kunne justeres: proporsjonal forsterkning, integrasjonstid,<br />

nominelt pådrag, referanse <strong>og</strong> samplingstid. I manuell modus skal pådraget settes. I<br />

foroverkoblingsdelen skal det være mulig å stille inn KpFF, TdFF <strong>og</strong> NFF.<br />

I tillegg til spesifikasjonene for regulatoren forklarer oppgaven spesifikk hvilke<br />

alarmer systemet skal inneholde <strong>og</strong> hvordan de forskjellige alarmene skal opptre. Det<br />

skal gå alarm dersom nivået avviker mer enn 25 % fra referansen. Kritisk alarm skal<br />

aktiveres dersom det absolutte nivået overstiger 90 % eller går under 10 %. Ved<br />

vanlig alarm skal ei varsellampe på tanken blinke med 0,5 sekunder på <strong>og</strong> 0,5<br />

sekunder av. Ved kritisk alarm skal blinkefrekvensen økes slik at lampen står på i 0,2<br />

sekunder <strong>og</strong> av i 0,2 sekunder. Dersom alarmen er kvittert ut fra operatørpanelet eller<br />

InTouch-applikasjonen, men det fortsatt er alarmtilstand, skal lampen ha fast lys.<br />

Lampen skal bli mørk når det ikke lenger er alarmtilstand. Hvis prosessen går ut av<br />

alarmtilstand uten at alarmen er kvittert, skal lampen fortsette å blinke inntil alarmen<br />

er kvittert.<br />

En annen viktig del av alarmbehandlingen er at om alarmtilstanden varer mindre enn<br />

fem sekunder, skal ikke alarmen utløses. Pumpen på riggen skal kunne styres av<br />

36


pr<strong>og</strong>rammet, man skal kunne slå den av <strong>og</strong> på. Ved kritisk høy alarm skal pumpen<br />

stoppes automatisk. Det er viktig at pr<strong>og</strong>rammet automatisk sørger for at nivået i<br />

tanken reguleres rett ved strøminnkobling etter strømbrudd.<br />

En vesentlig problemstilling er at PLS pr<strong>og</strong>rammet ikke klarer å regne med<br />

desimaler. Derfor har prosjektgruppen opparbeidet et pr<strong>og</strong>ram der enkelte variabler<br />

som ønskes med desimaler multipliseres med faktoren 10, for så å dividere på 10<br />

senere i pr<strong>og</strong>rammet så systemet ikke mister viktige verdier under utregningen. I<br />

PLS-pr<strong>og</strong>rammet er det <strong>og</strong>så en grenseverdi for hvor høye tall som de forskjellige<br />

dataregistrene kan håndtere. Prosjektgruppen har med tanke på denne<br />

begrensningen tatt en gjennomgang der ekstremtilfeller regnes ut, for så å sjekke om<br />

tallverdiene holder seg innom det mulige området.<br />

De neste sidene inneholder en gjennomgang av prosjektgruppens pr<strong>og</strong>ram. Det har<br />

blitt bestemt internt i gruppen at gjennomgangen vil inneholde bilder <strong>og</strong> forklaring<br />

parallelt, så det blir enklest mulig oversikt. Det er <strong>og</strong>så satt inn tekst i pr<strong>og</strong>rammet,<br />

som skal forklare nok til at man skal få god oversikt bare med bildene.<br />

Prosjektgruppen har plassert formlene til regulatoren ved siden av bildene <strong>og</strong><br />

teksten, så leseren kan få et innsyn i bakgrunnen til pr<strong>og</strong>rammeringen.<br />

EVE<br />

37


Regulatoren<br />

Om regulatoren blir slått i manuell skal brukeren kunne styre pådraget fra en av<br />

HMI’ene. U_m er det manuelle pådraget som setter U0, Pådraget <strong>og</strong> pådraget til PI-<br />

regulatoren. Referansen settes lik prosessverdien, for å sikre at avviket er lik 0. U0<br />

settes så en rykkfri overgang til P-regulator skal kunne utføres. Pådraget til PI-<br />

regulatoren settes så en rykkfri overgang til PI-regulator skal kunne utføres.<br />

!7A B == 08{<br />

Figur 19:Regulator-Samplingstid<br />

D< − 1 = D E; D0 = D E; = G; D = D E;}<br />

Neste del av pr<strong>og</strong>rammet sørger for at kjøringen med P-regulator <strong>og</strong> foroverkobling<br />

skal fungere sammen, <strong>og</strong> da må U0 settes lik 0.<br />

Som forklart i innledningen i denne teksten, så er det mange variabler som er<br />

multiplisert med 10 for å få regnet med ønsket antall desimaler. På grunn av at de<br />

38


forskjellige variablene allerede er multiplisert med 10, vil det ikke vises på en annen<br />

måte enn å gi tallene samme verdi <strong>og</strong> å kalle de noe annet. Gruppen ønsket å<br />

innføre denne biten, så det skulle bli enklere å få et raskt overblikk, for eksempel vil<br />

Kp multiplisert med 10 bli kalt Kp10.<br />

Samplingstiden skal stilles inn av operatører på systemet. Gruppen har bestemt at de<br />

ville bruke en desimal på samplingstiden. Den vil bli multiplisert med 10 i iX-panelet<br />

<strong>og</strong> i InTouch før den videresendes til master- <strong>og</strong> slave-PLS. Om dette ikke utføres<br />

allerede i HMI’ene, vil desimaler falle av før det kommer ned til utregningene i slave-<br />

PLS’en. Samplingstiden bestemmer hvor ofte regulatoren skal kjøre. I denne<br />

pr<strong>og</strong>rambiten sørger vi for med ett hopp <strong>og</strong> en timer, at regulatoren ikke kjører oftere<br />

enn den bestemte samplingstiden tilsier. Timeren buker verdien 100ms, så til vanlig<br />

for å få f.eks. 1s må man multiplisere verdien med 10 for å få riktig verdi inn på<br />

timeren. Siden studentene allerede har multiplisert samplingstiden med 10 i HMI’ene,<br />

vil gruppen slippe å gjøre ytterlige endringer før vi sender den inn i timeren.<br />

Figur 20: Slave-PLS'en <strong>og</strong> AD/DA-modulene.<br />

39


Figur 21: Regulator-P.<br />

Avviket utregnes, enten i reversert eller direkte modus.<br />

!71 H - == 18{<br />

- {<br />

I = − G}<br />

I = G − }<br />

Neste del er P-regulatoren som slår inn om det er valgt automatisk regulator <strong>og</strong> ikke<br />

PI-regulator i HMI’ene. I en tidligere del av pr<strong>og</strong>rammet var det en nullstillingsdel,<br />

som nullstiller U0 om foroverkoblingen er tilkoplet, da denne ikke skal innvirke i den<br />

situasjonen.<br />

K!7A B == 18{ !7LK == 08{<br />

DIM = N<br />

10 ∗ I + N $ % I<br />

+ D0; }<br />

10<br />

40


Figur 22:Regulator-PI<br />

For å unngå å bruke verdier som PLS’en ikke aksepterer har prosjektgruppen gjort<br />

en utregning der de for eksempel bruker «%» som betyr at man henter resten. Dette<br />

har prosjektgruppen utført så viktige verdier ikke skal mistes, <strong>og</strong> for at utregningen<br />

skal holde seg innen ønsket område.<br />

PI-regulatoren skal brukes om auto <strong>og</strong> PI-regulator er aktivert i HMI’ene. Utregningen<br />

er vanligvis mindre enn den prosjektgruppen har benyttet, fordi at prosjektgruppen<br />

ønsket å få med en desimal på proporsjonal forsterkning <strong>og</strong> integrasjonstid.<br />

if7Auto == 18{if7PI == 18{<br />

ΔD I = YN $<br />

10 ∗ I + N $ %10 ∗ I + ΔDZ[()I:$ 10<br />

\<br />

;<br />

ΔD - I = N $<br />

10 ∗ I + N $ %10 ∗ I + ΔDZ[()I:$ # %] M^ ;<br />

10<br />

DI = DI:$ + ΔDMI + _`<br />

$ ∗ 7 I − I:$8 + _`%$ ∗7[ a:[ abc8<br />

;}<br />

$<br />

] M^<br />

41


Figur 23:Regulator-PI-2<br />

42


Neste del av pr<strong>og</strong>rammet er en bit som håndterer foroverkoblingens P-del, har<br />

brukes utløpet sammen med en innstilt KpFF til å hjelpe systemet å håndtere en<br />

endring i utløpet. I denne delen er det <strong>og</strong>så pr<strong>og</strong>rammert for å ta vare på verdier <strong>og</strong><br />

for å holde verdiene innenfor ønskede verdier.<br />

!7A B == 18{ !7Ld == 18{<br />

Figur 24: Regulator-Foroverkobling-P.<br />

D ee I = N ee $<br />

10<br />

ΔH I = H I − H I:$ ; }<br />

∗ ΔH I + N ee $ %10 ∗ ΔH I<br />

10<br />

Foroverkoblingens P-del <strong>og</strong> P- eller PI- regulatorens pådrag adderes før der<br />

grensesjekkes.<br />

; }<br />

43


En grensesjekk er å sørge for at en verdi holder seg innenfor de lovlige verdiene. I<br />

dette tilfellet er det lovlige området mellom 0 til 255, derfor utføres testen på måten<br />

som er vist på bildet <strong>og</strong> i formelen.<br />

Figur 25: Utregning Regulator-foroverkobling-D.<br />

!7D I > 2558D I = 255;<br />

!7D I < 08D I = 0;<br />

Gjennom pr<strong>og</strong>rammet utføres mange utregninger flere ganger. Derfor har<br />

prosjektgruppen laget pr<strong>og</strong>rambiter for å utregne disse, så lengre regnestykker kan<br />

kortes ned ved at verdiene er utregnet tidligere.<br />

44


Neste steg er foroverkoblingens D-del. For å gjøre hovedpr<strong>og</strong>rambiten litt mindre<br />

utregnes en del på forhånd. Prosjektgruppen har bestemt at de skal bruke desimaler<br />

<strong>og</strong>så på foroverkoblingen, <strong>og</strong> pr<strong>og</strong>rammet er lagt opp ut ifra det. Det vises med at det<br />

divideres med 10 i regnestykket, for at riktige verdier skal sendes ut.<br />

!7A B == 18{ !7Ld == 18{<br />

Ddee I<br />

=<br />

N ee $<br />

10<br />

Figur 26:Regulator-Foroverkobling-D<br />

∗ ΔH I + N ee $ %10 ∗ ΔH I<br />

10<br />

+ ]!ee ∗ Ddee I:$ + ]!ee $ %10 ∗ Ddee I:$<br />

10<br />

- --]!ee<br />

Foroverkoblingens D-del adderes så med verdien som er blitt grensesjekket tidligere,<br />

for så å bli grensesjekket igjen.<br />

45<br />

; }


For å få en rykkfri overgang fra auto til manuell har prosjektgruppen legt til en del<br />

som overfører pådragets verdi til det manuelle pådraget, så lenge regulatoren er satt<br />

til auto.<br />

!7A B == 18{D E = D; }<br />

Det er <strong>og</strong>så lagt inn en blokk for å få rykkfri overgang fra PI- til P-regulator, denne<br />

delen gir U0 verdien til PI-regulatorens pådrag.<br />

Figur 27:Regulator-Oppdatering av gamle verdier<br />

!7LK == 18{D0 = D I; }<br />

Etter hver gjennomkjøring skal regulatoren oppdatere verdiene sine, så det stemmer<br />

til neste gjennomkjøring. Det er det denne pr<strong>og</strong>rambiten utfører.<br />

EVE<br />

46


Profibus:<br />

I miniprosjektet opprettet vi kommunikasjon mellom de forskjellige enhetene som<br />

brukes i prosjektet. I entanksprosjektet viderefører prosjektgruppen kunnskapen<br />

videre til å kunne motta <strong>og</strong> avgi de aktuelle verdiene for en bra styring av systemet.<br />

Under er pr<strong>og</strong>rambiten som inneholder lesing <strong>og</strong> skriving av data til bufferminnene.<br />

EVE<br />

Skriving til Profibus:<br />

Her sender vi: pådraget, prosessverdien, utløpet, noen utvalgte minneceller,<br />

referansen <strong>og</strong> det manuelle pådraget. Referansen skal kun sendes opp når<br />

regulatoren står i manuell, <strong>og</strong> det manuelle pådraget skal kun sendes når regulatoren<br />

står i auto. Dette har prosjektgruppen bestemt fordi at om verdiene ble sendt<br />

kontinuerlig innvirker det på prosesstyringen.<br />

Figur 28: Skriv til Profibus fra slave.<br />

47


Figur 29: Skriv til Profibus fra slave.<br />

EVE<br />

48


Lesing fra Profibus:<br />

Innhentingen av data er <strong>og</strong>så grundig forklart i miniprosjektrapporten, <strong>og</strong> derfor vil det<br />

<strong>og</strong>så forekomme en overfladisk gjennomgang av innhentings delen. Slave-PLS<br />

henter inn følgende data fra bufferminnene: referansen. Samplingstiden, proporsjonal<br />

forsterkning, integrasjonstid, U0, NFF, det manuelle pådraget, et utvalg minneceller<br />

<strong>og</strong> foroverkoblingens proporsjonale forsterkning <strong>og</strong> derivasjonstid. Referansen skal<br />

kun leses om regulatoren står i auto, <strong>og</strong> det manuelle pådraget skal kun leses om<br />

regulatoren står i manuell.<br />

Figur 30: Lese fra Profibus med slavePLS'en<br />

49


igur 31: Lese fra Profibus med slavePLS'en<br />

EVE<br />

50


Anal<strong>og</strong> inn <strong>og</strong> ut:<br />

I miniprosjektet var oppgaven å sende en verdi til DA modulen, for så å motta samme<br />

verdi fra AD modulen. I entanksprosjektet har prosjektgruppen opprettet<br />

kommunikasjon med tank-riggen. I entanksprosjektet brukes nå DA modulen til å<br />

sende pådraget som styrer ventilen til tank-riggen. AD-modulen brukes til avlesning<br />

av utløpet <strong>og</strong> prosessverdien.<br />

Figur 32: Anal<strong>og</strong>e utganger fra slaven.<br />

Figur 33: Anal<strong>og</strong>e innganger til slaven.<br />

EVE<br />

51


Figur 34: Alarmbehandling.<br />

Digitale utganger <strong>og</strong> alarmbehandling:<br />

I denne pr<strong>og</strong>rambiten har gruppen satt sammen alarmbehandlingen som blant annet<br />

styrer en lampe på tank-riggen, med styring av pumpen <strong>og</strong> utløpene. Denne delen er<br />

pr<strong>og</strong>rammert ut ifra kravene fra prosjektoppgaven som nevnt tidligere. Under denne<br />

delen av pr<strong>og</strong>rammet vil det bli satt mange minneceller for de forskjellige<br />

alarmtilstandene <strong>og</strong> ved kvittering. Dette gjøres for å utfylle kravene som er satt i<br />

oppgaveteksten, <strong>og</strong> for å tilfredsstille behovet i iX-panelet <strong>og</strong> i InTouch.<br />

Prosjektgruppen har valgt å utføre kravspesifikasjonene med en lampe som blinker i<br />

alarmtilstand <strong>og</strong> forsinkelser, med hjelp av blant annet timere. I pr<strong>og</strong>rambiten ovenfor<br />

er det brukt både timere <strong>og</strong> setting av minneceller, som forklart ovenfor er for å hjelpe<br />

iX-panelet <strong>og</strong> InTouch med sin alarmkontroll.<br />

52


Figur 35: Alarmbehandling.<br />

Alarmene kvitteres i HMI’ene, dermed vil en kvitteringsminnecelle i pr<strong>og</strong>rammet<br />

utføre oppgaver ut ifra oppgaveteksten. For eksempel vil alarmlampen slutte å blinke,<br />

men den vil fortsatt lyse om systemet fortsatt er i alarmtilstand.<br />

53


Figur 36: Alarmbehandling.<br />

54


På forrige side ble pr<strong>og</strong>rambiten som styrer lempen på tanken vist, Under kan du se<br />

et bilde av den fysiske lampen som lyser under alarmtilstand.<br />

Figur 37: Lampen på tank-riggen.<br />

55


Figur 38: Alarmbehandling.<br />

Om operatøren har kvittert for en alarm så skal ikke kvitteringen være aktiv for<br />

eventuelle senere alarmer. I pr<strong>og</strong>rambit 9 er det opprettet en del som vil resette<br />

kvitteringsminnecellen om en ny alarm blir aktiv.<br />

Figur 39: Styring av utløp på tank-riggen.<br />

56


Figur 40: Flowmåleren som måler utløpet fra tanken <strong>og</strong> ventilene som styrer dette<br />

EVE<br />

57


6.6.2 Master-PLS:<br />

Prosjektgruppen har tidligere under det store prosjektet vært igjennom et delprosjekt<br />

som inneholder kommunikasjon. Under dette prosjektet ble en prosjektrapport levert,<br />

som omhandler kommunikasjonen mellom master- <strong>og</strong> slave-PLS, HMI’ene <strong>og</strong> tank-<br />

riggen. Derfor henviser prosjektgruppen til rapporten om det er ønsket mer<br />

informasjon som omhandler kommunikasjonen. Der vil det <strong>og</strong>så stå forklart<br />

oppbyggingen av pr<strong>og</strong>rammene som brukes under entanksprosjektet. Både i iX-<br />

panelet, i InTouch <strong>og</strong> i PLS-pr<strong>og</strong>rammet er det masse oppbygging, for eksempel i<br />

PLS vil det brukes spesialblokker som står forklart i rapporten.<br />

Master-PLS’en jobber i prosjektet som bindeleddet mellom slave-PLS’en som<br />

behandler verdiene <strong>og</strong> HMI’ene som styrer systemet. I prosjektet skulle<br />

prosjektgruppen pr<strong>og</strong>rammere ut ifra diverse krav satt i oppgaveteksten. Mesteparten<br />

av kravene vil bli løst i slave-PLS’en, men det er enkelte hendelser studentene har<br />

behandlet i master-PLS’en.<br />

De neste sidene inneholder en gjennomgang av prosjektgruppens pr<strong>og</strong>ram. Det har<br />

blitt bestemt internt i gruppen at gjennomgangen vil inneholde bilder <strong>og</strong> forklaring<br />

parallelt, så det blir enklest mulig oversikt. Det er <strong>og</strong>så satt inn tekst i pr<strong>og</strong>rammet,<br />

som skal forklare nok til at man skal få god oversikt bare med bildene.<br />

Figur 41: Bilde av master-PLS'en.<br />

EVE<br />

58


Hendelsessikring:<br />

Slave-PLS’en vil sørge for at pumpen blir avslått om nivået kommer over 90%, men i<br />

master-PLS’en vil minneceller sørge for at brukeren <strong>og</strong>så i HMI’ene kan se at<br />

pumpen er av. For at kvitteringen skal bli deaktivert når systemet har en ny<br />

alarmtilstand må master-PLS’en sette kvitteringen til 0 for HMI’ene, når slave-PLS’en<br />

registrerer en ny alarmtilstand.<br />

Figur 42: Hendelsessikring.<br />

I pr<strong>og</strong>rambit 3 har prosjektgruppen opprettet ett dataregister for sending av<br />

informasjon angående alarmtilstander til nettsiden.<br />

EVE<br />

59


Profibus:<br />

Spesielt denne delen av entanksprosjektet er grundig gjennomgått under<br />

miniprosjektet, <strong>og</strong> vil stå detaljert forklart i miniprosjektrapporten. Derfor henviser<br />

prosjektgruppen til miniprosjektrapporten om grundigere informasjon innenfor dette<br />

feltet er ønskelig.<br />

EVE<br />

Lesing fra Profibus:<br />

På forrige side sto det forklart hvordan master-PLS’en bruker verdier fra slave-<br />

PLS’en til å utføre viktige handlinger for for eksempel HMI’ene. For å klare disse<br />

oppgavene krever det at master-PLS’en har mottatt informasjonen. HMI’ene skal<br />

<strong>og</strong>så vise hvilke verdier systemet har til enhver tid, disse verdiene leses <strong>og</strong>så fra<br />

Profibus. Master-PLS’en leser av: avviket, nivået, utløpet, diverse minneceller, det<br />

manuelle pådraget, referansen, U0 <strong>og</strong> pådraget. Dette utføres via lesning fra Profibus<br />

modulen som vist under.<br />

Figur 43: Lesing av verdier fra Profibus med masteren.<br />

60


Noen av verdiene som leses fra Profibus skal kun leses når visse krav er oppfylt. For<br />

eksempel skal det manuelle pådraget kun avleses om regulatoren er satt til auto <strong>og</strong><br />

referansen skal kun avleses om regulatoren er satt til manuell.<br />

Figur 44: Lesing av verdier fra Profibus med masteren.<br />

EVE<br />

Skriving til Profibus:<br />

For å styre systemet er prosjektgruppen avhengig av at slave-PLS’en mottar<br />

styringsverdiene operatøren skriver til HMI’ene. Denne oppgaven utføres ved at<br />

master-PLS’en skriver mottatte verdier fra HMI’ene til Profibus, som senere leses av<br />

slave-PLS’en. Under denne pr<strong>og</strong>rambiten løser <strong>og</strong>så prosjektgruppen et eventuelt<br />

strømbrudd ut ifra kravene satt i oppgaveteksten.<br />

Om systemet mister strømmen skal prosjektgruppen sørge for at systemet ved<br />

oppstart skal regulere nivået riktig. Prosjektgruppen har løst dette problemet ved å<br />

bruke dataregister som husker sine verdier, <strong>og</strong> ved å bruke hendelser som skjer kun<br />

ved oppstart. Master-PLS’en skriver følgende verdier til Profibus: referansen,<br />

samplingstiden, proporsjonal forsterkning, integrasjonstiden, KpFF, TdFF, U0, NFF,<br />

diverse minneceller <strong>og</strong> det manuelle pådraget.<br />

61


Figur 46: Skriving av verdier til Profibus med masteren.<br />

Figur 45: Skriving av verdier til Profibus med masteren.<br />

62


Prosjektgruppen har løst problematikken med at referansen ikke klarte å huske sin<br />

verdi etter et strømbrudd fordi dataregisteret fikk en verdi fra avlesning fra Profibus.<br />

Studentene har satt opp et nytt dataregister som husker sin verdi som hele tiden blir<br />

satt lik referansen, <strong>og</strong> ved ett eventuelt strømbrudd vil en spesialblokk sørge for at<br />

referansen får sin siste verdi ved oppstart. Denne metoden brukte prosjektgruppen<br />

<strong>og</strong>så på minnecellene, da huske-minnecellene ikke fungerte optimalt.<br />

EVE<br />

6.7 PID-regulator:<br />

Som en tilleggsspesifikasjon er det laget en PID-regulator pr<strong>og</strong>rammert med<br />

pr<strong>og</strong>rammeringsspråket strukturert tekst i pr<strong>og</strong>rammet GX Works 2. PID-regulatoren<br />

er en inverterende regulator <strong>og</strong> er laget slik at den kan implementeres i prosesser<br />

hvor slike regulatorer trengs. Det at den er laget som en funksjonsblokk gjør at de<br />

enkelt kan kopieres over i andre PLS-er. I tillegg er det mulig å bruke flere regulatorer<br />

i samme PLS-pr<strong>og</strong>ram. For fleksibilitet er det mulig å kjøre regulatoren manuelt <strong>og</strong> en<br />

kan velge om en skal bruke en P(D)- eller PI(D)-regulator.<br />

Regulatoren er laget som en funksjonsblokk med inngangene <strong>og</strong> utgangene som en<br />

PID-regulator trenger for å kunne regulere et system. Funksjonsblokka heter<br />

PIDheltall da den er laget for å regne med heltall da mange PLS-er ikke regner med<br />

desimaltall. Det er i mange tilfeller ønskelig å finjustere reguleringsparameterne i<br />

regulatoren. For å ha muligheten til å stille inn variablene med en nøyaktighet på 0,1<br />

må verdiene ganges med en faktor på 10 før de sendes inn på regulatoren. Denne<br />

nøyaktigheten er kun tilgjengelig på inngangene SampTid, Kp, Ti <strong>og</strong> Td. De<br />

resterende inngangene <strong>og</strong> utgangene er enten enkelt bit, eller 8-bits anal<strong>og</strong>e verdier<br />

Ved implementering i et pr<strong>og</strong>ram hentes regulatoren frem som en funksjonsblokk <strong>og</strong><br />

tildeles en variabel. Denne tildelte variabelen fungerer som en adresse for<br />

regulatoren. Funksjonsblokka inneholder flere interne variabler <strong>og</strong> for at PLS-en, ved<br />

bruk av flere regulatorblokker, skal kunne skille mellom variablene i hver enkelt blokk<br />

må hver av blokkene ha hver sin adresse. Innhenting av PIDheltall-blokka gjøres i<br />

GX Works 2 ved å skrive inn PIDheltall som vist i Figur 47. Eksempel på<br />

implementering i et PLS-pr<strong>og</strong>ram ser du i Figur 48.<br />

63


Figur 47: Innhenting av blokka PIDheltall.<br />

Figur 48: Implementering av PIDheltall.<br />

I Figur 49 er det, i tillegg til PIDheltall-blokka satt inn et hopp. Dette hoppet er for å<br />

kunne sette samplingstiden til reguleringa. Det er ikke alltid ønskelig at regulatoren<br />

skal kjøre en sampling for hvert scan-syklus i PLS-en da dette bruker unødig<br />

datakapasitet.<br />

Inngangene på PIDheltall er verdier regulatoren bruker til utregning av pådraget.<br />

Pådraget er begrenset til et 8-bits anal<strong>og</strong>t signal hvilket vil si heltall området 0 til 255.<br />

Det er <strong>og</strong>så forutsatt at verdiene inn på PV, SV, uNOM <strong>og</strong> uMAN er heltall i området<br />

0 til 255. Den regulerte verdiens settes inn på PV-inngangen (ProsessVerdi). Om det<br />

er nivået i en tank som skal reguleres, kobles nivåverdien inn på PV. Prosessens<br />

referanse kobles til SV-inngangen (SkalVerdi) hvilket er den verdien en ønsker<br />

prosessen skal ha. Samplingstiden som blir brukt for regulatoren må settes inn på<br />

inngangen SampTid da regulatoren bruker denne verdien for å regne ut pådraget.<br />

Prosessens avvik leses av på Avvik, mens pådraget leses av på utgangen u.<br />

Ved valg av regulator type brukes PD_PID-inngangen. Dette skal være en verdi på<br />

en bit (TRUE/FALSE). Dersom verdien er FALSE kjøres regulatoren som en PD-<br />

regulator. Derimot om verdien på PD_PID er TRUE vil regulatoren kjøres som en<br />

64


PID-regulator. For å koble ut derivasjonsdelen (D-delen) i reguleringa settes<br />

inngangen Td til 0. For å kjøre regulatoren manuelt settes inngangen Auto til FALSE.<br />

Dermed vil regulatorens pådrag bli satt lik inngangen uMAN. For automatisk<br />

utregning av pådraget settes Auto til TRUE.<br />

Variablene SV, uNOM <strong>og</strong> uMAN er definert som både innganger <strong>og</strong> utganger. Dette<br />

sørger for rykkfri overgang mellom de forskjellige regulatorfunksjonene. Rykkfri<br />

overgang forutsetter stabil prosess idet overgangen inntreffer.<br />

Figur 49 viser en liste over alle variablene brukt i PIDheltall-blokka. I kommentarfeltet<br />

står det beskrevet hvilke variabler som på multipliseres med en faktor på 10 før de<br />

sendes inn i blokka.<br />

Figur 49: Variabelliste for PIDheltall<br />

Koden til blokka PIDheltall er lagt ved i Vedlegg om PIDheltall<br />

BM<br />

65


6.8 iX-panelet.<br />

Prosjektgruppen skulle i prosjektperioden opprette et iX-panel for styringen av<br />

systemet. I arbeidslivet ville iX-panelet stått ved prosessen <strong>og</strong> derfor ha blitt brukt<br />

mest av operatører. Derfor skal det ikke være for stor grad av styring fra iX-panelet. I<br />

oppgaveteksten var det spesifisert hva som skal være med i iX-panelet, både hva<br />

som skal skrives <strong>og</strong> leses.<br />

Tabell 3: Krav til iX-panelet<br />

Prosjektgruppen har utført pr<strong>og</strong>rammeringen av iX-panelet etter kravene i<br />

oppgaveteksten <strong>og</strong> har fokusert på å holde en oversiktlig <strong>og</strong> ryddig design.<br />

66


Prosjektgruppen jobbet i entanksprosjektet med en stor del av ett større prosjekt som<br />

omfatter blant annet kommunikasjon. I kommunikasjonsdelen av prosjektet<br />

pr<strong>og</strong>rammerte studentene opp et enkelt iX-panel som var koblet til systemet via<br />

Ethernet <strong>og</strong> prosjektgruppen viste i det prosjektet hvordan man snakker til tags <strong>og</strong><br />

sender verdier. Om leseren har interesse av kommunikasjonsbiten av prosjektet<br />

henviser prosjektgruppen til miniprosjektrapporten der kommunikasjonen er forklart<br />

grundigere, da entanksprosjektrapporten vil være mer overfladisk <strong>og</strong> omhandle<br />

styringen av systemet. Prosjektgruppen har valgt å bruke en fast bakgrunn som gjøre<br />

det lett å navigere mellom de forskjellige styringsvinduene.<br />

Figur 50: Bakgrunn til iX-panelet:<br />

Ingen spesiell design som kan lede bort fra viktige punkter <strong>og</strong> store knapper som<br />

fører en videre til ønsket side. Det er lagt inn tidspunkt <strong>og</strong> dato som kan være<br />

praktisk å ha med i en hvilken som helst prosess, for eksempel om noe skal kvitteres<br />

eller noteres. Nede i høyre hjørne på bildet er det ett flagg som varsler om alarmer <strong>og</strong><br />

denne biten vil bli nevnt senere i rapporten.<br />

67


Prosessen skal ikke være åpen for alle, derfor har prosjektgruppen opprettet en<br />

innl<strong>og</strong>gingsside <strong>og</strong> ordnet panelet på en måte som gjør minimalt med informasjon<br />

tilgjengelig for utenforstående. Det eneste en tilfeldig forbipasserende skal få tilgang<br />

til er trend-vinduet som viser hvilke verdier prosessen har. Prosjektgruppen har valgt<br />

å opprette iX-panelet på denne måten så ikke utenforstående skal med eller uten<br />

hensikt fjerne viktige beskjeder eller styre systemet.<br />

Figur 51: Innl<strong>og</strong>gingsside til iX-panelet.<br />

Når en skal hindre tilgang til komponenter eller sider på iX-panelet må man gå inn på<br />

den gjeldende siden eller enheten å skrive inn en kode for at en valgt gruppe har<br />

tilgang.<br />

Figur 52: Betingelse ved innl<strong>og</strong>ging.<br />

68


Prosjektgruppen har valgt å kalle sin gruppe for «Gruppe1», som er den eneste<br />

gruppen som har tilgang til iX-panelet. «Gruppe1» kalles for «Operators» i iX-panelet<br />

<strong>og</strong> det er den gruppen studentene har jobbet med når de har laget begrensninger iX-<br />

panelets innsyn.<br />

Figur 53: Sikkerhetsgruppe.<br />

For å ha et system som er enklest mulig å jobbe med, har prosjektgruppen satt<br />

betingelser for det meste som en kan foreta seg. Om iX-panelet ikke brukes på 5<br />

minutter har prosjektgruppen bestemt at brukeren automatisk skal l<strong>og</strong>ges ut, så det<br />

da ikke er åpent for andre om operatøren har forlatt prosessen. Det er <strong>og</strong>så<br />

pr<strong>og</strong>rammert slik at om brukeren uten innl<strong>og</strong>ging prøver å få tilgang til en låst del av<br />

prosessen, vil brukeren få beskjed om at innl<strong>og</strong>ging kreves for å få tilgang.<br />

Figur 54: Sikkerhetsbetingelser.<br />

69


Det man har sikkerhetsklarering til å se uten innl<strong>og</strong>ging er trend-vinduet. Det er en<br />

side på iX-panelet der du har oversikt over de forskjellige verdiene i kretsen i sanntid.<br />

Også i trend-vinduet har prosjektgruppen lagt vekt på et oversiktlig <strong>og</strong> enkelt bilde,<br />

som gir brukeren en behagelig opplevelse.<br />

Figur 55: Trendvinduet i iX-panelet.<br />

I trenden vises Referansen i grønt, nivået i blått <strong>og</strong> utløpet i rødt. Valget av farger er<br />

bestemt da de ikke er like på noen som helst måte, <strong>og</strong> er lette å se med den hvite<br />

bakgrunnen i trend-vinduet. Prosjektgruppen har <strong>og</strong>så bestemt bakgrunnen til trend-<br />

vinduet til hvit, så det skal være så enkelt som mulig. Studentene har pr<strong>og</strong>rammert<br />

inn to knapper for bedre oversikt over hva som skjer på trenden. Den ene knappen<br />

som heter «Vis legend», vil vise brukeren verdiene på referansen, nivå <strong>og</strong> utløp i et<br />

popup-vindu. Prosjektgruppen ønsker <strong>og</strong>så å kunne gå tilbake i tid for å få oversikt<br />

over hvordan prosessen har blitt styrt tidligere. Dette kan de gjøre med «Endre<br />

tidsakse» knappen som fungerer som enn inn- <strong>og</strong> ut-zoom.<br />

70


Prosessvinduet er der brukeren får inn mest informasjon. På grunn av all den<br />

informasjonen som skulle inn på begrenset plass valgte prosjektgruppen å holde det<br />

som resten av iX-panelet, enkelt <strong>og</strong> oversiktlig.<br />

Figur 56: Prosessvinduet i iX-panelet.<br />

I prosess-vinduet skal alt av styring foregå, bortsett fra kvittering av alarmer. Det er<br />

<strong>og</strong>så i prosess-vinduet operatøren vil finne all avlesning fra prosessverdier.<br />

Prosjektgruppen har valgt å gjøre alle komponenter tydelige, som for eksempel<br />

bryterne som styrer pumpen <strong>og</strong> manuell- <strong>og</strong> automatisk-regulator styring. De er store<br />

<strong>og</strong> om de aktiveres vil bryteren slå opp så du <strong>og</strong>så kan se at bryteren ligger inne. Alt<br />

av smådetaljer har prosjektgruppen pr<strong>og</strong>rammert for å gi en mest mulig behagelig<br />

opplevelse ved prosesstyringen.<br />

Innstillingen av manuelt pådrag skal kun kunne utføres om regulatoren står i manuell.<br />

Derfor har studentene valgt at ruten <strong>og</strong> teksten for innstilling av manuelt pådrag vil<br />

være borte helt til regulatoren ikke står i auto.<br />

71


Figur 57: Betingelser for synlighet.<br />

På samme måte skal referansen ikke kunnes stilles ved manuell kjøring, da den får<br />

tilgitt prosessverdien av PLS-en. Derfor har studentene valgt at ved manuell kjøring<br />

så skal det ikke være mulig å stille inn referansen. Både slideren <strong>og</strong> ruten for<br />

referanse innstilling vil bli «read only» som betyr at du kan lese av verdien, men ikke<br />

stille den selv.<br />

Figur 58: Betingelser for styring.<br />

72


Prosjektgruppen har lagt stor vekt på at pr<strong>og</strong>rammet skal være lett forståelig, <strong>og</strong><br />

derfor har de <strong>og</strong>så dannet animasjoner så brukeren skal kunne se hva som hender i<br />

systemet. Tanken vil fylle seg likt med prosessverdien i den fysiske tanken, <strong>og</strong> når<br />

brukeren har referanse slideren ved siden av tanken så vil man fort få oversikt i om<br />

tanken stiller seg inn til angitt referanse.<br />

Det er <strong>og</strong>så mange ventiler <strong>og</strong> en pumpe som prosjektgruppen har tatt hensyn til. Når<br />

pumpen er aktiv vil den på iX-panelet lyse grønt så brukeren forstår at pumpen er i<br />

gang. Dessuten vil alle ventiler som er åpne bli grønne <strong>og</strong> en signal-lampe vil tennes,<br />

samtidig som brukeren kan avlese verdien for åpningen av ventilene. Både pumpen<br />

<strong>og</strong> ventilene vil være grå når den ikke er aktiv eller åpen, <strong>og</strong> lampene for ventilene vil<br />

ikke være tent.<br />

Figur 59: Ved aktive- <strong>og</strong> inaktive-enheter.<br />

73


Den siste delen av iX-panelet som prosjektgruppen har pr<strong>og</strong>rammert er<br />

alarmbehandlingen. I iX-panelet er det mange skjulte hendelser som <strong>og</strong>så er forklart<br />

tidligere i rapporten, men under alarmbehandling vil den største delen av skjulte<br />

hendelser foregå.<br />

Figur 60: Alarmvinduet i iX-panelet.<br />

Selve alarmbildet er ferdigstilt i iX-panelet, med alle knapper <strong>og</strong> utseende. Derfor har<br />

ikke prosjektgruppen jobbet med denne delen når det gjelder alarmene, det er selve<br />

pr<strong>og</strong>rammeringen om hva som skal utløse alarmer <strong>og</strong> hva som skal skje ved de<br />

forskjellige alarmene.<br />

74


I oppgaveteksten er det forklart hva som skal utløse alarmer. Om nivået i tanken<br />

avviker mer enn 25 % fra referansen skal det gå vanlig alarm. Kritisk alarm skal<br />

aktiveres dersom det absolutte nivået overstiger 90 % eller går under 10 %. Hvis<br />

prosessen går ut av alarmtilstand uten at alarmen er kvittert, skal lampen fortsette å<br />

blinke inntil alarmen er kvittert.<br />

Figur 61: Alarmsituasjon under kjøring.<br />

Figur 62: Alarmer i iX-panelet<br />

75


Inne i oppbyggingen av pr<strong>og</strong>rammet velges det ut at det skal være tre<br />

alarmtilstander, iX-panelet vil motta verdier fra slave-PLS’en om det er alarmtilstand<br />

via tag’ene: alarm- 1,2 <strong>og</strong> 3. Deretter har prosjektgruppen satt opp betingelser for<br />

hver enkelt alarm, over hva som skal skje når den bestemte alarmen slår inn <strong>og</strong> hva<br />

som skjer når den ikke lenger er aktiv eller når den blir kvittert. Dersom nivået avviker<br />

referansen i tanken mer enn 25% vil alarm1 bli satt høy i slave-PLS’en <strong>og</strong> iX-panelet<br />

vil registrere alarmtilstand. Deretter vil brukeren bli varslet med et popup-vindu, en<br />

lampe <strong>og</strong> et flagg.<br />

Figur 63:Alarmbetingelse <strong>og</strong> pop-up vindu<br />

76


Figur 64: Alarmbetingelse i iX-panelet.<br />

Deretter om alarmen blir inaktiv før brukeren har vært på iX-panelet vil popup-vinduet<br />

automatisk krysses ut, <strong>og</strong> alarmoversikt-vinduet vil vises. Der vil brukeren ha<br />

fullstendig oversikt, <strong>og</strong> kan kvittere for eventuelle aktive eller inaktive alarmer.<br />

Flagget vil vises helt til brukeren har kvittert for både aktive <strong>og</strong> inaktive alarmer. Dette<br />

har prosjektgruppen bestemt med tanke på at lampen vil blinke helt til det blir kvittert.<br />

Figur 65: Popup-vinduer ved nivå over 90 % <strong>og</strong> under 10 %.<br />

77


Flagget styres med en alarm-tag som aktiveres hver gang en ny alarm aktiveres, <strong>og</strong><br />

som deaktiveres hver gang alle alarmer blir kvittert. Mens alarm indikatoren kun vil<br />

lyse om en alarm er aktiv <strong>og</strong> vil forsvinne om en alarm ikke lenger er aktiv.<br />

Figur 66: Alarmbetingelser i iX-panelet.<br />

iX-panelet skal samkjøres med InTouch pr<strong>og</strong>rammet ved alle aspekter i systemet,<br />

dermed <strong>og</strong>så alarmene. Om operatøren kvitterer en alarm i iX-panelet skal alarmen<br />

<strong>og</strong>så kvitteres i InTouch <strong>og</strong> omvendt. Derfor har prosjektgruppen opprettet en<br />

fjernstyring av kvitteringene, ved å sette inn den samme tagen som brukes i begge<br />

HMI’ene.<br />

EVE<br />

78


6.9 Webkamera til InTouch<br />

For å koble webkameraet til InTouch er port-forward brukt.<br />

TIB<br />

6.9.1 Port i webkamera:<br />

For å sette eller «fremheve» en port til webkameraet, last ned<br />

IPsetupPr<strong>og</strong>ramV1_4_1_10. Dette er et pr<strong>og</strong>ram som brukes for å sette porter på<br />

Sony sine web-kamera. Pr<strong>og</strong>rammet ligger på hjemmesiden til Sony:<br />

http://pro.sony.com/bbsc/ssr/mkt-security/resource.downloads.bbsccms-assets-cat-<br />

camsec-downloads-SecurityDownloadsIPCameraTools.shtml<br />

Installer pr<strong>og</strong>rammet <strong>og</strong> koble deg serielt til kameraet via en ethernet-kabel. Du vil da<br />

få opp et vindu som vist i Figur 67: Port-webkamera..<br />

IP-adressen til webkamera vil automatisk komme opp når du kobler deg til. Sett et<br />

port-nummer til webkameraet. Vi har valgt å bruke(fremheve) Port nr. 6668, som<br />

burde være i området rundt 6000-7000 for å være sikker porten ikke er i bruk av et<br />

annet pr<strong>og</strong>ram.<br />

Skriv inn brukernavn <strong>og</strong> passord. Dette er samme passord <strong>og</strong> brukernavn som gir<br />

tilgang til routeren. Trykk OK for å lagre innstillingene.<br />

79


Figur 67: Port-webkamera.<br />

TIB<br />

80


Port i ruteren<br />

Når porten i webkameraet er fremhevet eller satt, må samme port bli fremhevet i<br />

ruteren. For å sette eller fremheve en port i ruteren, må du koble deg serielt til ruteren<br />

via ethernetkabel. Åpne en web-leser <strong>og</strong> skriv inn IP-adressen til ruteren.<br />

Du vil da få opp en boks lik Figur 68: Innl<strong>og</strong>ging på ruter., <strong>og</strong> på denne skal du skrive<br />

inn brukernavn <strong>og</strong> passord til ruteren. Når brukernavn <strong>og</strong> passord er godtatt vil et<br />

vindu som blir likt Figur 69: Port-ruter. dukke opp. Denne gir tilgang til ruterens<br />

innstillinger.<br />

Figur 68: Innl<strong>og</strong>ging på ruter.<br />

For å fremheve en port i ruteren for webkameraet, gå til Advanced – Virtual Server,<br />

<strong>og</strong> skriv inn IP-adressen til webkameraet i feltet Private IP. Sett Port-nr. 6668.<br />

Huk av Enabled <strong>og</strong> trykk Apply for å lagre innstillinger.<br />

81


Figur 69: Port-ruter.<br />

Videre vil du få opp kamera i listen som vist i figur Figur 70. En port i ruteren er da<br />

fremhevet for web-kameraet.<br />

Figur 70: Port-router-kamera.<br />

For at en annen datamaskin som vil ha tilgang til webkamera, kan den skrive i en<br />

web-leser: http://158.38.53.252:6668/home/JViewer.html. Datamaskinen vil da få<br />

tilgang til port-nr.6668 hvor webkameraet ligger, <strong>og</strong> vil få sendt bilde fra webkameraet<br />

gjennom ruteren.<br />

TIB<br />

82


6.10 InTouch<br />

6.10.1 Intro<br />

Ut fra arbeidsbeskrivelsen var det ønskelig å ha et operatørgrensesnitt på PC som<br />

prosessen skulle kunne styres- <strong>og</strong> overvåkes fra. Grensesnittet skulle utvikles i<br />

pr<strong>og</strong>rammet InTouch. Pr<strong>og</strong>rammet skulle inneholde flere forskjellige vinduer der<br />

operatør kan få nødvendig informasjon, <strong>og</strong> utføre eventuelle tiltak.<br />

FS<br />

6.10.2 Beskrivelse av oppgave<br />

I arbeidsbeskrivelsen stod det hva de forskjellige vinduene skulle inneholde. Et av<br />

vinduene skulle inneholde et prosessbilde der det blant annet skulle fremkomme<br />

informasjon om pumpens tilstand, nivå i tankene, pådrag <strong>og</strong> alarmtilstander. Det<br />

skulle <strong>og</strong>så være et vindu for lesing/l<strong>og</strong>ging av alarmer. Eventuelle alarmer skal<br />

kunne kvitteres mot PLS. Et eller flere vinduer skulle lages for sanntidstrender, <strong>og</strong> et<br />

eller flere vinduer skulle lages for å vise historiske trender. Pr<strong>og</strong>rammet skulle <strong>og</strong>så<br />

inneholde et vindu for innl<strong>og</strong>ging der operatøren må l<strong>og</strong>ge seg inn med eget passord.<br />

De forskjellige brukerne av pr<strong>og</strong>rammet skulle være OPERATØR1, OPERATØR2 <strong>og</strong><br />

OPERATØR3, med henholdsvis passordene Op1, Op2 <strong>og</strong> Op3. Videre ble det<br />

presentert en tabell i arbeidsbeskrivelsen som beskriver hvilke rettigheter de<br />

forskjellige brukerne av pr<strong>og</strong>rammet skulle ha.<br />

83


FS<br />

Tabell 4: Rettigheter for forskjellige operatører i InTouch<br />

84


6.10.3 Tanker rundt det endelige grensesnittet.<br />

I gruppen kom vi frem til at vi så det som mest hensiktsmessig å ha et stilrent,<br />

oversiktlig <strong>og</strong> ryddig grensesnitt. Bakgrunnen for det var en forelesning vi hadde i<br />

nettopp InTouch der kurshaver fortalte om sine erfaringer med utvikling av grafiske<br />

grensesnitt <strong>og</strong> hva kunden <strong>og</strong> operatørene erfaringsmessig ble fornøyd med. På<br />

bakgrunn av erfaringene vi gjorde oss på forelesningen samt praktisk erfaring med<br />

brukergrensesnitt fra enkelte av gruppemedlemmene utformet vi et grensesnitt vi tror<br />

vil tilfredsstille arbeidsbeskrivelsen.<br />

FS<br />

6.10.4 De ulike vinduene.<br />

Figur 71: Innl<strong>og</strong>gingsvinduet<br />

I innl<strong>og</strong>gingsvinduet vil brukeren av pr<strong>og</strong>rammet få muligheten til å l<strong>og</strong>ge seg inn. Det<br />

er i dette vinduet at rettighetene til brukeren bestemmes ut i fra om brukeren har<br />

tilgang på OPERATØR1, OPERATØR2 eller OPERATØR3 kontoen.<br />

85


Figur 72: Operatør3 vinduet<br />

Figur 73: Operatør2 vinduet<br />

86


Figur 74: Operatør1 vinduet<br />

OPERATØR3 er den brukeren som har alle rettigheter for styring av prosessen. Hvis<br />

man sammenligner vinduene for de ulike operatørene ser man hvordan funksjonene<br />

endres. Enten ved at skrivefunksjoner endres til kun å være lesbare, eller ved at dem<br />

fjernes helt fra vinduet. Dette i henhold til arbeidsbeskrivelse <strong>og</strong> tabell for rettigheter<br />

for de forskjellige brukerne.<br />

Figur 75: Sanntidstrendvinduet<br />

87


I sanntidstrendvinduet får brukeren av pr<strong>og</strong>rammet en grafisk fremstilling av hvordan<br />

referanse, nivå i tank <strong>og</strong> pådrag har forandret seg det siste minuttet.<br />

Figur 76: Historisk trendvindu<br />

I historisk trendvinduet får brukeren av pr<strong>og</strong>rammet en grafisk fremstilling av hvordan<br />

referanse, nivå i tank <strong>og</strong> pådrag har forandret seg historisk. I dette vinduet kan<br />

brukeren se tilbake i tid, måle kurvenes verdi <strong>og</strong> i større grad analysere prosessen<br />

sammenlignet med sanntidstrenden.<br />

Figur 77: Alarmhistorikkvinduet<br />

88


I alarmhistorikkvinduet blir alarmer registrert <strong>og</strong> vist i tabell. Her kan bruker få<br />

informasjon om hvilken alarm som ble utløst, ved hvilket tidspunkt, om alarmen ble<br />

kvittert mens prosessen var i alarmtilstand, hvilken prioritet alarmen har m.m.<br />

Figur 78: Kameraovervåkningsvinduet<br />

I kameraovervåkingsvinduet får brukeren mulighet til å overvåke prosessen live<br />

gjennom et kamera. Ut fra bildene håper vi at du som leser får et visst inntrykk av<br />

hvordan grensesnittet vil fungere. Gjennomgående i alle vinduene, foruten<br />

innl<strong>og</strong>gingsvinduet, har vi menyen for hvilket vindu brukeren ønsker å entre,<br />

prosessbildet <strong>og</strong> alarmtilstander. I arbeidsbeskrivelsen var det ikke satt noe krav til at<br />

alarmtilstander <strong>og</strong> prosessbildet skulle være i alle vinduene. Vi i gruppen kom frem til<br />

at dette kunne være hensiktsmessig for å gi brukeren full oversikt over prosessen til<br />

enhver tid, uavhengig av hvilket vindu brukeren er inne på. I prosessbildet får man en<br />

rask oversikt over hvordan nivået i tanken er i forhold til innstilt referanse, hvor<br />

mange av magnetventilene som er åpne, pumpetilstand, hvor mange prosent utløp<br />

<strong>og</strong> prosent pådrag. Ut fra prosessbildet får man <strong>og</strong>så en hvis grafisk informasjon om<br />

hvordan prosessen er satt sammen. Dette for å gjøre det enklere for vedlikeholds<br />

personell å kunne raskt finne eksempelvis hvor nivåmåleren sitter (bunntrykksmåler i<br />

dette tilfellet) ved eventuell reparasjon eller utskifting.<br />

FS<br />

89


6.10.5 Indikasjoner<br />

For å indikere pumpetilstand <strong>og</strong> tilstand til ventiler har vi i gruppen valgt å bruke<br />

grønn bakgrunnsfarge når pumpen går, <strong>og</strong> grønn bakgrunnsfarge når en ventil er<br />

åpen. Vi har <strong>og</strong>så implementert en liten animasjon når pumpen går der korset i<br />

midten roterer. Ved pumpestopp <strong>og</strong> stengt ventil er bakgrunnsfargen valgt til grå. Ved<br />

alarmer har vi valgt å bruke rød farge. Dette for at brukeren raskt skal skjønne at nå<br />

er tilstanden til prosessen unormal, <strong>og</strong> krever brukers oppmerksomhet. De fleste<br />

kjent så er jo rødt en farge som ofte er forbundet med faresituasjoner i dagliglivet.<br />

FS<br />

6.10.6 Kommunikasjon<br />

InTouch som grafisk grensesnitt på PC må kommunisere med PLS for at prosessen<br />

skal kunne styres. Dette skjer først ved at et pr<strong>og</strong>ram kalt OPC-server blir satt opp til<br />

å kommunisere med PLS. I OPC-serveren blir det opprettet såkalte tags som er<br />

knyttet opp mot dataregistre <strong>og</strong> minneceller i PLS <strong>og</strong> gjør det mulig å skrive til dem<br />

fra PC. Deretter settes det opp et pr<strong>og</strong>ram som muliggjør kommunikasjon mellom<br />

OPC-server <strong>og</strong> InTouch. Dette pr<strong>og</strong>rammet heter OPC-Link <strong>og</strong> fungerer da som<br />

bindeleddet, tolken om du vil, mellom OPC-server <strong>og</strong> InTouch. Når både OPC-server<br />

<strong>og</strong> OPC-Link er satt opp starter man opp et lite tilleggspr<strong>og</strong>ram i InTouch kalt OPC<br />

Tag Creator. I dette pr<strong>og</strong>rammet hentes taggene som ble opprettet i OPC-server inn<br />

til InTouch. Når taggene er hentet inn til InTouch er dem klare for å bli knyttet til det<br />

grafiske grensesnittet, <strong>og</strong> kan dermed skrive til- <strong>og</strong> lese fra PLS.<br />

90


Figur 79: InTouch I<br />

For utfyllende info om hvordan oppsett av OPC-server, OPC-Link <strong>og</strong> innhenting av<br />

tagger til InTouch via OPC Tag Creator vil vi henvise leseren til Miniprosjektrapport<br />

kapittel 6.5.1.<br />

FS<br />

6.10.7 InTouch, AD/DA <strong>og</strong> skripting<br />

I prosessen har slave-PLS’en en AD/DA modul på 8 bit. Det vil si at ved sending <strong>og</strong><br />

mottak av anal<strong>og</strong>e signal i slave-PLS (0-20 mA) vil de anal<strong>og</strong>e signalene bli omgjort<br />

til et heltall med verdi på mellom 0-255. I brukergrensesnittet ville vi i gruppa omgjøre<br />

disse verdiene til verdier som tilsvarer 0-100 % i brukergrensesnittet. Vi hadde <strong>og</strong>så<br />

andre tilfeller der vi ønsket å skalere enkelte tagger opp om de skulle leses av PLS<br />

(PLS kan ikke håndtere desimaltall direkte), eller ned om taggen skal leses av i<br />

InTouch. I den forbindelse ble vi i gruppa enige om å skrive en del skript i InTouch for<br />

omregningen.<br />

FS<br />

91


6.10.8 Skript<br />

For å oppnå ønsket resultat på skriptene måtte vi opprette lokale tagger i InTouch.<br />

Følgende vil nå vise deg et eksempel på hvordan det ble gjort:<br />

Figur 80: InTouch II<br />

I InTouch går mann inn på fanen Special >> Tagname Dictionary. Da kommer<br />

vinduet øverst på bildet opp. Velg New <strong>og</strong> fyll inn ønsket navn, i dette tilfellet<br />

Kp_lokal_skriv. Etterpå velger du hvilken datatype den lokale taggen skal være, her<br />

memory real siden vi ønsker at tallet skal kunne være desimaltall. Trykk OK <strong>og</strong> Save.<br />

Du har nå opprettet en lokal tag.<br />

PLS kan ikke direkte håndtere desimaltall, <strong>og</strong> måten det ble løst på var at verdier inn<br />

til PLS ble multiplisert med en faktor på 10 (i dette tilfellet) for å bøte på problemet.<br />

Deretter ble videre utregning utført i PLS-pr<strong>og</strong>ram. Følgende vil vise deg hvordan det<br />

ble gjort i InTouch:<br />

92


Figur 81: InTouch III<br />

Vi ønsker å bestemme verdien til proporsjonalforsterking, Kp, i regulator fra InTouch.<br />

Denne verdien sendes til PLS via taggen kalt Kp. I skriptet (data change script) på<br />

bildet ser du hvordan det skjer ved at det er opprettet en lokal tag kalt Kp_lokal_skriv<br />

av typen memory real (håndterer desimaltall) som multipliseres med en<br />

skaleringsfaktor på 10. Dette for at bruker i InTouch skal ha muligheten til å ha med<br />

et tall bak komma i verdien til Kp. I InTouch knyttes taggen Kp_lokal_skriv til der<br />

bruker taster inn ønsket verdi til Kp. Deretter sendes Kp til PLS med rett verdi for<br />

videre regning i PLS-pr<strong>og</strong>ram.<br />

93


For å kunne presentere den riktige verdien til Kp i InTouch må vi gjøre det omvendt.<br />

Følgende vil vise deg hvordan det ble løst:<br />

Figur 82: InTouch IV<br />

Først ble det opprettet en lokal tag kalt Kp_lokal_les av typen memory real. Denne<br />

taggen knyttes til det grafiske grensesnittet for å vise hva Kp er i tallverdi. Siden Kp<br />

er skalert opp med en faktor på 10 må Kp divideres på 10 for å vise den riktige<br />

verdien i InTouch. Skriptet som ble skrevet er av typen data change script, <strong>og</strong> koden<br />

vises i bildet.<br />

I enkelte andre tilfeller som for eksempel tallverdi på referanse var det ønskelig å<br />

kunne angi 0-100 % nivå i tanken. For enklere utregning i PLS-pr<strong>og</strong>ram ble vi i<br />

gruppen enige om at verdien på referanse inn til PLS skulle være fra 0-255, <strong>og</strong><br />

omregningsfaktoren ble da 2,55.<br />

Disse omregningene måtte gjøres på en rekke variabler, men fremgangsmåten for<br />

alle er lik eksemplene presentert her.<br />

For å tydeliggjøre når pumpen er i drift spurte vi arbeidsgiver om det kunne være<br />

aktuelt å implementere en animasjon som viste det. Arbeidsgiver sa det ville være et<br />

designvalg, <strong>og</strong> vi valgte derfor å ha det med for å tydeliggjøre pumpens tilstand.<br />

Følgende vil ta deg gjennom hvordan det ble gjennomført:<br />

Vi startet med å lage en lokal tag kalt rotasjon. Deretter ble det laget et condition<br />

skript:<br />

94


Figur 83: InTouch V<br />

Vilkåret for at skriptet skal kjøres er som bildet viser at Pumpe (en tag) == 1. Her vil<br />

rotasjon’s taggen øke med 5 helt opp til 360, for deretter å bli resatt til 0. Økningen<br />

skjer her hvert 100 msek. Taggen rotasjon brukes videre på korset inne i<br />

pumpeikonet.<br />

Figur 84: InTouch VI<br />

Dobbeltklikk på korset, <strong>og</strong> du får opp bildet:<br />

Figur 85: InTouch VII<br />

95


Huk av på orientation <strong>og</strong> konfigurer som vist på neste bilde:<br />

Figur 86: InTouch VIII<br />

Pumpeanimasjonen er nå ferdig konfigurert.<br />

FS<br />

96


6.10.9 Smarte valg <strong>og</strong> problemområder<br />

InTouch overskriver verdier fra iX-panelet, <strong>og</strong> Application Scripts.<br />

For å sende <strong>og</strong> motta verdier til <strong>og</strong> fra PLS var vi litt usikre på hvordan vi skulle gjøre<br />

det siden PLS ikke kan håndtere kommatall uten videre, <strong>og</strong> i InTouch ville vi ha<br />

muligheten for at bruker skulle kunne taste inn kommatall for enkelte verdier. I<br />

enkelte andre tilfeller ville vi <strong>og</strong>så skalere opp tallverdien fra InTouch fra å gå fra 0-<br />

255.<br />

Vi prøvde først med å legge de aktuelle verdiene i skript som oppdateres med jevne<br />

mellomrom (application script) <strong>og</strong> regnet ut ønsket verdi. Dette skriptet fungerer som<br />

en while-sløyfe <strong>og</strong> vil skrive med jevne mellomrom til PLS. Samtidig ønsket vi å<br />

regne om verdien fra PLS for at rett tallområde skulle vises i InTouch. En annen ting<br />

som ble vanskelig med while-sløyfe løsningen var at verdier til PLS fra InTouch ble<br />

oppdatert med jevne mellomrom noe som gjorde det umulig å sende verdier fra iX-<br />

panelet til PLS siden InTouch skrev over dem. Dette viste seg å være en vanskelig<br />

måte å løse det på, <strong>og</strong> vi kom derfor frem til en bedre løsning ved å opprette lokale<br />

tagger i InTouch som kunne brukes til mellomregninger. Vi slapp da <strong>og</strong>så å bruke<br />

application scripts noe som løste problemet med at InTouch overskrev iX-panelet.<br />

FS<br />

Flowmåler<br />

Riggen er utstyrt med en flowmåler som måler utstrømning fra tanken. På riggen er<br />

det <strong>og</strong>så montert et display som kan vise utstrømningen i % eller i liter/time. Ønsket<br />

fra gruppen var at vi i InTouch skulle kunne lese av hvor mange liter /time<br />

utstrømning vi hadde til en hver tid. Fra PLS kom verdien til InTouch fra flowmåler<br />

med en verdi fra 0-255. I InTouch regnet vi om verdien slik at vi hadde sirka samme<br />

verdi som displayet viste. Dette skulle vise seg å endre seg med ujevne mellomrom<br />

når vi testet på riggen, <strong>og</strong> det som skjedde var at displayet <strong>og</strong> verdien vist i InTouch<br />

ikke stemte overens, noe den hadde gjort før. Vi tilkalte lab ingeniør Andreas Sørvik<br />

for hjelp, men han kunne ikke finne ut hva som var feil. Flowmåler var kalibrert slik at<br />

100 % utløp var ved sirka full tank <strong>og</strong> tre ventiler åpne, noe som var en grei<br />

kalibrering, men verdien på liter/time som displayet viste endret seg. Vi tok derfor en<br />

beslutning om å vise % utløp i InTouch siden det så ut til å være stabilt.<br />

FS<br />

97


6.10.10 Symbolbruk i InTouch<br />

Ved bruk av enkelte symboler i InTouch, særlig med tanke på inkrementeringspiler<br />

fikk vi i gruppen en del problemer. Det lå som regel i at ferdige symboler ikke har den<br />

friheten til å gjøre alt man vil med et symbol. Det største problemet var at i enkelte<br />

tilfeller ønsket vi å skjule pilene om brukeren av grensesnittet ikke skulle ha<br />

muligheten til å taste inn en verdi. Det kunne vi ikke umiddelbart bare gjøre. Her<br />

måtte vi først bryte symbolet for så å endre på synligheten til symbolet. Likevel ville<br />

ikke synligheten for hele objektet forsvinne. Etter hvert fant vi en løsning på<br />

problemet, men sett i ettertid hadde vi muligens foretrukket å lage symbolene med<br />

kode selv for rett <strong>og</strong> slett å spare tid.<br />

FS<br />

6.10.11 Design<br />

På prosessbildet ønsket gruppen at bildet skulle gi en god visuell beskrivelse av<br />

prosessen. Noe som kanskje virker selvsagt er valg av høyden på referansemåler på<br />

bildet. Dette var et bevisst valg ut fra hvor høy nivåmåleren på prosessbildet er.<br />

Tanken med å ha samme høyde var at man rent visuelt skulle kunne sammenligne<br />

nivået mot referansen.<br />

Andre bevisste valg som ble tatt var indikasjon på hvilke ventiler (gjelder ikke for<br />

OPERATØR1) som er åpne ved å ha grønn bakgrunnsfarge ved åpen ventil <strong>og</strong> grå<br />

bakgrunnsfarge ved stengt ventil. Det samme gjorde vi på pumpen der grønn<br />

bakgrunnsfarge betyr pumpe i drift <strong>og</strong> grå bakgrunnsfarge betyr pumpe stoppet. I<br />

tillegg implementerte vi en animasjon i pumpen for ytterligere å synliggjøre drift eller<br />

ei.<br />

FS<br />

98


6.10.12 Forbedringsmuligheter<br />

Sett i ettertid kunne tidsbruken på å lage grensesnittet vært redusert. Dette grunnet<br />

at mye tid i starten gikk til å gi grensesnittet et pent utseende, plassere ting i forhold<br />

til hverandre <strong>og</strong> så videre. Etter hvert som vi oppdaget flere ting som måtte endres på<br />

måtte bildene flyttes på <strong>og</strong> utseende vi hadde brukt tid på fra før av var bortkastet.<br />

Erfaringer vi gjorde oss fra dette er at vi neste gang ikke bruker for mye tid på å få<br />

ting til å se 100 % perfekt ut i starten, <strong>og</strong> heller venter til grensesnittet er omtrent<br />

ferdig testet. På den måten får man <strong>og</strong>så testet litt av grensesnittet etter hvert så<br />

deler av det kan anses ferdig <strong>og</strong> dermed perfeksjoneres.<br />

FS<br />

6.10.13 Fremgangsmåte<br />

Kameraovervåking<br />

I gruppen ble vi enige om å prøve oss på bonusoppgaven «Kameraovervåking av<br />

tankriggen via internett <strong>og</strong> kameraovervåking som eget vindu i InTouch», <strong>og</strong> vi skal<br />

her ta for oss hvordan vi implementerte kameraovervåkingen i InTouch. For å få opp<br />

vinduet til kameraet i InTouch måtte vi ta i bruk ActiveX. Siden vi ønsket å hente<br />

kamerabildet over internett brukte vien Internet Explorer basert ActiveX kontroller<br />

som vi måtte legge til InTouch.<br />

Figur 87: InTouch IX<br />

99


For å legge inn ActiveX kontrolleren velger du fanen «Special >> Configure >><br />

Wizard/ActiveX Installation…» som vist på bildet.<br />

Figur 88: InTouch X<br />

Nå får du opp en meny som vist på bildet. Her velger du «Microsoft Web Browser».<br />

Figur 89: InTouch XI<br />

Etterpå kan du finne ActiveX kontrolleren under «Wizard Selection».<br />

100


Figur 90: InTouch XII<br />

Legg til ActiveX kontrolleren på en ny side. På dette bildet vises det som den hvite<br />

ruten i bakgrunnen på bildet. Nå kan du dobbeltklikke på ActiveX kontrolleren <strong>og</strong><br />

legge til et navn til den. Lag <strong>og</strong>så en knapp (button).<br />

Figur 91: InTouch XIII<br />

Dobbeltklikk på knappen <strong>og</strong> velg «Touch Pushbuttons» <strong>og</strong> undermenyen «Action».<br />

101


Figur 92: InTouch XIV<br />

Trykk deretter på «Insert >> ActiveX…» Deretter velger du det navnet du kalte<br />

ActiveX kontrolleren, <strong>og</strong> finner under «Method / Property» det som kalles for<br />

«Navigate(«String», «Pointer», «Pointer»… <strong>og</strong> velg OK.<br />

Figur 93: InTouch XV<br />

Etterpå skal du ha noe slikt som vist på bildet. Bytt ut «String» med adresse til<br />

kameraet (her http://158.38.53.252:6668/home/AViewer.html), <strong>og</strong> slett resten slik at<br />

det blir som angitt. Da er kameravinduet ferdig konfigurert <strong>og</strong> vil vise bildet til<br />

kameraet i InTouch når man trykker på knappen.<br />

FS<br />

102


Innl<strong>og</strong>ging <strong>og</strong> forskjellige innl<strong>og</strong>gingsnivå.<br />

Det er i innl<strong>og</strong>gingsvinduet det bestemmes hvilke rettigheter de forskjellige<br />

operatørene skal få til grensesnittet. «OPERATØR1» har minst rettigheter,<br />

«OPERATØR2» har litt flere rettigheter <strong>og</strong> «OPERATØR3» har alle rettigheter.<br />

Oppsettet av dette er som følger:<br />

Figur 94: InTouch XVI<br />

Velg fanen “Special >> Security >> Select Security Type >> InTouch”.<br />

Figur 95: InTouch XVII<br />

103


Velg samme sti igjen men gå inn på «L<strong>og</strong> On».<br />

Figur 96: InTouch XVIII<br />

Da får du opp dette vinduet, <strong>og</strong> l<strong>og</strong>ger på med brukernavn «administrator» <strong>og</strong><br />

passord «wonderware».<br />

Figur 97: InTouch XIX<br />

Gå inn på samme sti igjen, men velg «Configure Users…».<br />

Figur 98: InTouch XX<br />

Da får du opp denne menyen, <strong>og</strong> her legger du inn «OPERATØR1», passord «Op1»<br />

<strong>og</strong> «Access Level «: «1000», «OPERATØR2», passord «Op2» <strong>og</strong> «Access Level:»<br />

«2000» <strong>og</strong> «OPERATØR 3», passord «Op3» <strong>og</strong> «Access Level:» «3000».<br />

104


Figur 99: InTouch XXI<br />

Lag deretter en knapp som heter «L<strong>og</strong>g på». Konfigurer knappen til å være en<br />

«Touch Pushbutton» med undermeny «Action». Skriv inn som på bildet. Dette vil<br />

gjøre at når du trykker på knappen «L<strong>og</strong>g på» så vil et popup vindu komme opp der<br />

bruker kan taste inn brukernavn <strong>og</strong> passord. Hvis brukernavn <strong>og</strong> passord er korrekt<br />

vil brukeren bli l<strong>og</strong>get inn med den access levelen som ble assignert til den repektive<br />

brukeren.<br />

Figur 100: InTouch XXII<br />

Etterpå lager du 3 knapper som heter «Fortsett», en for hver bruker. Deretter går du<br />

inn en knapp på Miscellaneous <strong>og</strong> undermenyen Visibility <strong>og</strong> får opp menyen på<br />

bildet. Her skriver du <strong>og</strong>så inn som vist på bildet for «OPERATØR3». Gjør det<br />

samme med de to andre knappene <strong>og</strong> «OPERATØR2» <strong>og</strong> «OPERATØR1», men bytt<br />

ut «>=» med «==». Etterpå plasserer du knappene oppå hverandre.<br />

105


Figur 101: InTouch XXIII<br />

Figur 102: InTouch XXIV<br />

106


Videre går du inn på de tre knappene igjen, en etter en, <strong>og</strong> velger «Touch<br />

Pushbuttons» <strong>og</strong> undermenyen «Show Window» <strong>og</strong> send så brukeren til det vinduet<br />

du vil, her sender jeg «OPERATØR3» til «Operatør3» vinduet. Vår struktur i<br />

pr<strong>og</strong>rammet ser omtrent slik ut:<br />

Operatør1<br />

Sanntidstrend1<br />

Historisktrend1<br />

Kameraovervåking1<br />

Alarmhistorikk1<br />

Innl<strong>og</strong>ging<br />

Operatør2<br />

Sanntidstrend2<br />

Historisk trend2<br />

Kameraovervåking2<br />

Alarmhistorikk2<br />

Figur 103: InTouch XXV<br />

Operatør3<br />

Sanntidstrend3<br />

Historisk trend3<br />

Kameraovervåking3<br />

Alarmhistorikk3<br />

107


Her ser man at så lenge man er pål<strong>og</strong>get som en bruker vil man være uavhengig av<br />

de andre brukerene av grensesnittet.<br />

Figur 104: InTouch XXVI<br />

Videre lager du en knapp som du kaller «L<strong>og</strong>g ut». Siden vi kun vil vise denne<br />

knappen hvis det allerede er en bruker som er l<strong>og</strong>get inn går vi inn på<br />

«Miscellaneous» <strong>og</strong> undermenyen «Visibility». Skriv inn som på bildet. Da vil<br />

knappen kun være synlig ved om en bruker med «Access Level» større eller lik<br />

«1000» ha mulighet for å se knappen, <strong>og</strong> siden vi kun har brukere i dette systemet<br />

med «Access Level» større eller lik «1000» vil alle brukerne kunne se den såfremt<br />

dem er innl<strong>og</strong>get.<br />

Figur 105: InTouch XXVII<br />

Etterpå ønsker vi å gå inn på «Touch Pushbuttons» <strong>og</strong> undermenyen «Action». Her<br />

skriver du inn som på bildet. Denne koden vil utføre en utl<strong>og</strong>ging av den brukeren<br />

som er innl<strong>og</strong>get.|<br />

FS<br />

108


Sanntidstrend<br />

For å lage sanntidstrend i InTouch klikker du på et ikon i windowmaker som heter<br />

«Real-Time trend». Deretter drar du ut et bilde slik du vil at sanntidstrenden skal<br />

være. Klikk deretter på trenden <strong>og</strong> du har da fått opp slik som på bildet.<br />

Figur 106: InTouch XXVIII<br />

Her kan man gjøre forskjellige innstillinger, men i hovedsak må vi fylle ut der det står<br />

«Pens:». Der legger vi inn de forskjellige taggene som skal vises i<br />

sanntidsdiagrammet. Sanntidstrenden er nå ferdig.<br />

FS<br />

109


Historisk trend<br />

Figur 107: InTouch XXIX<br />

For å kunne lage en historisk trend må vi finne ut av hvilke tagger vi ønske <strong>og</strong> l<strong>og</strong>ge.<br />

Vi finner derfor frem de forskjellige taggene i «Tagname Dictionary». Her i bildet har<br />

vi funnet frem taggen referanse, <strong>og</strong> vi huker av der hvor det står «L<strong>og</strong> Data». Vi<br />

bestemmer <strong>og</strong>så Min Value <strong>og</strong> Max Value, her 0-100.<br />

Figur 108: InTouch XXX<br />

Etterpå henter vi ut «Hist Trend w/Scooters and Scale» i Wizard Selection under<br />

menyen Trends. Og plasserer den i det vinduet vi ønsker å ha den i.<br />

Figur 109: InTouch XXXI<br />

110


Dobbeltklikk på trendvinduet, <strong>og</strong> trykk p «Suggest». Da vil «Hist Trend» <strong>og</strong> «Pen<br />

Scale» navnene endre seg.<br />

Figur 110: InTouch XXXII<br />

Nå ønsker vi å legge til styringer flere muligheter i trendvinduet, som for eksempel<br />

zoom. Vi velger da «Trend Zoom/Pan Panel» fra Wizard Selection».<br />

Figur 111: InTouch XXXIII<br />

Vi dobbeltklikker vi på «Trend Zoom/Pan Panel» <strong>og</strong> trykker på «Suggest». Nå er det<br />

viktig at navnene vi får er de samme som vi fikk da vi lagde den historiske trenden.<br />

Det for at de skal høre sammen <strong>og</strong> at for eksempel zoom funksjonen skal fungere i<br />

rett historisk trend vindu.<br />

111


Figur 112: InTouch XXXIV<br />

For å kunne lese av kurvene med større nøyaktighet legger vi til en «Trend Pen<br />

Legend» for hver tagg vi ønsker å l<strong>og</strong>ge. Her får vi <strong>og</strong>så informasjon om hvilken farge<br />

på kurven den tilhører.<br />

Figur 113: InTouch XXXV<br />

Etterpå klikker vi oss inn på «Trend Pen Legend» <strong>og</strong> får opp menyen som på bildet.<br />

Her klikker vi igjen på «Suggest», <strong>og</strong> passer på at navnene er de samme som for de<br />

andre konfigurasjonene ovenfor. Vi ser her at vi <strong>og</strong>så velger hvilket «Pen Number» vi<br />

vil asosiere med den «Trend Pen Legend» vi konfigurerer. Det vil si hvilken tagg som<br />

skal tilhøre denne «Trend Pen Legend».<br />

112


Figur 114: InTouch XXXVI<br />

For å kunne lagre de historiske dataene ønsker vi å ha med «HistData Wizard».<br />

Figur 115: InTouch XXXVII<br />

Vi konfigurerer «HistData Wizard ved å dobbeltklikke på det, <strong>og</strong> menyen som på<br />

bildet kommer opp. Her passer vi igjen på å klikke på «Suggest» <strong>og</strong> ser til at vi får det<br />

samme navnet igjen. Vi kan <strong>og</strong>så konfigurere «Numbers of Records to Write per CSV<br />

File:». Det vil si hvor mange ganger du ønsker å få l<strong>og</strong>get kurvene mellom to punkter<br />

som du kan bestemme i historisk trendvinduet.<br />

113


Figur 116: InTouch XXXVIII<br />

Til slutt beveger vi oss inn på fanen «Special >> Configure >> Historical L<strong>og</strong>ging».<br />

Figur 117: InTouch XXXIX<br />

Her huker vi av for «Enable Historical L<strong>og</strong>ging», <strong>og</strong> legger inn ønsket plassering for<br />

hvor l<strong>og</strong>gene skal lagres. Oppsettet av historisk trend er da ferdig.<br />

FS<br />

114


Alarmer<br />

For å knytte alarmer mot InTouch må vi inn i «Tagname Dictionary» <strong>og</strong> legge inn<br />

noen bestemmelser for taggene vi ønsker å knytte til alarmer.<br />

Figur 118: InTouch XXXX<br />

På bildet har vi funnet frem niva taggen som eksempelvis er et flagg fra PLS som går<br />

høyt når alarmtilstand er tilstede. Her vil vi velge radioknappen «Details & Alarms».<br />

På denne menyen skriver vi inn «Alarm Comment». Husk <strong>og</strong>så <strong>og</strong> sett «Alarm State»<br />

On. Nå vil alarmfunksjoner i InTouch registrere når denne niva taggen går høy. Hvis<br />

vi her hadde hatt en anal<strong>og</strong> tagg kunne InTouch selv registrert om det var alarm ved<br />

at vi setter inn kriterier for det i samme meny.<br />

Figur 119: InTouch XXXXI<br />

Videre går vi inn på «Group:…» <strong>og</strong> kan legge denne taggen inn i en ønsket<br />

alarmgruppe, i dette eksempelet har vi lagt inn alarmgruppen «kritiskalarm». Videre<br />

kan man ved å legge alarmer i forskjellige alarmgrupper for eksempel kvittere ut bare<br />

en gruppe av gangen om man ikke ønsker å kvittere ut alle alarmene samtidig. Nå er<br />

det registrert alarml<strong>og</strong>ging mot akkurat taggen niva. Hvis andre tagger ønskes å<br />

knyttes mot alarml<strong>og</strong>ging gjennomføres det på samme måte som vist.<br />

115


Figur 120: InTouch XXXXII<br />

Etterpå ønsker vi å få frem alarmene i et vindu <strong>og</strong> går derfor inn på «Wizard<br />

Selection» <strong>og</strong> finner «Dist. Alarm Display» under menyen «Alarm Displays».<br />

Figur 121: InTouch XXXXIII<br />

Den drar vi ut som vist på bildet. Etterpå klikker vi oss inn på alarmdiagrammet. Her<br />

kan vi gjøre forskjellige innstillinger, men vi legger merke til der det står «Query<br />

Type». Her kan vi velge om alarmene skal være «Summary» noe som betyr at<br />

alarmene ikke vil l<strong>og</strong>ges i vinduet. Har det vært alarm <strong>og</strong> prosessen har gått ut av<br />

alarmtilstand vil du ikke se det i vinduet. Velger du derimot «Historical» vil alarmene<br />

bli l<strong>og</strong>get i vinduet.<br />

FS<br />

116


6.11 Nettjenester<br />

6.11.1 Bakgrunn<br />

I forbindelse med prosjektet er det ikke kun arbeid som har blitt gjort ved <strong>og</strong> på selve<br />

riggen. For å kunne presentere prosjektet for arbeidsgiver <strong>og</strong> andre interesserte,<br />

samt å kunne holde oversikt med, <strong>og</strong> styre prosessen selv når man ikke er på<br />

arbeidsplassen, er det satt opp flere nettjenester for å dekke disse behovene. I dette<br />

kapittelet er det beskrevet mer om de forskjellige tjenestene, hvilke roller de fyller, <strong>og</strong><br />

generelt om hvordan ting har blitt satt opp.<br />

JSH<br />

6.11.2 Webserver<br />

Touchpanelet som brukes i prosjektet, har en innebygd webserverfunksjonalitet.<br />

Denne webserveren har File Transfer Protocol (FTP) -tilgang <strong>og</strong> mulighet for å vise<br />

en nettside. Funksjonaliteten aktiveres enkelt via pr<strong>og</strong>rammet iX-Developer, hvor<br />

man huker av for de mulighetene man vil ha, i tillegg til at man velger portnummer <strong>og</strong><br />

innl<strong>og</strong>gingsinfo til FTP-serveren. Det er en relativt enkel webserver, som ikke<br />

håndterer mange pål<strong>og</strong>gede klienter samtidig, men den har likevel fungert som<br />

gruppens base for å sende sanntidsinformasjon om prosessen ut til andre<br />

nettjenester.<br />

JSH<br />

117


6.11.3 Port-forwarding<br />

Hver komponent i nettverket har sin egen IP-adresse. IP-adressen er delt opp i flere<br />

porter. For å gjøre det enklere, kan en tenke seg at IP-adressen er en lang gate, <strong>og</strong><br />

portene er husene langs gaten. «Informasjonen» blir hentet fra husene langs gaten.<br />

Datamaskinen sender <strong>og</strong> mottar informasjon gjennom portene.<br />

Figur 122: Sending <strong>og</strong> mottak av informasjon.<br />

Port forward går ut på å fremheve porter for sending <strong>og</strong> mottak gjennom ruteren. I<br />

eksempelet Figur 122, er ruteren «bindeleddet» mellom Datamaskin 2 <strong>og</strong><br />

Datamaskin 1.<br />

Det er illustrert et eksempel på hvordan datamaskinene sender <strong>og</strong> mottar pakker i<br />

Figur 122. Dersom datamaskin2 har lyst å hente en spesiell «pakke» med<br />

informasjon fra datamaskin1, vil datamaskin2 sende en forespørsel som routeren<br />

registrerer. Ruteren vil videre sende en forespørsel til Datamaskin1 om å få tilgang til<br />

pakken som ligger på Port-nr. 6668. Pakken som ligger på Port-nr. 6668 vil da bli<br />

overført fra Datamaskin1 til Datamaskin2 gjennom ruteren.<br />

For å få tilgang til ruterens Port-nr. 6668 må datamaskin2 skrive inn i adressefeltet i<br />

en web-leser:<br />

http://158.38.53.252:6668<br />

TIB<br />

118


6.11.4 Statisk IP-adresse <strong>og</strong> Aksessfilter<br />

En statisk IP-adresse vil si at komponenten alltid vil ha den samme IP-adressa. I<br />

forhold til HIST sitt nettverk, har ruteren på rigg1 den statiske IP-adressen:<br />

158.38.53.252.<br />

Figur 123: Aksessfilter<br />

Hist har aksessfilter på web-serverne sine for IP-adressen vår. Dette er vist hvordan<br />

fungerer i Figur 123. IP-adressen blir videresendt gjennom web-serverne uten at den<br />

blir forandret.<br />

Aksessfiltrene er konfigurert slik at når IP-adressen 152.38.53.252 blir sendt til web-<br />

serveren, vil serveren videresende samme IP-adressen til neste web-server. I<br />

eksempelet ovenfor sender vi ut IP-adressen 153.38.53.252 <strong>og</strong> mottar den samme<br />

tilbake.<br />

Figur 124 viser hvordan IP-adressen «reiser» gjennom systemet. I dette tilfellet<br />

sporer vi hvilke web-serverer IP-adressen går gjennom på veien fra dataen vår til<br />

go<strong>og</strong>le.com.<br />

Vi har brukt samme fremgangsmåte i Figur 123 som Figur 124. Dette for å se<br />

«reiseruten» til IP-adressen fra datamaskinen, ut på «nettet» <strong>og</strong> tilbake til ruteren.<br />

119


Figur 124: Reise for IP-adresse.<br />

Det er mulig å styre prosessen fra nettsiden til gruppen: http://www.hekta.org/~p2ea.<br />

Eksempel er vist i Figur 125.<br />

Fordelen med å åpne aksessfilter er at brukeren fra nettsiden kan få tilgang til port 80<br />

på ruteren, som er koblet opp mot iX-panelet. Dermed kan nettsiden ha en eller flere<br />

parameter som har tilgang til port nr. 80 på ruteren, <strong>og</strong> styre parameterne i iX-<br />

panelet. Nettsiden er altså koblet opp mot IP-adressa til ruteren <strong>og</strong> portadresse 80 på<br />

ruteren.<br />

Måten ruteren <strong>og</strong> iX-panelet kommuniserer gjennom port nr.80 er vist i kapittelet om<br />

port-forward.<br />

Figur 125: Styring av prosessen fra nettside.<br />

TIB<br />

120


6.11.5 Nettside<br />

Under miniprosjektet ble det opprettet en nettside, som har blitt videreutviklet under<br />

entanksprosjektet. Gruppen fikk en del tilbakemeldinger på oppsettet av nettsiden, <strong>og</strong><br />

har prøvd så langt det går å forbedre de punktene som var mangelfulle. Det er gjort<br />

enkelte grafiske endringer for å endre lettleseligheten <strong>og</strong> fremkommeligheten, blant<br />

annet med en mer nettvennlig font <strong>og</strong> nye sider med innhold som var litt skjult ved<br />

forrige iterasjon. Det generelle designet på siden er derimot ganske likt det<br />

opprinnelige, med noen unntak. Selv om gruppen fikk tilbakemelding om at siden<br />

manglet litt «wow-faktor», var det vanskelig å gjøre store endringer uten å bygge mye<br />

av siden opp fra bunnen av igjen, som var noe man i denne omgang ikke ville ta seg<br />

tid til. Håpet er at de små visuelle endringene som er gjort, samt et større fokus på<br />

billedlig dokumentasjon av prosjektet vil hjelpe litt, selv om en større rekonstruksjon<br />

kunne vært hensiktsmessig hadde prosjektets tidsramme vært større.<br />

Figur 126: Oversikt over kommunikasjonen til nettsiden.<br />

Funksjonelt er det en stor endring siden sist, nemlig at man nå kan styre prosessen<br />

via nettsiden. For å kunne gjøre dette er det laget en kobling mellom iX-panelet sine<br />

variabler, <strong>og</strong>så kalt tagger, <strong>og</strong> webserveren til iX-panelet. Webserveren har to måter<br />

man kan bruke for å hente informasjon fra variablene. Disse er beskrevet under.<br />

JSH<br />

121


REST api<br />

Man vil ideelt sett bruke en protokoll kalt «REST api», som står for «Representational<br />

State Transfer application pr<strong>og</strong>ramming interface». Ved hjelp av kommandoene GET,<br />

PUT, POST <strong>og</strong> DELETE kan man hente <strong>og</strong> manipulere informasjonen lagret i<br />

variablene til iX-panelet. På denne måten kan man få verdiene i variablene rett inn i<br />

variabler i det språket man ønsker å arbeide med, i denne sammenheng JavaScript<br />

eller PHP. Deretter kan man bearbeide disse variablene, <strong>og</strong> velge hva man vil vise til<br />

brukeren.<br />

Figur 127: REST eksempel.<br />

Dessverre møtte man på problemer fra webserveren. Selv om man ganske raskt<br />

hadde oppe kode som kunne sende kommandoer til webserveren på iX-panelet,<br />

virket ikke alltid koden slik den skulle. Man kunne sende identisk kode, <strong>og</strong> få svar det<br />

ene sekundet, men ingenting det neste. I tillegg fikk man etter et par forsøk en<br />

feilmelding fra webserveren om at det var for mange tilkoblede aktive klienter. Det var<br />

ingen dokumentasjon om denne feilmeldingen i iX-Developer sine hjelpefiler, så<br />

gruppen henvendte seg til leverandøren av utstyret, Beijer Electronics. De kunne<br />

fortelle at dette var et kjent problem, som kunne oppstå når webserveren ikke fikk<br />

122


lukket forbindelsen med klienten på en god måte. Feilmeldingen som dukket opp var<br />

et indirekte resultat av dette; når en webserveren mistet kontakt med en klient, ventet<br />

den på svar i 15 minutter før den gav opp <strong>og</strong> koblet seg selv ned. De opplyste videre<br />

om at det var en oppdatering på vei som forhåpentligvis ville løse en del av disse<br />

problemene, men at den for øyeblikket var en tid unna levering. Naturligvis kunne<br />

man ikke basere seg på en metode som kun ville vise informasjon hvert femtende<br />

minutt, man måtte finne en annen måte å løse problemet.<br />

JSH<br />

JavaScript & JQuery<br />

JQuery er et tilleggsbibliotek til pr<strong>og</strong>rammeringsspråket JavaScript. I versjon 1.7 er<br />

det i inkludert et bibliotek i JQuery, kalt iX.js. Dette biblioteket inneholder ferdige<br />

funksjoner for å vise verdier fra iX-panelet på en nettside. Oppsettet <strong>og</strong> syntaksen til<br />

biblioteket er lett å sette seg inn i, <strong>og</strong> man får raskt opp en grunnleggende nettside<br />

hvor man kan sende <strong>og</strong> motta verdier. Ved første øyekast virker dermed denne<br />

metoden som det naturlige valget. Dessverre har dette oppsettet et stort problem<br />

som er vanskelig å ignorere. Nettsiden man kan konstruere, må ligge på den lokale<br />

webserveren til iX-panelet. Da får man to mulige måter å gå videre på, enten ved å<br />

legge hele nettsiden til prosjektgruppen ligge på den lokale serveren, eller ved å<br />

hente inn den lokale nettsiden ved hjelp av HTML-komponenten «iframe». Skulle<br />

man velge å legge hele nettsiden på den lokale webserveren, møter man på ett av<br />

de samme problemene som man møtte på med REST api, nemlig enkelheten til iX-<br />

panelets webserver. Den største utfordringen der er at man ikke kan ha mange<br />

klienter tilkoblet samtidig. Testing har vist at panelet ikke godtar mer enn 2-3<br />

tilkoblinger simultant, som er alt for lite for en nettside som realistisk sett i dette tilfelle<br />

i det minste må kunne tåle et par titalls tilkoblinger simultant. Den andre løsningen er<br />

da å hente inn den lokale nettsiden, fra iX-panelet sin webserver, inn i en «iframe».<br />

Man vil fortsatt møte tilkoblingsproblemet, men det vil kun affektere de som l<strong>og</strong>ger<br />

inn på nettsidens side for prosesstyring. Besøkende som ikke har tilgang her vil aldri<br />

møte på problemet. Dessverre er «iframe» objektet et problem i seg selv. Opp<br />

gjennom årene er det ingen andre html-objekter som har vært kilden til flere<br />

sikkerhetsbrudd. Man kan finne artikkel på artikkel på nettet som advarer mot bruk av<br />

«iframe», <strong>og</strong> gruppen var i det lengste motvillige til å bruke dette, men da man ikke<br />

123


fikk problemene rundt REST api løst innen rimelig tid før entanksprosjektet nærmet<br />

seg slutten, så man seg nødt til å ta det i bruk. Dagens løsning er altså en «iframe»<br />

som viser den lokale nettsiden til iX-panelet.<br />

Figur 128: Iframe-element fra iX-webserver.<br />

JSH<br />

Kameraovervåkning<br />

En av bonusspesifikasjonene til oppgaven var overvåkning av riggen med et<br />

webkamera som skulle vises på nettsiden samt i InTouch. HiST har satt opp et<br />

webkamera med innebygd server, som man kan hente inn på nettsiden via et<br />

«iframe»-element. Nettsiden man fikk opp på denne måten fremstilte bildet med en<br />

stor svart marg på høyre side <strong>og</strong> på undersiden. Det var altså hverken en god teknisk<br />

eller estetisk måte å importere bildet til gruppens nettside. Det dukket <strong>og</strong>så opp et<br />

annet problem i <strong>og</strong> med at nettsiden, som nevnt i miniprosjektrapporten, var designet<br />

i hovedsak for nettleseren «Chrome». Som en sikkerhetsfunksjon i denne nettleseren<br />

nettopp mot utnyttelse av «iframe»-elementet til uønskede aktiviteter, nekter Chrome<br />

å laste inn den lenkede adressen når innholdet kommer fra en ukjent port ved IP-<br />

adressen.<br />

124


Figur 129: “Unknown port"-error i Chrome.<br />

Problemet kan unngås, men det må gjøres endringer i sikkerhetskonfigurasjonen til<br />

hver enkelt nettleserklient. Dette legger problemet over i brukerens hender, som på<br />

ingen måte er ønskelig. Gruppen valgte derfor å gå tilbake til det som var<br />

reserveløsningen mens man ventet på bekreftelse på at høyskolens webkamera<br />

skulle settes opp, nemlig å benytte seg av et privat webkamera. Ved hjelp av et<br />

pr<strong>og</strong>ram kalt «YAWCAM»(Yet Another WebCam software), satte man kameraet til å<br />

laste opp et bilde hvert andre sekund til webserveren på iX-panelet, <strong>og</strong> man kunne<br />

derfra hente ut bildet til nettsiden, slik som vist på Figur 126. Denne løsningen gir<br />

ikke et like responsivt bilde som høyskolens webkamera, da det kun oppdateres<br />

hvert andre sekund, men man har fordelen av å unngå et nytt «iframe»-element, det<br />

ser mer ut som en naturlig del av siden da man kan behandle det som et vanlig bilde-<br />

element, <strong>og</strong> det vil fungere i en hvilken som helst nettleser. Med tanke på at man på<br />

samme side som webkamera <strong>og</strong>så får opplyst de reelle verdiene til viktige variabler<br />

fra tanken, mener gruppen at fordelene mer enn veier opp for ulempene ved å bruke<br />

en egen kameraløsning.<br />

JSH<br />

125


6.11.6 Fjernstyring med smarttelefon<br />

Bakgrunn<br />

En bonusspesifikasjon i prosjektet var oppretting av en mobilapplikasjon for<br />

fjernstyring <strong>og</strong> overvåkning av prosessen. En mobilapplikasjon vil være en plattform<br />

med mange fordeler over stasjonære styringsalternativer, størst av disse er<br />

muligheten til å holde oversikt over prosessen <strong>og</strong> ta raskt handling, selv om man ikke<br />

er i nærheten av de statiske kontrollene.<br />

Samtidig var det en stor utfordring for gruppen. For at systemet skulle fungere, måtte<br />

man ha oversikt over hvordan informasjon blir sendt fra <strong>og</strong> til iX-panelet <strong>og</strong> hvordan<br />

man enklest får tak i bilder fra webkamera. Dette stod på lik linje som ved<br />

konstruksjon av nettsidens prosesstyring, <strong>og</strong> møtte på mange av de samme<br />

problemene. I tillegg måtte de i gruppen som jobbet med applikasjonen sette seg inn<br />

Java, XML(eXtensible Markup Language) <strong>og</strong> Android sitt java-bibliotek. Sistnevnte er<br />

et språk i hurtig utvikling, med opptil flere årlige iterasjoner, noe som igjen gjorde<br />

søket etter gode fremgangsmåter vanskelig da de allerede kunne vært utdatert.<br />

Gruppen så allikevel på oppgaven som en givende prosess å gjennomgå, selv om<br />

man ikke skulle nå alle mål innen fristen. Et uferdig produkt kan eventuelt<br />

videreutvikles i et senere prosjekt.<br />

JSH<br />

Drøfting av valg rundt utviklingsprosessen<br />

Et av de første valgene man måtte ta, var hvilket operativsystem man skulle basere<br />

seg rundt, da man ikke hadde ressurser til å lage en applikasjon over flere<br />

operativsystem. Man valgte Android OS, da dette er et av de mest åpne<br />

operativsystemene <strong>og</strong> veldokumentert. Det ble <strong>og</strong>så lagt vekt på at dette er langt på<br />

vei det mest brukte operativsystemet, med rundt 66 % av markedsandelen ved<br />

utgangen av 2012. Bildet under viser salgsraten til mobile enheter med forskjellige<br />

operativsystem, <strong>og</strong>så her ser man at Android er det definitivt mest brukte.<br />

126


Figur 130: Salgstall for mobiloperativsystem, hentet fra Wikipedia.org.<br />

Det neste valget som måtte gjøres, var hvilken måte man skulle gå frem for å bygge<br />

applikasjonen. Go<strong>og</strong>le, som står ansvarlige for utviklingen av Android OS, utviklet<br />

<strong>og</strong>så noe kalt "Android App Inventor". Go<strong>og</strong>le selv støtter ikke lenger App Inventor,<br />

men Massachusetts Institute of Technol<strong>og</strong>y(MIT) tok over kildekoden <strong>og</strong> har til en<br />

viss grad fortsatt utviklingen. Under kan man se et eksempelbilde av hvordan en<br />

while-løkke kan se ut i MIT App Inventor.<br />

127


Figur 131: MIT App Inventor.<br />

App Inventor fungerer omtrent som et puslespill, hvor man grafisk kan koble sammen<br />

pr<strong>og</strong>ramkode. Man oppdaget ganske raskt under pr<strong>og</strong>rammering av en test<br />

applikasjon at denne metoden var lite fleksibel i utføringen, <strong>og</strong> ble veldig uoversiktlig<br />

ved større pr<strong>og</strong>ram. Til sammen veide ikke lettheten i pr<strong>og</strong>rammeringen opp for de<br />

negative sidene, <strong>og</strong> man valgte å legge vekk App Inventor til fordel for en mer<br />

grunnleggende fremgangsmåte, nemlig Android Software Development Kit(SDK).<br />

Android SDK er den faktiske måten å konstruere Android baserte applikasjoner på.<br />

Her bruker man en blanding av Java, XML <strong>og</strong> et Java - basert Android bibliotek, til å<br />

pr<strong>og</strong>rammere utseende <strong>og</strong> funksjonaliteten til applikasjoner. Fordelene er høy grad<br />

av fleksibilitet, god oversikt selv ved store pr<strong>og</strong>ram <strong>og</strong> lettere videreutvikling. Dette<br />

ble dermed det naturlige valget for gruppen.<br />

JSH<br />

128


Applikasjonsteori<br />

En applikasjon bygget i Android har flere komponenter som jobber sammen for å<br />

formidle informasjonen til brukeren. Dette delkapittelet vil gå gjennom basisen for<br />

hvordan en applikasjon ser ut innvendig, for økt forståelse når prosjektgruppens<br />

applikasjon beskrives.<br />

Figur 132: Grafisk fremstilling av prosessen for å bytte til et nytt brukergrensesnitt.<br />

I all hovedsak er en applikasjon bygget opp av tre hoveddeler; Manifestet, Java-<br />

klassene <strong>og</strong> aktivitetene. Hvis man tenker på en applikasjon som et tre, vil Manifestet<br />

være stammen. Manifestet er stedet operativsystemet går til først for informasjon om<br />

applikasjonen, <strong>og</strong> om hvilke aktiviteter som skal kjøres ved oppstart. Det definerer<br />

hvilke rettigheter man har, <strong>og</strong> hvilke rettigheter de individuelle aktivitetene har.<br />

Grenene i treet vil dermed bli Java-klassene. Når Manifestet får en forespørsel, vil<br />

det lete etter en Java-klasse som passer forespørselen, <strong>og</strong> starte denne. Java-<br />

klassen inneholder hoveddelen av pr<strong>og</strong>rammet. Her hentes informasjon inn <strong>og</strong><br />

legges i variabler, <strong>og</strong> variablene blir behandlet før de blir sendt videre. Det er Java-<br />

klassen som bestemmer om, <strong>og</strong> hvilken aktivitet som skal startes. Aktiviteten blir da<br />

bladene på treet. Når en Java-klasse gir beskjed om at aktiviteten skal startes, vil det<br />

nåværende brukergrensesnittet bli byttet ut med den nye aktivitetens<br />

brukergrensesnitt, eller UI(User Interface). Brukergrensesnittet består av alle de<br />

interaktive elementene til applikasjonen, <strong>og</strong> er den delen en sluttbruker vil ha<br />

kjennskap til. I nyere versjoner av Android kan aktivitetene <strong>og</strong>så deles opp videre i<br />

noe kalt "Fragments", eller "deler". Hver Fragment består av en eller flere grafiske<br />

129


elementer, som kan samles i en "ramme"-aktivitet. Fordelen med denne<br />

fremgangsmåten er økt gjenbruk av elementer som ellers ville tatt mye utviklingstid å<br />

sette sammen for hver aktivitet.<br />

Figur 133: Inndeling av fragmenter.<br />

JSH<br />

Applikasjonsinnhold<br />

Bonusspesifikasjonen om fjernstyring via smarttelefon gir jo kravet om at<br />

applikasjonen skal ha mulighet for å styre enkelte aspekter på riggen. I tillegg satte<br />

gruppen seg mål om at man skulle kunne få webkameraet inn på telefonen, for å<br />

videre øke oversikten sluttbruker har over prosessen.<br />

Med disse kriteriene startet designet av applikasjonen. Den ble døpt til navnet<br />

"Remote Rig Control"(RRC), <strong>og</strong> man konstruerte et lett gjenkjennelig ikon som vil<br />

være applikasjonens ansikt utad på brukerens telefon.<br />

Figur 134: RRC ikonet.<br />

130


Den aller første siden brukeren får opp, er en introduksjonsside. Denne siden viser i<br />

kort tid informasjon om gruppen <strong>og</strong> applikasjonen. I tillegg til god reklame for<br />

gruppen, gir det <strong>og</strong>så sluttbrukeren en påminnelse om hvor han eller hun kan ta<br />

kontakt for support eller andre henvendelser.<br />

Figur 135: "Splash"-side.<br />

Etter en predefinert tid, sender den brukeren automatisk videre til hovedsiden. Denne<br />

siden er bygget opp etter "Fragments"-prinsippet, <strong>og</strong> er delt opp i to fragmenter. Den<br />

første er en konstant meny på venstre side av skjermen, som viser l<strong>og</strong>oen til HiST <strong>og</strong><br />

alternativene på menyen. Det andre fragmentet er hovedinnholdet på siden, <strong>og</strong><br />

byttes ut når man velger et nytt alternativ på menyen. Når man først kommer til<br />

hovedsiden får man opp et fragment som gir brukeren oversikt over prosessen. Har<br />

man tilkobling til riggen, hva er nivået nå, med mer. Det var <strong>og</strong>så planer om å legge<br />

til en grafisk fremstilling av nivået i tanken <strong>og</strong> alarmtilstander.<br />

131


Figur 136: Oversiktsside.<br />

Via menyen kan man så navigere seg videre til andre elementer i applikasjonen. Den<br />

neste på listen er WebCam. Tanken var at man her kunne få vist bilder fra<br />

prosessens webkamera, som ville gitt en god oversikt over hvordan det stod til med<br />

tanken i det øyeblikket <strong>og</strong> være utfyllende til informasjonen man kunne få fra tallene.<br />

Figur 137: WebCam.<br />

Den siste siden som er med, er Kontroll. Som navnet tilsier , kan man her styre mer<br />

detaljerte aspekter ved prosessen. Spørsmålet er hvor mye kontroll man ville vurdert<br />

det forsvarlig å legge inn på en mobilapplikasjon. Svaret blir vel at; jo mer<br />

informasjon man kan gi til brukeren, <strong>og</strong> jo bedre protokoller man har for hva som skal<br />

skje hvis det oppstår et kommunikasjonsbrudd, jo mer kontroll kan man gi brukeren. I<br />

første omgang ville det nok vært naturlig, i tillegg til pumpekontrollen man har på<br />

132


oversiktssiden, å gi kontroll over referansen <strong>og</strong> utventilene. Man kunne <strong>og</strong>så vurdert,<br />

som vist i bildet under, å gi kontroll over regulatorparametrene, men spørsmålet er<br />

om det vil være aktuelt å gjøre så store endringer uten å være tilstedet ved<br />

prosessen.<br />

Figur 138: Kontrollside.<br />

JSH<br />

Problemområder<br />

I det man gikk inn i arbeidet var man klar over at det var en stor bonusspesifikasjon,<br />

<strong>og</strong> at det sannsynligvis ville dukke opp problemområder man måtte hanskes med i<br />

løpet av prosjektet.<br />

Et av de første problemene man møtte på, var iX-panelet sin bruk av REST api, som<br />

beskrevet i kapittelet om fjernstyring fra nettsiden. Etter en del arbeid med generelle<br />

REST protokoller koblet man seg opp mot iX-panelet sin server, <strong>og</strong> fikk svar med<br />

navn på taggen man spurte etter, verdien <strong>og</strong> annen informasjon. Dessverre viste det<br />

seg at det eksakt samme pr<strong>og</strong>rammet ikke presterte å hente inn informasjonen når<br />

man lastet det på nytt igjen. Hvis man prøvde å laste pr<strong>og</strong>rammet flere ganger videre<br />

fikk man etter hvert den kjente feilmeldingen man først møtte på når man jobbet med<br />

REST opp mot nettsiden, om at det for tiden var for mange tilkoblede klienter, med<br />

tilhørende 15 minutters pause før man kunne koble seg til på nytt. Man kom til<br />

samme konklusjonen som under arbeidet med nettsiden, at man måtte prøve å finne<br />

andre løsninger.<br />

133


Et annet problem man møtte på, var utdatert informasjon. Mange av hjelpefilene man<br />

kunne finne på nettet med informasjon om Android SDK var utdaterte, <strong>og</strong> det gikk<br />

relativt lang tid før man fant ut av at en hjelpefil man fulgte var så utdatert at d<strong>og</strong><br />

koden fungerte for seg selv ville den ikke fungere sammen med andre elementer<br />

man trengte. Dette førte til at det ble mye frem <strong>og</strong> tilbake med koden, <strong>og</strong> ofte<br />

vanskelig å skille ut feilmeldinger da de kunne komme fra mange forskjellige punkter.<br />

JSH<br />

Sluttprodukt<br />

Applikasjonen slik den eksisterer i dag kan finnes på prosjektets hjemmeside <strong>og</strong><br />

prosjektgruppens sider på It's Learning. Denne finnes som en .apk fil. Hvis man vil<br />

installere denne på en mobil med Android OS, er det lettest å sende .apk-filen til seg<br />

selv på e-post, <strong>og</strong> åpne e-posten på mobilen. Når man aktiverer vedlegget vil man få<br />

spørsmål om man vil installere applikasjonen. Da det er en applikasjon fra en ukjent<br />

utgiver, er det viktig å stille inn telefonen sin for dette i forkant. Dette gjør man ved å<br />

gå inn på "Innstillinger -> Sikkerhet -> Enhetsadministrasjon" <strong>og</strong> huke av for "Ukjente<br />

Kilder".<br />

All kildekode til applikasjonen ligger som vedlegg til denne rapporten.<br />

JSH<br />

134


6.11.7 Konklusjon mobilapplikasjon<br />

Som man kan se av applikasjonen, er det mye som mangler. Man har ikke stabil<br />

kontakt med iX-panelet, som vil være nødvendig for kontroll av prosessen. Det er<br />

heller ikke satt opp kobling til webkameraet. Etter prosjektmøte 4 så gruppen at det<br />

var mye arbeid som gjenstod både med hovedprosessen <strong>og</strong> nettsiden. Når man i<br />

tillegg hadde en del problemer med REST api'et til iX-panelet, valgte man å sette<br />

tilside arbeidet med mobilapplikasjonen inntil videre. Mulighetene rundt en slik<br />

mobilapplikasjon er enorme, men man ser at det kanskje har blitt bitt over litt mer enn<br />

man klarer å svelge. Man har allikevel valgt å presentere arbeidet som har blitt gjort<br />

med applikasjonen, <strong>og</strong> med den nåværende applikasjonen som et grunnlag som kan<br />

gi arbeidsgiver en pekepinn på funksjonaliteten til den endelige applikasjonen. Skulle<br />

det vise seg at man får tid til overs under arbeidet med totanksprosjektet er det d<strong>og</strong><br />

fullt mulig å legge mer arbeid i det.<br />

Figur 139: Produktet som sett på en Samsung Galaxy S2.<br />

JSH<br />

135


6.12 Test av tankens regulering<br />

Væskenivået i tanken reguleres ved hjelp av en PLS som styrer innløpet til tanken.<br />

Tanken har da et utløp som endres ved at 3 magnetventiler som åpnes eller lukkes.<br />

Det er satt krav <strong>og</strong> retningslinjer til hvordan tanken skal reguleres <strong>og</strong> styres. PLS-en<br />

kommuniserer med omverdenen gjennom et operatørpanel med touchskjerm <strong>og</strong><br />

webserver som står ved anlegget <strong>og</strong> en PC med pr<strong>og</strong>rammet InTouch.<br />

I et anlegg som dette er det mange bindeledd <strong>og</strong> mange potensielle feilkilder. Det er<br />

derfor viktig at utstyret er testet grundig slik at uforutsette hendelser unngås.<br />

Vedlagt denne rapporten er flere testskjemaer som leder testeren gjennom en rekke<br />

oppgaver for å sjekke funksjonaliteten til utstyr <strong>og</strong> pr<strong>og</strong>ram som inngår i reguleringen.<br />

Dette er gjennomgått <strong>og</strong> anlegget er funnet uten feil.<br />

Et arbeidsnotat til prosjektet er lagt ved rapporten. Arbeidsnotatet tar for seg<br />

modellering av prosessen <strong>og</strong> beregning av reguleringsparametere som skal gi best<br />

resultat når det gjelder stabilitet <strong>og</strong> innsvingning på reguleringen. Kravet er at<br />

prosessen skal ha innsvingning tilsvarende minimum areal ved et sprang i utløpet fra<br />

3 til 1 ventil åpen. I tillegg skal prosessen stabilisere seg raskest mulig. Prosessen<br />

ansees som stabil når nivået ikke svinger mer ±2% fra referansen.<br />

Modellen som ble laget ble simulert <strong>og</strong> gav resultatene som vist i Figur 140.<br />

75<br />

70<br />

65<br />

60<br />

55<br />

50<br />

45<br />

40<br />

3 til 1 ventil<br />

Uten foroverkopling<br />

Med foroverkopling<br />

1 til 3 ventiler<br />

300 350 400 450<br />

Tid [sekunder]<br />

500 550 600 650<br />

Figur 140: Resultat fra modellering. Kurvene viser nivå i %.<br />

136


I Figur 140 er det brukt følgende reguleringsparametere:<br />

Kp 2,7<br />

Ti 35<br />

KpFF 0,15<br />

TdFF 20<br />

NFF 10<br />

Tabell 5: Modellerte regulatorparametere<br />

Figur 141 foroverkobling viser resultat ved bruk av modellerte reguleringsparametere.<br />

For å teste innsvingningen er det foretatt et sprang i fra 3 til 1 ventil åpen. Det viser<br />

seg raskt at simuleringsmodellen ikke er helt i samsvar med den virkelige prosessen<br />

da det ikke oppstår svingninger i systemet. En Ti-verdi på 35 er tydelig for stor da det<br />

går lang tid før avviket er lik 0. Foroverkobling innkoblet gir derimot raskere<br />

innsvingning, men fortsatt lang.<br />

Figur 141: Modellerte reguleringsparametere uten(tv) <strong>og</strong> med(th) foroverkobling<br />

Etter litt finjustering ved bruk av erfaring <strong>og</strong> lærte teorier ble det besluttet at følgende<br />

verdier gir en tilfredsstillende regulering av nivået i tanken.<br />

Kp 2,7<br />

Ti 18<br />

KpFF 0,4<br />

TdFF 10<br />

NFF 10<br />

Tabell 6: Tabell over finjusterte regulatorparametere<br />

137


Figur 142 viser hvordan prosessen svarer på sprang ved bruk av finjusterte<br />

reguleringsparametere. Ved gruppens egne finjusterte verdier vises stor forbedring.<br />

Dynamisk avvik <strong>og</strong> innsvingningstid er betydelig mindre. Ved innkobling av<br />

foroverkoblingen, på regulatoren, blir dynamisk avvik <strong>og</strong> innsvingningstid praktisk talt<br />

lik 0.<br />

Figur 142: Finjusterte reguleringsparametere uten(tv) <strong>og</strong> med(th) foroverkobling<br />

Testing av reguleringen viser at gruppen har i stor grad oppnådd kravene som stilles<br />

til anlegget. Reguleringen fungerer utmerket til sitt forhold.<br />

BM<br />

138


6.13 Problemområder for prosjektutførelsen<br />

EVE<br />

1. Tiden prosjektgruppen får til å teste systemet er begrenset da det er en annen<br />

gruppe som <strong>og</strong>så skal ha tilgang. Problemet ble løst med at gruppene fikk<br />

annenhver dag på systemet. At det er to grupper som skal ha tilgang på<br />

systemet gjør <strong>og</strong>så at det er mange forskjellige pr<strong>og</strong>rammer <strong>og</strong> verdier i bruk,<br />

derfor må prosjektgruppen huske å endre alt til sitt eget hver gang.<br />

2. Gruppen består av seks deltakere, noe som skaper problemer ved oppdeling<br />

<strong>og</strong> om flere jobber med samme oppgave. Prosjektgruppen har under<br />

prosjektperioden hatt mange forskjellige oppgaver som har blitt godt fordelt, <strong>og</strong><br />

på grunn av dette har dette problemet blitt løst på en ypperlig måte.<br />

3. Samkjøringen av de forskjellige enhetene er problematisk, både på design <strong>og</strong><br />

ved styring. Når det er to systemer som skal styre samme enheter, må det<br />

alltid legges opp krav til sending <strong>og</strong> innhenting av verdier. Systemet må <strong>og</strong>så<br />

rapportere alt som skjer til de andre enhetene så det ikke er forskjellige<br />

verdier.<br />

4. Under rapportskrivingen vil det være seks personer som skriver på hver sin<br />

måte, denne problematikken vil prosjektgruppen møte på under alle<br />

delprosjektene når alt skal legges sammen.<br />

5. Informasjonen til de forskjellige varierer veldig, noen enheter er godt forklart<br />

på både internett <strong>og</strong> i lærebøker, mens andre er det vanskelig å finne<br />

informasjon om. Dette gjør det vanskelig, spesielt om prosjektgruppen har<br />

planlagt å gjøre noe på en måte, men finner ikke ut hvordan det utføres.<br />

139


7 Prosjektorganisering.<br />

«<strong>Prosjektoppgave</strong> i <strong>faget</strong> <strong>Styresystemer</strong>» er et prosjekt for en gruppe på seks<br />

studenter ved Høgskolen i Sør-Trøndelag, som utfører en oppgave gitt av faglærerne<br />

i <strong>faget</strong> «<strong>Styresystemer</strong> <strong>og</strong> reguleringsteknikk». HiST stiller med veiledere til<br />

studentene. Prosjektgruppen vil få en karakter på sitt prosjekt satt av veileder fra<br />

HiST.<br />

7.1 Deltakere:<br />

7.1.1 Oppdragsgiver <strong>og</strong> veiledere:<br />

Per Hveem<br />

Førsteamanuensis ved Pr<strong>og</strong>ram for Elektro- <strong>og</strong> Datateknikk,<br />

Avdeling for Teknol<strong>og</strong>i, HiST<br />

Dr. Ing. reguleringsteknikk<br />

Tlf: 73559593<br />

E-post: per.hveem@hist.no<br />

Andreas Sørvik<br />

Lab-ingeniør.<br />

Tlf: 73 55 94 50<br />

E-post: andreas.sorvik@hist.no<br />

7.1.2 Prosjektgruppe:<br />

Prosjektgruppen består av seks studenter fra HiST ved linjen automatiseringsteknikk,<br />

tredje semester. Gruppen er satt sammen av faglærerne, med tanke på bakgrunnen<br />

til hver enkelt student. Prosjektet er vårt semesterprosjekt i <strong>faget</strong> <strong>Styresystemer</strong> <strong>og</strong><br />

reguleringsteknikk.<br />

JSH; EVE<br />

140


Jostein Svanholm Helland<br />

Alder: 26<br />

Tlf: 93030878<br />

E-post: josteish@stud.hist.no<br />

Arbeidserfaring: 2008 – 2012:<br />

Utdanning: 2012 –<br />

2009 – 2012:<br />

2007 – 2009:<br />

Prosjekter: 03.2010 – 05.2010:<br />

Erlend Vist Ekren<br />

Alder: 21<br />

Tlf: 41767127<br />

E-post: erlendek@stud.hist.no<br />

Arbeidserfaring: 2011 – 2013:<br />

Utdanning: 2011 –<br />

V2011:<br />

2009 – 2010:<br />

2007 – 2009:<br />

Redaktør i produksjonsavdelingen<br />

Akademika forlag, sommer/jul<br />

Automatiseringsteknikk, Avdeling for<br />

Teknol<strong>og</strong>i, HiST<br />

Teknisk Kybernetikk, NTNU<br />

Kristendom grunnfag + språkfag <strong>og</strong><br />

eksegese, NLA B&M<br />

Prosjekt i <strong>faget</strong> Kybernetikk Intro,<br />

modellering <strong>og</strong> regulering av styresystemer<br />

på forenklet rakettmodell.<br />

Norsk Hydro, Sunndal, sommerjobb.<br />

Automatiseringsteknikk, Avdeling for<br />

Teknol<strong>og</strong>i, HiST<br />

Halvårsforkurs, HiST<br />

Sunndal VGS, Allmenn påbygg<br />

Sunndal VGS, Elektrofag<br />

141


Thomas Igesund Berge<br />

Alder: 22<br />

Tlf: 97425260<br />

E-post: thomasib@stud.hist.no<br />

Arbeidserfaring: S2012:<br />

Utdanning: 2011 –<br />

Olav Gabrielsen<br />

Alder: 25<br />

2007 – 2010:<br />

Tlf: 93412152<br />

E-post: olavgab@stud.hist.no<br />

Arbeidserfaring: S2012:<br />

S2010:<br />

7.9.2009:<br />

2007 – 2009:<br />

Utdanning: 2011 –<br />

2002 – 2006:<br />

Havyard 3D-avdeling, sommerjobb.<br />

Automatiseringsteknikk, Avdeling for<br />

Teknol<strong>og</strong>i, HiST<br />

Studiespesialisering, Ulstein VGS<br />

Sommerjobb Aibel<br />

Sommerjobb Rønning Elektro<br />

Fagprøve Automatiker<br />

Lærling Hitec Products Drilling, Forus<br />

Automatiseringsteknikk, Avdeling for<br />

Teknol<strong>og</strong>i, HiST<br />

Yrkesfag, Grand VGS<br />

142


Fredrik Sørvig<br />

Alder: 24<br />

Tlf: 48036012<br />

E-post: fredrso@stud.hist.no<br />

Arbeidserfaring: 2011 – 2012:<br />

Utdanning: 2011 –<br />

2010:<br />

24.6.2009:<br />

2006 – 2007:<br />

2005 – 2006:<br />

2004 – 2005:<br />

Prosjekter: 2008 – 2009:<br />

Bendik Mydland<br />

Alder: 24<br />

Tlf: 99223347<br />

E-post: bendikm@stud.hist.no<br />

Arbeidserfaring: S2012:<br />

2007 – 2011:<br />

Utdanning: 2011 –<br />

2009 – 2011:<br />

2004 – 2009:<br />

Mekanisk arbeid <strong>og</strong> vedlikehold,<br />

Bis Production Partner AS.<br />

Automatiseringsteknikk, Avdeling for<br />

Teknol<strong>og</strong>i, HiST<br />

Realfagskurs<br />

Fagbrev industrimekaniker, ISS Industri<br />

Allmennfaglig påbygning, Mosjøen VGS<br />

VK1 Elektromekaniske fag, Vefsn VGS<br />

GK Elektrofag, Vefsn VGS<br />

Utskiftning av kranbane hos Alcoe,<br />

Bis Production Partner AS<br />

National Oilwell Varco, automatiker<br />

Elkem Solar AS, automatiker<br />

Automatiseringsteknikk, Avdeling for<br />

Teknol<strong>og</strong>i, HiST<br />

Fagskole, fordypning automasjon,<br />

Kvadraturen Skolesenter<br />

Fagbrev, Automatiker<br />

Mandal VGS, Elkem Solar AS<br />

143


7.2 Arbeidslokaler <strong>og</strong> utstyrstilgang:<br />

Prosjektgruppen er ikke tildelt noen private rom for arbeid med prosjektet, men har<br />

tilgang til fellesrom <strong>og</strong> studieretningens klasserom ved HiST sine lokaler på<br />

Kalvskinnet i Trondheim. Her har studentene f.eks. tilgang til datasaler, der store<br />

deler av prosjektet har foregått. Prosjektet har <strong>og</strong>så en praktisk del som krever<br />

tilgang til en «PLS-rigg», som vil befinne seg på en lab i lokalene. Der har gruppen<br />

bestilt tid til å utføre arbeidet som ligger i arbeidspakkene.<br />

EVE<br />

Figur 143: Tankriggen.<br />

144


7.3 Prosjektleveranser:<br />

7.3.1 Pr<strong>og</strong>ramvare:<br />

Prosjektgruppen skulle i løpet av prosjektperioden utvikle pr<strong>og</strong>ramvare til de<br />

forskjellige enhetene i systemet. Prosjektgruppen har pr<strong>og</strong>rammert et PLS-pr<strong>og</strong>ram<br />

som skal bestå av alarmbehandling <strong>og</strong> et reguleringssystem. Pr<strong>og</strong>rammet regulerer<br />

nivået i en tank, med mulighet for automatisk- <strong>og</strong> manuell-styring, foroverkobling med<br />

PD-regulator <strong>og</strong> regulatoren har muligheten til å kjøres som både P- <strong>og</strong> PI-regulator. I<br />

pr<strong>og</strong>rammet har prosjektgruppen sørget for at reguleringen blir riktig ved oppstart<br />

etter et strømbrudd. Systemet regulerer <strong>og</strong>så inn til ønsket nivå om kontakten opp til<br />

HMI’ene blir brutt. Ved hjelp av et en master-PLS, skal slave-PLS’en ha kontakt opp<br />

til HMI’ene. Master-PLS’en er pr<strong>og</strong>rammert for å motta <strong>og</strong> videresende verdier. PLS-<br />

pr<strong>og</strong>rammene prosjektgruppen har levert står mer detaljert tidligere i rapporten, <strong>og</strong><br />

prosjektgruppen vil henvise dit om mer informasjon er ønsket.<br />

I HMI’ene har prosjektgruppen utviklet pr<strong>og</strong>ram i både InTouch <strong>og</strong> i iX-panelet. Det<br />

var satt opp diverse krav til hva HMI’ene skulle inneholde fra oppgaveteksten, <strong>og</strong> det<br />

er med utgangspunkt fra kravene prosjektgruppen har satt opp sine system. HMI’ene<br />

skal la operatøren styre systemet, der en større del av styringen skal foregå i<br />

InTouch enn i iX-panelet. Prosjektgruppen har lagt vekt på designet for å holde det<br />

enkelt <strong>og</strong> lett forståelig. Begge HMI’ene er forklart tidligere i rapporten, <strong>og</strong><br />

prosjektgruppen vil henvise dit om mer informasjon er ønsket.<br />

EVE<br />

145


7.3.2 Skriftlige leveranser:<br />

<strong>Entanksprosjektrapport</strong><br />

Rapporten skal forklare hvordan prosjektgruppen har gått frem for å fullføre<br />

oppgaven, samtidig som de skal dokumentere at systemet fungerer som det skal.<br />

Rapporten skal være skrevet på en måte som gjør at leseren ikke trenger å være en<br />

ingeniør innen samme fagfelt som prosjektgruppen for å forstå hvordan systemet<br />

fungerer <strong>og</strong> hvordan det er oppbygd.<br />

EVE<br />

Simuleringsnotat<br />

Prosjektgruppen skal levere et simuleringsnotat der de skal dokumentere hvordan de<br />

har gått frem for å finne systemets overføringsfunksjon. Studentene skal i<br />

dokumentet vise hvordan de simulerer systemet. I simuleringsnotatet skal<br />

prosjektgruppen ha lagt frem forslag til innstillinger for regulatoren, som er utregnet<br />

ved hjelp av simuleringene.<br />

EVE<br />

Arbeidspakker<br />

Ferdiggjorte arbeidspakker <strong>og</strong> arbeidspakker som er påbegynt, men vil fortsette å<br />

løpe fremover i prosjektet, skal leveres inn som vedlegg til entanksprosjektrapporten.<br />

Dette for å gi arbeidsgiver en oversikt over hvordan gruppen ligger an i forhold til<br />

planlagte timer.<br />

JSH<br />

Nettside<br />

En nettside med informasjon om prosjektet har tidligere blitt opprettet. Nettsiden vil<br />

fortløpende legge ut informasjon som forklarer prosjektgruppens fremgang. Her<br />

finner leseren <strong>og</strong>så tidligere rapporter <strong>og</strong> innkallinger <strong>og</strong> referat fra prosjektmøtene.<br />

Prosjektgruppen har <strong>og</strong>så forklart alle delprosjekter <strong>og</strong> lagt ut annen informasjon som<br />

er relevant til prosjektet.<br />

EVE<br />

146


Figur 144: Nettsiden til prosjektgruppen.<br />

147


7.4 Tids- <strong>og</strong> kostnadsplan:<br />

Prosjektgruppen har i et forprosjekt lagt frem et forslag til bruk av ressurser. I dette<br />

prosjektet vil det ikke forekomme andre utgifter enn timebruk, så ressursene vil bli<br />

arbeidstimer per student. Hvordan prosjektgruppen har kommet ut av det de planla i<br />

forprosjektet ligger med som vedlegg, her kommer det fram hvor mye det er blitt<br />

jobbet med hver arbeidspakke. Det vil vises at det er sprik mellom planlagt tid brukt<br />

på de forskjellige arbeidspakkene <strong>og</strong> faktisk brukt tid, men dette er naturlig da<br />

studentene ikke vet hva som faktisk inngår før de kommer i kontakt med oppgaven.<br />

Antall timer<br />

2000<br />

1800<br />

1600<br />

1400<br />

1200<br />

1000<br />

800<br />

600<br />

400<br />

200<br />

0<br />

Figur 145: L<strong>og</strong>gført timeforbruk.<br />

I Figur 145 kan man se hvordan l<strong>og</strong>gførte timer er i forhold til planlagte timer.<br />

Prosjektgruppen har utnytt arbeidsdagene i ukene de har jobbet, <strong>og</strong> jobbet frivillig<br />

individuelt på helgene. Det kommer tydelig frem i diagrammet at timeforbruket har økt<br />

kraftig de siste ukene før innlevering. Til tross for kraftig øking vil gruppen etter all<br />

sannsynlighet ikke overstige endelig estimert timeforbruk. I dette prosjektet, hvor<br />

kostnadene er direkte knyttet til timeforbruk, vil det si at kostnadene vil holdes under det<br />

som først ble forespeilt.<br />

EVE; BM<br />

Timeforbruk<br />

9 10 11 12 13 14 15 16 17 18 19 20<br />

Estimert<br />

L<strong>og</strong>gført<br />

148


7.5 Prosjektstyring <strong>og</strong> kvalitetssikring:<br />

7.5.1 Statusrapportering:<br />

Statusrapportering er en tilbakemelding på hva som har blitt gjennomført den siste<br />

tiden. Denne utarbeides hver andre uke av prosjektgruppen. Slike rapporter<br />

gjennomgås på prosjektmøte med prosjektgruppe <strong>og</strong> veileder. Timebruk l<strong>og</strong>gføres <strong>og</strong><br />

møteinnkallinger <strong>og</strong> møtereferater lastes opp på nett i tillegg til å sendes ut til<br />

deltakere.<br />

JSH<br />

7.5.2 Versjonskontroll:<br />

Under utarbeiding av filer <strong>og</strong> rapporter opplever vi ofte at vi må skrive om <strong>og</strong><br />

oppdatere filene. For å unngå unødvendig forvirring, i forhold til hvilken fil som er<br />

hvilken versjon, så fører vi på dato, <strong>og</strong> eventuelt et tall for versjonsnummer. Dette er<br />

spesielt viktig for pr<strong>og</strong>rammeringsfiler ettersom at en ofte gjør utbedringer <strong>og</strong><br />

utvidelser underveis, uten å alltid være klar over at en på utvidelsen ubevisst har gjort<br />

småfeil som resulterer i at pr<strong>og</strong>rammet ikke fungerer. På denne måten så kan en<br />

begrense tiden på feilsøking betraktelig. Feilfrie utbedringer som gjøres skriver vi<br />

forklaringer på i kommentarfeltet slik at andre raskt forstår hvordan pr<strong>og</strong>rammet<br />

fungerer.<br />

OG<br />

149


8 Litteraturliste<br />

A Deutsch, LA Grimsland & S Solvang, Prossesstyringspr<strong>og</strong>ram for<br />

silisiumsstørkningsovn, Bacheloroppgave 2010, lastet ned 5.3.2013,<br />

https://www.itslearning.com/file/download.aspx?FileID=2371488&FileVersionID=-1<br />

(Begrenset tilgang)<br />

A Hofstad, PLS-Teknikk, 7. utg., 2. opplag, Kybernetes Forlag, 2009<br />

DE Seborg, TF Edgar, DA Mellichamp, FJ Doyle III, Process Dynamics and Control,<br />

3d edn, John Wiley & Sons (Asia) Pte Ltd, China, 2011<br />

K Bjørvik & P Hveem, Reguleringsteknikk, Kybernetes Forlag, Trondheim, 2012<br />

K Bjørvik & V Tyssøy, Dynamiske Systemer<br />

NN, Training Manual, InTouch HMI 9.6 Fundamentals of Application Development<br />

Course, WonderWare Training, 2006, Rev. E.<br />

P Hveem & AS, Tips til prosjekt i <strong>Styresystemer</strong> våren 2012, lastet ned 20.3.2013,<br />

https://www.itslearning.com/file/download.aspx?FileID=2371492&FileVersionID=-1<br />

(Begrenset tilgang)<br />

Wikipedia, Port Forwarding, lastet ned 2.5.2013,<br />

http://no.wikipedia.org/wiki/Port_forwarding<br />

Wikipedia, Mobile operating system, Current market share and outlook, lastet ned<br />

2.5.2013,<br />

http://en.wikipedia.org/wiki/Mobile_operating_system#Current_market_share_and_ou<br />

tlook<br />

Youtube, iX Developer Trend, lastet ned 2.5.2013,<br />

http://www.youtube.com/watch?v=d_lztVdrYyU<br />

Youtube, iX Developer Alarm, lastet ned 2.5.2013,<br />

http://www.youtube.com/watch?v=hdRMkHSvtbI<br />

150


151


9 Vedlegg<br />

152


Vedlegg A<br />

Testskjema<br />

7 sider


Vedlegg B<br />

PID-kode i strukturert tekst<br />

3 sider


PIDheltall i strukturert tekst<br />

(*PID-regulator (inverterende)*)<br />

(*Med mulighet for manuell kjøring, valg av P(D) eller PI(D).*)<br />

(*For å koble ut D-delen velges denne til 0*)<br />

(*NB! Denne regulatoren er laget for å kunne bruke tall med ett desimal;<br />

Det vil si at Kp, Ti, Td <strong>og</strong> SampTid må ganges med en faktor på 10<br />

før de sendes inn i PIDheltall-blokka*)<br />

y_k:=PV;<br />

e_k:=SV-PV;<br />

Tih:=Ti/SampTid;<br />

IF Auto THEN<br />

(*Utregning for D-delen*)<br />

Del1:=(Td/SampTid)*10+((Td MOD SampTid)*10)/SampTid;<br />

Del2:=(Kp/10)*Del1+((Kp MOD 10)*Del1)/10;<br />

Del3:=(y_k-(2*y_km1)+y_km2)*10;<br />

D_pid:=(Del2/10)*Del3+((Del2 MOD 10)*Del3)/10;<br />

Del4:=(y_k-y_km1)*10;<br />

D_pd:=(Del2/10)*Del4+((Del2 MOD 10)*Del4)/10;<br />

(*Grensesjekking. D_pid holdes i området -2550 - 2550*)<br />

IF (D_pid=2550) THEN<br />

D_pid:=2550;<br />

END_IF;<br />

END_IF;<br />

(*Grensesjekking. D_pd holdes i området -2550 - 2550*)<br />

IF (D_pd=2550) THEN<br />

D_pd:=2550;<br />

END_IF;<br />

END_IF;


IF PD_PID THEN<br />

(*Beregning PID når PD_PID er høy*)<br />

deltau_ik:=(Kp*e_k+deltau_irestkm1)/(Tih*10);<br />

deltau_irestk:=(Kp*e_k+deltau_irestkm1) MOD (Tih*10);<br />

u_k:=u_km1+deltau_ik+Kp*(e_k-e_km1)/10-(D_pid/10);<br />

uNOM:=u_k;<br />

ELSE<br />

(*Beregning PD når PD_PID er lav*)<br />

u_k:=(Kp/10)*e_k+((Kp MOD 10)*e_k)/10+uNOM-(D_pd/10);<br />

END_IF;<br />

ELSE<br />

(*Manuell kjøring når Auto er lav*)<br />

u_k:=uMAN; (*Sørger for rykkfi overgang fra Manuell til Auto*)<br />

uNOM:=uMAN; (*Sørger for rykkfi overgang fra Manuell til Auto*)<br />

SV:=PV; (*Sørger for rykkfi overgang fra Manuell til Auto*)<br />

e_k:=0; (*Sørger for rykkfi overgang fra Manuell til Auto*)<br />

u:=uMAN;<br />

END_IF;<br />

(*Grensesjekking. u_k holdes i området 0 - 255*)<br />

IF (u_k=255) THEN<br />

u_k:=255;<br />

END_IF;<br />

END_IF;<br />

u:=u_k; (*u_k sendes til regulatorens utgang*)<br />

uMAN:=u; (*Sørger for rykkfi overgang fra Auto til Manuell*)<br />

(*Oppdatering av "gamle" verdier*)<br />

e_km1:=e_k;<br />

u_km1:=u_k;<br />

y_km2:=y_km1;<br />

y_km1:=y_k;<br />

deltau_irestkm1:=deltau_irestk;<br />

Avvik:=e_k;<br />

BM


Vedlegg C<br />

Android pr<strong>og</strong>ramfiler<br />

8 sider


Pr<strong>og</strong>ramfiler Android Mobilapplikasjon<br />

Android Manifest


Java classes<br />

Splash.java


Hovedside.java


Kontroll.java, WebCam.java & Oversikt.java


HttpRetriever.java


Eksempel på vanlige <strong>og</strong> fragmenterte aktiviteter<br />

hovedside.xml


kontroll_frag.xml


Vedlegg D<br />

Arbeidspakker<br />

10 sider


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

Fag: EDT211T <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk Dato: 05.03.13<br />

Prosjekt: Nivåregulering i et totanksystem<br />

Aktivitet: Modellering. Aktivitet nr: 07<br />

Startdato: 03.04.13 Sluttdato: 22.04.13<br />

Avhengighet: Foregående aktiviteter: 06 Ferdigstille rapport.<br />

Etterfølgende aktiviteter: 11 tilleggsspesifikasjoner.<br />

Mål: Få laget en model av prosessen.<br />

Arbeidsbeskrivelse: Studentene skal opprette en så bra modell som mulig av systemet. Her<br />

skal de levere arbeidsnotat <strong>og</strong> simuleringsnotat av ferdig produkt.<br />

Timeverk: 170,5 timer Fordeling: Thomas I. Berge 63,5t<br />

Jostein S. Helland 18,5t<br />

Fredrik Sørvig 16,5t<br />

Bendik Mydland 15t<br />

Olav Gabrielsen 50,5t<br />

Erlend V. Ekren 6,5t<br />

Kostnader: I dette prosjektet vil det ikkje forekomme noen kostnader.<br />

Ressurser: Ressursene som brukes i prosjektet blir bare arbeidet til studentene.<br />

Risiko: Studentene må være flinke til å taste alt de gjør underveis så de ikke ender opp med<br />

feil verdier <strong>og</strong> regner videre med dem.<br />

Faglig ansvarlig:<br />

Fredrik Sørvig tlf: 48036012 e-post: fredrso@stud.hist.no<br />

Prosjektmedarbeidere:<br />

Jostein S. Helland tlf: 93030878 e-post: josteish@stud.hist.no<br />

Bendik Mydland tlf: 99223347 e-post: bendikm@stud.hist.no<br />

Erlend V. Ekren tlf: 41767127 e-post: erlendek@stud.hist.no<br />

Thomas I. Berge tlf: 97425260 e-post: thomasib@stud.hist.no<br />

Fredrik Sørvig tlf: 48036012 e-post: fredrso@stud.hist.no<br />

Olav Gabrielsen tlf: 93412152 e-post: olavgab@stud.hist.no


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

Fag: EDT211T <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk Dato: 05.03.13<br />

Prosjekt: Nivåregulering i et totanksystem<br />

Aktivitet: Filter. Aktivitet nr: 08<br />

Startdato: 03.04.13 Sluttdato: 08.04.13<br />

Avhengighet: Foregående aktiviteter: 05 Ferdigstille rapport.<br />

Etterfølgende aktiviteter: 10 Test.<br />

Mål: Studentene skal bygge et filter egnet for å fjerne støy i prosessen.<br />

Arbeidsbeskrivelse: Prosjektgruppen må finne ut hvilken type støy som påvirker prosessen<br />

for så å beregne komponenter til et filter som har i oppgave å filtrere bort støyen.<br />

Timeverk: 62 timer Fordeling: Thomas I. Berge 3,5t<br />

Olav Gabrielsen 4,5t<br />

Jostein S. Helland 29,5t<br />

Fredrik Sørvig 24,5t<br />

Kostnader: I dette prosjektet vil det ikkje forekomme noen kostnader.<br />

Ressurser: Ressursene som brukes i prosjektet blir bare arbeidet til studentene.<br />

Risiko: Studentene må være flinke til å taste alt de gjør underveis så de ikke ender opp med<br />

feil verdier <strong>og</strong> regner videre med dem.<br />

Faglig ansvarlig:<br />

Thomas I. Berge tlf: 97425260 e-post: thomasib@stud.hist.no<br />

Prosjektmedarbeidere:<br />

Jostein S. Helland tlf: 93030878 e-post: josteish@stud.hist.no<br />

Thomas I. Berge tlf: 97425260 e-post: thomasib@stud.hist.no<br />

Fredrik Sørvig tlf: 48036012 e-post: fredrso@stud.hist.no<br />

Olav Gabrielsen tlf: 93412152 e-post: olavgab@stud.hist.no


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

Fag: EDT211T <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk Dato: 05.03.13<br />

Prosjekt: Nivåregulering i et totanksystem<br />

Aktivitet: Pr<strong>og</strong>rammering. Aktivitet nr: 09<br />

Startdato: 03.04.13 Sluttdato: 12.04.13<br />

Avhengighet: Foregående aktiviteter: 05 Ferdigstille rapport.<br />

Etterfølgende aktiviteter: 10 Test.<br />

Mål: Studentene skal pr<strong>og</strong>rammere de forskjellige enhetene for styring av prosessen.<br />

Arbeidsbeskrivelse: Prosjektgruppen må lage pr<strong>og</strong>rammer for PLS, Intouch <strong>og</strong> IX-panel.<br />

Dette skal være enkle oversiktlige pr<strong>og</strong>ram som skal regulere nivået i entanksystemet.<br />

Timeverk: 123,5 timer Fordeling: Jostein S. Helland 2t<br />

Bendik Mydland 6t<br />

Erlend V. Ekren 49t<br />

Thomas I. Berge 2,5t<br />

Fredrik Sørvig 64t<br />

Kostnader: I dette prosjektet vil det ikkje forekomme noen kostnader.<br />

Ressurser: Ressursene som brukes i prosjektet blir bare arbeidet til studentene.<br />

Risiko: Studentene må være flinke til å taste alt de gjør underveis så de vet at problemet ikke<br />

ligger i pr<strong>og</strong>rammene når de skal teste dem på systemet senere.<br />

Faglig ansvarlig:<br />

Olav Gabrielsen tlf: 93412152 e-post: olavgab@stud.hist.no<br />

Prosjektmedarbeidere:<br />

Jostein S. Helland tlf: 93030878 e-post: josteish@stud.hist.no<br />

Bendik Mydland tlf: 99223347 e-post: bendikm@stud.hist.no<br />

Erlend V. Ekren tlf: 41767127 e-post: erlendek@stud.hist.no<br />

Thomas I. Berge tlf: 97425260 e-post: thomasib@stud.hist.no<br />

Fredrik Sørvig tlf: 48036012 e-post: fredrso@stud.hist.no


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

Fag: EDT211T <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk Dato: 05.03.13<br />

Prosjekt: Nivåregulering i et totanksystem<br />

Aktivitet: Test. Aktivitet nr: 10<br />

Startdato: 03.04.13 Sluttdato: 12.04.13<br />

Avhengighet: Foregående aktiviteter: 08 Filter.<br />

09 Pr<strong>og</strong>rammering.<br />

Etterfølgende aktiviteter: 11 Tilleggsspesifikasjoner.<br />

Mål: Filteret <strong>og</strong> pr<strong>og</strong>rammene skal testes på systemet.<br />

Arbeidsbeskrivelse: Prosjektgruppen skal teste det de har jobbet med i starten av<br />

entankprosjektet på systemet.<br />

Timeverk: 94,5 timer Fordeling: Fredrik Sørvig 24t<br />

Bendik Mydland 36t<br />

Olav Gabrielsen 4t<br />

Erlend V. Ekren 30,5t<br />

Kostnader: I dette prosjektet vil det ikkje forekomme noen kostnader.<br />

Ressurser: Ressursene som brukes i prosjektet blir bare arbeidet til studentene.<br />

Risiko: Om jobben som er gjort tidligere ikke er grundig kan det være vanskelig å få en god<br />

gjennomkjøring.<br />

Faglig ansvarlig:<br />

Bendik Mydland tlf: 99223347 e-post: bendikm@stud.hist.no<br />

Prosjektmedarbeidere:<br />

Bendik Mydland tlf: 99223347 e-post: bendikm@stud.hist.no<br />

Erlend V. Ekren tlf: 41767127 e-post: erlendek@stud.hist.no<br />

Fredrik Sørvig tlf: 48036012 e-post: fredrso@stud.hist.no<br />

Olav Gabrielsen tlf: 93412152 e-post: olavgab@stud.hist.no


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

Fag: EDT211T <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk Dato: 05.03.13<br />

Prosjekt: Nivåregulering i et totanksystem<br />

Aktivitet: Tilleggsspesifikasjoner. Aktivitet nr: 11<br />

Startdato: 24.04.13 Sluttdato: 30.04.13<br />

Avhengighet: Foregående aktiviteter: 10 Test.<br />

Etterfølgende aktiviteter: 13 Samkjøre oppgave med gruppe 2.<br />

Mål: Gjennomføre så mange tilleggsspesifikasjoner som mulig.<br />

Arbeidsbeskrivelse: Studentene har rangert tilleggsspesifikasjoner etter hvilke oppgaver de<br />

helst vil gjennomføre, målet vil være å gjennomføre så mange som mulig.<br />

Timeverk: 145 timer Fordeling: Jostein S. Helland 93t<br />

Bendik Mydland 8t<br />

Thomas I. Berg 26t<br />

Fredrik Sørvig 7t<br />

Olav Gabrielsen 11t<br />

Kostnader: I dette prosjektet vil det ikkje forekomme noen kostnader.<br />

Ressurser: Ressursene som brukes i prosjektet blir bare arbeidet til studentene.<br />

Risiko: Risikoen her handler om tidsbruk, gruppen må prioritere pprosjektet over<br />

tilleggsspesifikasjonene.<br />

Faglig ansvarlig:<br />

Erlend V. Ekren tlf: 41767127 e-post: erlendek@stud.hist.no<br />

Prosjektmedarbeidere:<br />

Jostein S. Helland tlf: 93030878 e-post: josteish@stud.hist.no<br />

Bendik Mydland tlf: 99223347 e-post: bendikm@stud.hist.no<br />

Thomas I. Berge tlf: 97425260 e-post: thomasib@stud.hist.no<br />

Fredrik Sørvig tlf: 48036012 e-post: fredrso@stud.hist.no<br />

Olav Gabrielsen tlf: 93412152 e-post: olavgab@stud.hist.no


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

Fag: EDT211T <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk Dato: 05.03.13<br />

Prosjekt: Nivåregulering i et totanksystem<br />

Aktivitet: Ferdigstille rapport, entankprosjekt. Aktivitet nr: 12<br />

Startdato: 03.04.13 Sluttdato: 30.04.13<br />

Avhengighet: Foregående aktiviteter: 05 Ferdigstille rapport, miniprosjekt.<br />

Etterfølgende aktiviteter: 13 Samkjøre oppgave med gruppe 2..<br />

Mål: Prosjektgruppen skal få få ferdig et endelig produkt som skal reflektere hele<br />

prosjektet.<br />

Arbeidsbeskrivelse: Prosjektgruppen skal jobbe kontinuerlig med å få ned hva de gjør<br />

underveis <strong>og</strong> dokumentere ferdige produkt.<br />

Timeverk: 99,5 timer Fordeling: Jostein S. Helland 21,5t<br />

Bendik Mydland 10t<br />

Erlend V. Ekren 39t<br />

Thomas I. Berg 5t<br />

Fredrik Sørvig 12t<br />

Olav Gabrielsen 12t<br />

Kostnader: I dette prosjektet vil det ikkje forekomme noen kostnader.<br />

Ressurser: Ressursene som brukes i prosjektet blir bare arbeidet til studentene.<br />

Risiko: Tidsbruken kan være vanskelig å beregne <strong>og</strong> det er en frist for levering.<br />

Faglig ansvarlig:<br />

Jostein S. Helland tlf: 93030878 e-post: josteish@stud.hist.no<br />

Prosjektmedarbeidere:<br />

Jostein S. Helland tlf: 93030878 e-post: josteish@stud.hist.no<br />

Bendik Mydland tlf: 99223347 e-post: bendikm@stud.hist.no<br />

Erlend V. Ekren tlf: 41767127 e-post: erlendek@stud.hist.no<br />

Thomas I. Berge tlf: 97425260 e-post: thomasib@stud.hist.no<br />

Fredrik Sørvig tlf: 48036012 e-post: fredrso@stud.hist.no<br />

Olav Gabrielsen tlf: 93412152 e-post: olavgab@stud.hist.no


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

Fag: EDT211T <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk Dato: 05.03.13<br />

Prosjekt: Nivåregulering i et totanksystem<br />

Aktivitet: Prosjektmøter Aktivitet nr: 17<br />

Startdato: 04.03.13 Sluttdato: 15.05.13<br />

Avhengighet: Foregående aktiviteter: Denne oppgaven går frå start til slutt, <strong>og</strong> ingen<br />

oppgaver er avhengig av den.<br />

Etterfølgende aktiviteter: Denne oppgaven går frå start til slutt, <strong>og</strong> ingen<br />

oppgaver er avhengig av den.<br />

Mål: Arbeidsgiver skal overbevises om at han har tatt det rette valget ved å ansette<br />

prosjektgruppen.<br />

Arbeidsbeskrivelse: Studentene skal en <strong>og</strong> en beskrive hva han har gjort siden sist<br />

prosjektmøte. De skal lede et møte hver <strong>og</strong> alle skal ta referat fra et møte.<br />

Timeverk: 75 timer Fordeling: Jostein S. Helland 13,5t<br />

Bendik Mydland 12t<br />

Erlend V. Ekren 8t<br />

Thomas I. Berg 16t<br />

Fredrik Sørvig 7,5t<br />

Olav Gabrielsen 18t<br />

Kostnader: I dette prosjektet vil det ikke forekomme noen kostnader.<br />

Ressurser: Ressursene som brukes i prosjektet blir bare arbeidet til studentene.<br />

Risiko: Om det er en oppgave studentane har stått fast med, så kan det være problematisk å<br />

komme med veldig mye informasjon til arbeidsgivar.<br />

Faglig ansvarlig:<br />

Erlend V. Ekren tlf: 41767127 e-post: erlendek@stud.hist.no<br />

Prosjektmedarbeidere:<br />

Jostein S. Helland tlf: 93030878 e-post: josteish@stud.hist.no<br />

Bendik Mydland tlf: 99223347 e-post: bendikm@stud.hist.no<br />

Erlend V. Ekren tlf: 41767127 e-post: erlendek@stud.hist.no<br />

Thomas I. Berge tlf: 97425260 e-post: thomasib@stud.hist.no<br />

Fredrik Sørvig tlf: 48036012 e-post: fredrso@stud.hist.no<br />

Olav Gabrielsen tlf: 93412152 e-post: olavgab@stud.hist.no


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

Fag: EDT211T <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk Dato: 05.03.13<br />

Prosjekt: Nivåregulering i et totanksystem<br />

Aktivitet: Gruppemøter. Aktivitet nr: 18<br />

Startdato: 04.03.13 Sluttdato: 13.05.13<br />

Avhengighet: Foregående aktiviteter: Denne oppgaven går frå start til slutt, <strong>og</strong> ingen<br />

oppgaver er avhengig av den.<br />

Etterfølgende aktiviteter: Denne oppgaven går frå start til slutt, <strong>og</strong> ingen<br />

oppgaver er avhengig av den.<br />

Mål: Gruppen skal samles hver uke for å få en bedre oversikt av prosjektets fremgang.<br />

Arbeidsbeskrivelse: Prosjektet består mye av å dele lærdom <strong>og</strong> kunnskap underveis.<br />

Samtidig som gruppen skal få en oversikt over fremgang <strong>og</strong> eventuelle tidsendringer ut ifra<br />

det planlagte, så skal gruppen lære bort ny kunnskap <strong>og</strong> forklare hva de har gjort siden sist.<br />

Timeverk: 71,5 timer Fordeling: Jostein S. Helland 11,5t<br />

Bendik Mydland 12t<br />

Erlend V. Ekren 15t<br />

Thomas I. Berg 11t<br />

Fredrik Sørvig 19t<br />

Olav Gabrielsen 3t<br />

Kostnader: I dette prosjektet vil det ikke forekomme noen kostnader.<br />

Ressurser: Ressursene som brukes i prosjektet blir bare arbeidet til studentene.<br />

Risiko: Om dette ikke gjennomføres som planlagt kan det gå utover enkelt studenter som ikke<br />

får tatt imot den informasjonen <strong>og</strong> kunnskapen han trenger senere i prosjektet.<br />

Faglig ansvarlig:<br />

Jostein S. Helland tlf: 93030878 e-post: josteish@stud.hist.no<br />

Prosjektmedarbeidere:<br />

Jostein S. Helland tlf: 93030878 e-post: josteish@stud.hist.no<br />

Bendik Mydland tlf: 99223347 e-post: bendikm@stud.hist.no<br />

Erlend V. Ekren tlf: 41767127 e-post: erlendek@stud.hist.no<br />

Thomas I. Berge tlf: 97425260 e-post: thomasib@stud.hist.no<br />

Fredrik Sørvig tlf: 48036012 e-post: fredrso@stud.hist.no<br />

Olav Gabrielsen tlf: 93412152 e-post: olavgab@stud.hist.no


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

Fag: EDT211T <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk Dato: 05.03.13<br />

Prosjekt: Nivåregulering i et totanksystem<br />

Aktivitet: L<strong>og</strong>gføring. Aktivitet nr: 19<br />

Startdato: 08.03.13 Sluttdato: 10.05.13<br />

Avhengighet: Foregående aktiviteter: Denne oppgaven går frå start til slutt, <strong>og</strong> ingen<br />

oppgaver er avhengig av den.<br />

Etterfølgende aktiviteter: Denne oppgaven går frå start til slutt, <strong>og</strong> ingen<br />

oppgaver er avhengig av den.<br />

Mål: Det settes av en time hver fredag for å få skrevet ned tid brukt på prosjektet.<br />

Arbeidsbeskrivelse: L<strong>og</strong>gføring av brukt tid på prosjekt, er en viktig oppgave så arbeidsgiver<br />

får en bedre oversikt av prosjektet.<br />

Timeverk: 8 timer Fordeling: Jostein S. Helland 2t<br />

Bendik Mydland 3t<br />

Erlend V. Ekren 1t<br />

Fredrik Sørvig 1t<br />

Olav Gabrielsen 1t<br />

Kostnader: I dette prosjektet vil det ikke forekomme noen kostnader.<br />

Ressurser: Ressursene som brukes i prosjektet blir bare arbeidet til studentene.<br />

Risiko: Om denne planen ikke blir gjennomført <strong>og</strong> det er lenge siden sist gang studentene<br />

noterte i l<strong>og</strong>gboken, kan der være vanskelig å huske når <strong>og</strong> hvor lenge man har jobbet.<br />

Faglig ansvarlig:<br />

Bendik Mydland tlf: 99223347 e-post: bendikm@stud.hist.no<br />

Prosjektmedarbeidere:<br />

Jostein S. Helland tlf: 93030878 e-post: josteish@stud.hist.no<br />

Bendik Mydland tlf: 99223347 e-post: bendikm@stud.hist.no<br />

Erlend V. Ekren tlf: 41767127 e-post: erlendek@stud.hist.no<br />

Fredrik Sørvig tlf: 48036012 e-post: fredrso@stud.hist.no<br />

Olav Gabrielsen tlf: 93412152 e-post: olavgab@stud.hist.no


Vedlegg E<br />

Arbeidsnotat<br />

35 sider


HØGSKOLEN I SØR-TRØNDELAG<br />

Avdeling for teknol<strong>og</strong>i<br />

Studiepr<strong>og</strong>ram for elektro- <strong>og</strong> datateknikk<br />

7004 TRONDHEIM<br />

<strong>Prosjektoppgave</strong> i <strong>Styresystemer</strong> <strong>og</strong> Reguleringsteknikk,<br />

Oppgavens tittel:<br />

Arbeidsnotat<br />

<strong>Prosjektoppgave</strong> i <strong>faget</strong> <strong>Styresystemer</strong> <strong>og</strong> reguleringsteknikk<br />

Gruppedeltagere:<br />

Jostein S. Helland(JSH) 93030878<br />

josteish@stud.hist.no<br />

Bendik Mydland(BM) 99223347<br />

bendikm@stud.hist.no<br />

Olav Gabrielsen(OG) 93412152<br />

olavgab@stud.hist.no<br />

Erlend V. Ekren(EVE) 41767127<br />

erlendek@stud.hist.no<br />

Thomas I. Berge(TIB) 97425260<br />

thomasib@stud.hist.no<br />

Fredrik Sørvig(FS)<br />

Studieretning:<br />

48036012<br />

fredrso@stud.hist.no<br />

Automatiseringsteknikk<br />

Oppdragsgiver:<br />

Avdeling for Teknol<strong>og</strong>i v/Per Hveem<br />

Startdato:<br />

21.03.13<br />

Innleveringsdato:<br />

22.04.13<br />

Antall sider/vedlegg:<br />

34/00<br />

Veileder:<br />

Per Hveem<br />

Tlf: 73559593<br />

E-post: per.hveem@hist.no<br />

Prosjektgruppe:<br />

1<br />

Kontaktperson hos<br />

oppdragsgiver:<br />

Se veileder


Arbeidsnotat<br />

<strong>Prosjektoppgave</strong> i <strong>faget</strong> <strong>Styresystemer</strong><br />

Pumpe<br />

2EA<br />

Vår 2013<br />

Reguleringsventil<br />

Vanntank<br />

Magnetventilene<br />

FT1<br />

Vannreservoar<br />

100 %<br />

60 %<br />

50 %<br />

0 %<br />

LT1<br />

ref.


Sammendrag<br />

En tank, som inneholder vann, skal reguleres slik at nivået i tanken holdes mest<br />

mulig stabilt under drift. Tanken består av et innløp <strong>og</strong> ett utløp, hvor innløpet blir<br />

styrt av en pumpe <strong>og</strong> reguleringsventil i serie, mens utløpet blir styrt av tre<br />

magnetventiler montert parallelt.<br />

Det er gitt krav om at et sprang i utløpet skal reguleres inn raskest mulig slik at nivået<br />

holder seg stabilt på ønsket verdi.<br />

Nivået i tanken reguleres ved hjelp av en PI-regulator hvor det er mulighet for<br />

foroverkobling med PD-regulator. Regulatorens innstillinger finnes ved hjelp av å lage<br />

matematisk modell av prosessen for så å simulere <strong>og</strong> beregne regulatorene ved hjelp<br />

av blokkskjemaregning <strong>og</strong> Ziegler-Nichols-metode. Prosessens modeller er delt opp i<br />

reguleringsventil, tank <strong>og</strong> nivåmåler, utstrømning <strong>og</strong> regulatorene.<br />

PI-regulatorens beste verdier er Kp = 2,7 <strong>og</strong> Ti = 35.<br />

PD-regulatorens beste verdier er Kp = 0,15, Td = 20, n = 10<br />

Disse verdiene gir innsvingning som tilfredsstiller kravene for prosessen <strong>og</strong> er vist i<br />

figuren.<br />

75<br />

70<br />

65<br />

60<br />

55<br />

50<br />

45<br />

40<br />

BM<br />

3 til 1 ventil<br />

Uten foroverkopling<br />

Med foroverkopling<br />

1 til 3 ventiler<br />

300 350 400 450<br />

Tid [sekunder]<br />

500 550 600 650


Forord<br />

Arbeidsnotatet omhandler modellering av systemet prosjektet er basert på. Det er<br />

vanlig å lage en matematisk modell av systemet, da det ofte er billigere <strong>og</strong> mindre<br />

tidskrevende å gjøre simuleringer av antagelser på en modell, enn å utføre det på<br />

den faktiske prosessen. For at simuleringen på modellen skal være relevant, er det<br />

derfor viktig at de individuelle delene av modellen representerer sin reelle motpart så<br />

nøyaktig som mulig. Arbeidsnotatet går derfor <strong>og</strong>så inn på hvordan man best går<br />

frem for å gjøre gode målinger av moduler, <strong>og</strong> hvilke problemer man kan møte på<br />

langs veien.<br />

Det har for gruppen vært meget givende å gjennomføre denne simuleringen, da man<br />

her faktisk går gjennom hele prosessen fra reelt system til matematisk modell,<br />

regulering av denne, <strong>og</strong> får se at reguleringsparameterne man kommer frem til<br />

stemmer i virkeligheten. Dette står i sterk kontrast til tidligere oppgaver, hvor man kun<br />

har hatt en av delene, <strong>og</strong> som oftest ikke har hatt mulighet til å sjekke at verdier man<br />

kommer frem til gir mening utenfor den simulerte modellen. Prosessen med å finne<br />

frem til riktige modeller gav <strong>og</strong>så mulighet for gruppen til å bli bedre kjent med<br />

prosessen, <strong>og</strong> hvordan de forskjellige delene av prosessen fungerer individuelt, <strong>og</strong><br />

som en del av den større prosessen. Gruppen håper at arbeidsnotatet viser til<br />

arbeidsgiver at man i prosjektet går frem for å gjøre en meget grundig jobb med<br />

oppgaven, <strong>og</strong> på denne måten gjør senere arbeid <strong>og</strong> vedlikehold av prosessen<br />

lettere.<br />

Til slutt vil gruppen fortsatt takke Per Hveem <strong>og</strong> Andreas Sørvik fra HiST for<br />

veiledning gjennom prosjekttiden. Gjennom prosjektmøte, <strong>og</strong> gode praktiske tips, har<br />

de begge vært uvurderlige. Gruppen ser frem til videre samarbeid med begge.<br />

Bendik Mydland Erlend V. Ekren Fredrik Sørvig Jostein S. Helland Thomas I. Berge Olav Gabrielsen<br />

JSH


Innholdsfortegnelse<br />

Innholdsfortegnelse .................................................................................................... 1<br />

Figurliste ..................................................................................................................... 2<br />

Innledning ................................................................................................................... 3<br />

Skjematisk oppsett ..................................................................................................... 4<br />

Modellering ................................................................................................................. 7<br />

Tank, reguleringsventil & nivåmåler ........................................................................ 7<br />

Magnetventilene .................................................................................................... 11<br />

Flowmåler ............................................................................................................. 18<br />

Problemområder ................................................................................................... 21<br />

Regulering ................................................................................................................ 22<br />

PI-regulator ........................................................................................................... 22<br />

PI-regulator med PD-regulert foroverkobling ......................................................... 26<br />

Resultat .................................................................................................................... 29<br />

Litteraturliste ............................................................................................................. 30<br />

1


Figurliste<br />

Figur 1: Bilde av tanken .............................................................................................. 3<br />

Figur 2: Prosesskjema ................................................................................................ 4<br />

Figur 3: Oppkobling ved måling av tankens sprangrespons ....................................... 5<br />

Figur 4: Oppkobling ved måling av magnetventilenes sprangrespons ........................ 6<br />

Figur 5: Tankens sprangrespons ................................................................................ 7<br />

Figur 6: Beregning av tankens sprangrespons ........................................................... 8<br />

Figur 7: Modell av reguleringsventil ............................................................................ 9<br />

Figur 8: Modell av tank med omregningsfaktor ........................................................... 9<br />

Figur 9: Modell av måleelement ................................................................................ 10<br />

Figur 10: Blokkskjema for tank <strong>og</strong> reguleringsventil ................................................. 10<br />

Figur 11: Simulering av tankens sprangrespons ....................................................... 11<br />

Figur 12: Sprangrespons for åpning av 2 magnetventiler ......................................... 12<br />

Figur 13: Sprangrespons for magnetventil med markert tidskonstant ....................... 15<br />

Figur 14: Sprangrespons for åpning av én magnetventil med markert tidsforsinkelse<br />

................................................................................................................................. 16<br />

Figur 15: Blokkskjema for magnetventilene .............................................................. 17<br />

Figur 16: Sprang med 1 ventil åpen .......................................................................... 18<br />

Figur 18: Blokkskjema for PI-regulator ..................................................................... 22<br />

Figur 17: Blokkskjema for prosess med PI-regulator ................................................ 22<br />

Figur 19: Prosessverdi <strong>og</strong> pådrag ved høy Kp-verdi ................................................. 23<br />

Figur 20: Innsvingning med parameterverdier fra manuell selvjustering ................... 24<br />

Figur 21: Innsvingning ved bruk av finjusterte regulatorparametere ......................... 25<br />

Figur 22: Blokkskjema for prosessen med foroverkopling ........................................ 26<br />

Figur 23: Innsvingninger med sprang i utløpet med <strong>og</strong> uten bruk av foroverkopling . 28<br />

2


Innledning<br />

I dette arbeidsnotatet presenteres en matematisk modell for nivåregulering <strong>og</strong><br />

foreslåtte regulatorinnstillinger. Nivåreguleringen av tanken er simulert, både med <strong>og</strong><br />

uten forover kobling. For å simulere <strong>og</strong> analysere modellen brukes Matlab /Simulink.<br />

For å kunne finne en brukbar modell for prosessen er prosessen del opp i flere<br />

komponenter. Dette forenkler muligheten for implementering av foroverkobling, med<br />

regulatorinnstillingene, i simuleringen. Foroverkoblingen måler direkte på prosessens<br />

forstyrrelse <strong>og</strong> gir da et ekstra pådrag i regulatoren som vil kompensere for endring i<br />

forstyrrelsen.<br />

Figur 1: Bilde av tanken<br />

TIB<br />

3


Skjematisk oppsett<br />

Bakgrunn<br />

For å kunne lage gode modeller er det nødvendig med måling av relevante fysiske<br />

størrelser som finnes på anlegget. I dette tilfellet er nivå i, <strong>og</strong> utstrømning av, tanken<br />

de relevante målbare størrelsene. Ut i fra disse målene, i kombinasjon med at<br />

tankens fysiske mål er kjent, er det mulig å beregne de resterende fysikalske<br />

kvalitetene som trengs for å lage nøyaktige modeller.<br />

BM<br />

Prosesskjema<br />

Prosessen består av en sylindrisk tank hvor en pumpe i serie med reguleringsventil<br />

styrer innløpet <strong>og</strong> tre magnetventiler i parallell styrer utløpet. Tankens væskenivå blir<br />

Figur 2: Prosesskjema<br />

BM<br />

Pumpe<br />

Reguleringsventil<br />

Vanntank<br />

Magnetventilene<br />

FT1<br />

Vannreservoar<br />

100 %<br />

60 %<br />

50 %<br />

0 %<br />

LT1<br />

ref.<br />

målt ved hjelp av en trykkmåler<br />

i bunnen av tanken som sender<br />

ut et strømsignal hvor 4 – 20mA<br />

tilsvarer et nivå på 0 – 100%.<br />

Utløpet av tanken blir målt av<br />

en flowmåler plassert mellom<br />

tanken <strong>og</strong> de tre<br />

magnetventilene. Flowmåleren<br />

sender òg ut et strømsignal,<br />

men som her representerer<br />

utgående volumstrøm per<br />

sekund<br />

Figur 2 viser skjematisk<br />

hvordan tanksystemet er satt<br />

opp<br />

4


Koblingsskjema<br />

Måling ved tankens sprangrespons<br />

Grunnen til at vi har valgt å koble det opp som vist i Figur 3, er at vi får kjørt ett<br />

sprang fra 4-20mA inn på reguleringsventilen(LV1). Vi henter ut «nivået» fra LT1 over<br />

motstanden R2. Nivået vi får ut på skopet er fra 1-5V på grunn av at vi måler over<br />

motstanden.<br />

TIB<br />

Figur 3: Oppkobling ved måling av tankens sprangrespons<br />

OG<br />

5


Måling ved magnetventilenes sprangrespons<br />

For å lage en modell for magnetventilene <strong>og</strong> flowmåleren ser man hvordan<br />

utstrømningen fra tanken endrer seg i forhold til antall åpne ventiler. Det er da<br />

nødvendig å måle endringen tankens væskenivå samtidig med utgående signal fra<br />

flowmåler. Koblingene er vist Figur 4.<br />

BM<br />

Figur 4: Oppkobling ved måling av magnetventilenes sprangrespons<br />

OG<br />

6


Modellering<br />

Tank, reguleringsventil & nivåmåler<br />

Bakgrunn<br />

Vi har valgt å isolere tank <strong>og</strong> reguleringsventil for seg selv. Nivåmåleren har vi<br />

tilnærmet til en konstant, siden den relativ rask i forhold til resten av prosessen. I<br />

dette tilfelle vil det si at eventuelle tidskonstanter i nivåmåleren ikke vil utgjøre en<br />

vesentlig forskjell i simuleringa. For å finne overføringsfunksjonen til tank, ventil <strong>og</strong><br />

måleelement, har vi kjørt et sprang på reguleringsventilen fra 0-100 % uten utløp.<br />

TIB<br />

Målinger<br />

Prosessen i Figur 5 viser hvordan nivået endrer seg når vi kjører på ett sprang på<br />

reguleringsventilen fra 4-20mA. Det som vi oppnår med dette, er at vi får skilt ut<br />

tidsforsinkelsen. Vi ser når spranget kommer, <strong>og</strong> når tanken er på 100 % (5V).<br />

TIB<br />

Figur 5: Tankens sprangrespons<br />

7


Måleelement:<br />

Måleelementet omformer fra høyde(%) til V(1-5V). Blokken fra Simulink er vist under i<br />

Figur 9.<br />

Figur 9: Modell av måleelement<br />

TIB<br />

Resultat<br />

Simulert i Simulink:<br />

For å kontrollere at overføringsfunksjonen vi har regnet er rett, har vi laget<br />

blokkskjema, som vist i Figur 10.<br />

Har simulert modellen med pådrag 4V inn på reguleringsventilen, <strong>og</strong> får ut Figur 11<br />

på scoopet. Dette er likt i forhold til resultatet av Figur 5, <strong>og</strong> kan derfor si at vi har<br />

funnet en god modell for Reguleringsventilen <strong>og</strong> tanken.<br />

Figur 10: Blokkskjema for tank <strong>og</strong> reguleringsventil<br />

10


Målinger<br />

For hver ventiltilstand (1, 2, eller 3 åpne ventiler) ble det målt hvor mye<br />

gjennomstrømning som gikk ut av tanken. Gjennomstrømning ble målt ved å se på<br />

hvor raskt nivået sank i tanken. I tillegg ble det målt hvor mye<br />

gjennomstrømningsmåleren, FT1, gir ut ved hver ventiltilstand. Det er her forutsatt at<br />

alle ventilene er likt dimensjonert. Utløpet som funksjon av nivået i tanken er ikke<br />

lineært da gjennomstrømningen er en funksjon av kvadratroten av differansetrykket<br />

over ventilene. Dette differansetrykket endrer seg proporsjonalt med nivået i tanken.<br />

For å gjøre simulering <strong>og</strong> beregning enklere ble det utført målinger bare rundt<br />

arbeidspunktet til tanken <strong>og</strong> dermed beregnet som om det er lineært. Arbeidspunktet<br />

til tanken er gitt til et nivå på 60% av maks.<br />

Figur 12 viser målingene som ble gjort ved 2 ventiler åpne. Bildet viser nivået (Gul<br />

kurve) <strong>og</strong> signalet fra FT1 (Grønn kurve)<br />

Figur 12: Sprangrespons for åpning av 2 magnetventiler<br />

BM<br />

12


Flowmåler<br />

Bakgrunn<br />

Tanken har 3 magnetiske ventiler som styrer utløpet fra tanken, i tillegg til en manuell<br />

ventil som man i dette tilfelle ikke regnes med. Utløpet blir målt med en flowmåler,<br />

som gir et utslag mellom 0-5 V, hvor gyldig område ligger mellom 1-5 V, <strong>og</strong> 0-1 V<br />

ansees som feilmelding.<br />

Man har altså en måler som måler volumstrøm, <strong>og</strong> gir ut spenning. Denne<br />

spenningen vil så bli brukt for effektivt å kunne beregne en god<br />

foroverkoplingsregulator, <strong>og</strong> det er derfor viktig å ha en god modell av måleren.<br />

JSH<br />

Målinger<br />

For å se målingene fra flowmåleren målte man signalet som gikk inn på PLS’en sin<br />

AD-DA omformer. Fra omformeren sin andre kanal måltes samtidig nivået i tanken.<br />

Man hadde mål for volumet i tanken fra beregninger, som vist under kapittelet om<br />

magnetventilenes overføringsfunksjon, <strong>og</strong> kunne dermed approksimere utløpet ved å<br />

måle hvor mye tankens nivå endret seg over en viss periode med x antall<br />

magnetventiler aktive. Grunnet utløpets ulinearitet gjorde man små sprang rundt<br />

arbeidspunket på 60 %. Man leste <strong>og</strong>så av det flowmåleren viste i punktet 60 %, for å<br />

kunne ha en referanse på hva man ville ha ut fra flowmåleren relativt til antall aktive<br />

utløp.<br />

Figur 16: Sprang med 1 ventil åpen<br />

JSH<br />

18


Problemområder<br />

Under analysen av tanken møtte gruppen på noen problemer som gjorde det<br />

utfordrende å gjengi prosessen korrekt i en matematisk modell. I stor grad utgikk de<br />

fleste problemene fra en <strong>og</strong> samme kilde, nemlig at det, slik oppsettet av prosessen<br />

er per dags dato, var vanskelig å skille fra hverandre de fysiske egenskapene til<br />

selve tanken <strong>og</strong> reguleringsventilen som styrer dens innstrømning.<br />

Problemet ble i første omgang løst ved å ta sprangresponsene over både ventil <strong>og</strong><br />

sprang samtidig. Det resulterte i en overføringsfunksjon som inneholdt både en<br />

førsteordens prosess med tidsforsinkelse, samt et integratorledd. Teoretisk sett vil en<br />

tank som oftest være en ren integrator, <strong>og</strong> man kan i likhet tenke seg at en ventil godt<br />

kan gjengis som en førsteordens prosess med tidsforsinkelse. Det ble dermed mulig<br />

å tilkjenne de forskjellige delene av sprangresponsen til de to modulene.<br />

Beklageligvis forplantet denne avgjørelsen seg gjennom resten av modellen, som nå<br />

måtte ta hensyn til denne antagelsen. I første omgang møtte man på problemet om<br />

hvor utstrømningen skulle kobles inn i modellen. I en vanlig modell vil utstrømninger<br />

<strong>og</strong> innstrømninger adderes rett før selve tanken, <strong>og</strong> utsignalet fra tanken da være et<br />

godt mål på det nåværende volumet i tanken. Gruppen kom til enighet om at det ikke<br />

uten videre ville være naturlig å gjøre dette denne gangen, men at man måtte ta<br />

hensyn til utstrømning utenfor den sammenkoblede modellen for tank <strong>og</strong> ventil. Det<br />

igjen førte til at man måtte legge til en integrator for innstrømningen før man kan<br />

legge den til prosessignalet etter tankens overføringsfunksjon.<br />

Denne fremgangsmetoden gjør at modellen ikke er skjematisk lik den reelle<br />

prosessen, men gruppen kom frem til at det allikevel var den beste måten å<br />

presentere den på uten å måtte ta antagelser om tanken <strong>og</strong> ventilen man ikke kunne<br />

stå til gode for.<br />

JSH<br />

21


Regulering<br />

PI-regulator<br />

Figur 17: Blokkskjema for prosess med PI-regulator<br />

Bakgrunn<br />

I arbeidsnotatet er formålet å komme frem til best mulig regulatorinnstillinger for<br />

systemet. Vi har konstruert en PI-regulator, som vist i Figur 18.<br />

Regulatorblokken:<br />

Figur 18: Blokkskjema for PI-regulator<br />

Det er satt inn anti-windup på integratoren for å kunne sette grenser på maks/min<br />

pådrag fra I-delen. Setter <strong>og</strong>så metningsgrense etter regulatoren for at pådraget ikke<br />

skal overstige maks pådrag.<br />

TIB<br />

22


Måling<br />

For å finne innstillinger for regulatoren, har vi brukt manuell selvjustering som<br />

fremgangsmåte. Regulatoren stilles inn med veldig høy P-forsterkning <strong>og</strong><br />

integratordelen utkoblet, slik at pådraget i dette tilfelle svinger mellom 0 % -100 %.<br />

100<br />

90<br />

80<br />

70<br />

60<br />

50<br />

40<br />

30<br />

20<br />

10<br />

0<br />

Figur 19: Prosessverdi <strong>og</strong> pådrag ved høy Kp-verdi<br />

Referansen er stilt inn på 60 %. Grunnen til at regulatoren ikke greier å svinge rundt<br />

60 %, er at utløpet er lite i forhold til pådraget. Regulatoren vil kunne motvirke positivt<br />

avvik raskere enn negativt avvik. På grunn av tidsforsinkelse for pådraget, vil<br />

regulatoren sent merke at nivået er høyere enn referansen.<br />

TIB<br />

Prosessverdi Pådrag<br />

Tk<br />

180 200 220 240 260<br />

Tid [sekunder]<br />

280 300 320 340<br />

23


Resultat<br />

I følge oppgaven skulle vi stille inn regulatoren etter minimum areal, som vil si 4-6<br />

halvperioder, samtidig som den skal stille seg inn på ±2 % av referansen raskest<br />

mulig.<br />

For at nivået skal svinge seg inn etter minimum areal, har vi funnet nye<br />

regulatorinnstillinger hvor:<br />

Kp= 2.7<br />

Ti= 35<br />

80<br />

75<br />

70<br />

65<br />

60<br />

55<br />

50<br />

Figur 21: Innsvingning ved bruk av finjusterte regulatorparametere<br />

TIB<br />

Nye regulatorinnstillinger<br />

240 260 280 300 320<br />

Tid [sekunder]<br />

340 360 380 400<br />

±2%<br />

25


PI-regulator med PD-regulert foroverkobling<br />

Bakgrunn<br />

I prosjektet behandles en prosess som i hovedsak kan sees på som relativt treg. Den<br />

er i tillegg utsatt for variable forstyrrelser i form av at utløpet kan endres relativt<br />

drastisk. En vanlig reguleringssløyfe vil dermed få vanskeligheter med å effektivt<br />

motvirke endringer i forstyrrelsen, <strong>og</strong> prosessen vil bruke relativt lang tid på å stille<br />

seg inn igjen. For å motvirke dette, tilsier spesifikasjonene til prosjektet at sløyfen<br />

skal inneholde en foroverkoplingsregulator, som er en metode for nettopp å motvirke<br />

endringer i en forstyrrelse. Håpet er at denne regulatoren vil føre til en raskere<br />

regulering, <strong>og</strong> bedre stabilitet for sløyfen som helhet.<br />

Figur 22: Blokkskjema for prosessen med foroverkopling<br />

JSH<br />

Beregning<br />

Tanken bak en ideell foroverkopling er å gi foroverkoplingsregulatoren en<br />

overføringsfunksjon som gjør at utsignalet fra prosessen ikke er påvirket av<br />

forstyrrelsen. Denne er ikke alltid fysisk realiserbar, men brukes ofte til å gi en<br />

pekepinn på hvordan regulatoren kan gjennomføres.<br />

26


Resultat<br />

Gruppen har funnet frem til en modell som tilsynelatende er en god representasjon<br />

for den reelle prosessen. Denne modellen er brukt til simuleringer ved hjelp av<br />

pr<strong>og</strong>rammet Simulink <strong>og</strong> det er funnet tilfredsstillende verdier for<br />

regulatorparameterene.<br />

PI-regulatorens beste verdier er Kp = 2,7 <strong>og</strong> Ti = 35.<br />

PD-regulatorens beste verdier er Kp = 0,15, Td = 20, n = 10<br />

Det er gitt krav om at nivået i tanken skal reguleres stabilt <strong>og</strong> raskest mulig ved<br />

eventuelle sprang i utløpet. Hurtigheten er definert som tiden det tar før prosessens<br />

avvik er stabilt innenfor 2 % av maksimalt måleområde.<br />

Ved hjelp av foroverkobling blir krav som er stilt til hurtighet <strong>og</strong> stabilitet i tankens<br />

nivå oppfylt tilfredsstillende ved de foreslåtte regulatorparameterene under<br />

simulering.<br />

BM; JSH<br />

29


Litteraturliste<br />

DE Seborg, TF Edgar, DA Mellichamp, FJ Doyle III, Process Dynamics and Control,<br />

3d edn, John Wiley & Sons (Asia) Pte Ltd, China, 2011<br />

K Bjørvik & P Hveem, Reguleringsteknikk, Kybernetes Forlag, Trondheim, 2012<br />

P Hveem & AS, Tips til prosjekt i <strong>Styresystemer</strong> våren 2012, lastet ned 20.3.2013,<br />

https://www.itslearning.com/file/download.aspx?FileID=2371492&FileVersionID=-1<br />

(Begrenset tilgang)<br />

30

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!