Totankprosjektrapport

Høgskolen i Sør-Trøndelag
Totankprosjektrapport
Prosjektoppgave i Styresystemer 2AEL13H våren 2015
Gruppe 5 & 6
Emil Hatletveit
Kristian Strøm
Terje Magnus Sørensen
Stian Berg Dyrnes
Snorre Vongraven
Andreas Haugen
Roy Kenneth Solvang
Jørgen Nordvik Aasen
Andreas Stahl Rød
Knut Marius Røsberg
Fredrik Løkken
Michael-Alexander Mcgrory
07.05.2015
ii
Forord – AH
Alle studenter ved automasjonslinjen ved HiST gjennomfører i fjerde semester et større
prosjekt i faget Styresystemer og Reguleringsteknikk. Prosjektet har som hensikt å gi
studentene trening i samarbeid, rapportskriving og praktisk problemløsning, samt øke den
faglige kompetansen hos alle involverte.
I totanksprosjektet har gruppe 5 og 6 blitt slått sammen for å løse problemet å regulere
nivået i begge tankene på tankriggen. I denne rapporten er det gitt en detaljert beskrivelse
av hvordan totanksprosjektet er blitt utført. Slik at det er mulig for en ingeniør eller student
som kommer fra en lignende eller tilsvarende utdanningsbakgrunn skal kunne forstå
hvordan kommunikasjonen og nivåreguleringen fungerer i vårt system.
Rapporten består av arbeid utført i InTouch, iX-Developer, Master-PLS og Slave-PLS’ene. Det
er i tillegg beskrevet hvilke bonusoppgaver gruppene har valgt og hvordan de har blitt løst.
iii
Sammendrag – TMS
Denne rapporten har som formål å dokumentere totankprosjektet, som er en del av
prosjektoppgaven i faget styresystemer og reguleringsteknikk.
Vi skal i løpet av dette prosjektet regulere to forskjellige varianter av væsketanker, først med
en tank, og deretter med to tanker. Disse tankene skal reguleres ved hjelp av to PLS-er.
Begge disse PLS-ene er styrt av en tredje PLS, som også er programmert i Gx Works2. Det
skal i tillegg lages et brukergrensesnitt både på PC og på brukerpanel.
Hensikten med totankprosjektet var å nivåregulere to væsketanker ved hjelp av PLS-er.
Hvordan dette er gjort er delt opp i flere elementer:
-
Bestemme hvem som har ansvar for den enkelte delen av prosjektet.
-
Velge ut det beste fra hver gruppe på PLS-program og HMI-grensesnitt.
-
Programmering av PLS-er.
-
Utarbeiding av IX-panel og InTouch.
-
Det ble avsluttet med at begge gruppene gjorde en bonusoppgave hver.
o Gruppe 5; IP-Kamera
o Gruppe 6; Autotuning
Vi har i tillegg oppdatert nettsidene som rapportene blir lagt ut på. Det er med en
prosjektstyringsdel for begge gruppene, som sier hvordan prosjektet ble gjennomført. I
prosjektsyringsdelen er det også med en oppdatert kurve for arbeid i forhold til planlagt.
Totankprosjektet ble avsluttet med demonstrasjon. Nivåreguleringen i systemet ble funnet
tilfredsstillende og brukergrensesnittet brukervennlig, gruppene kan gjøre seg klar for
innlevering av tidsskrift og prosjektpresentasjon.
iv
Innhold
Forord – AH ______________________________________________________________________ iii
Sammendrag – TMS _______________________________________________________________ iv
1 Innledning ______________________________________________________________________ 1
1.1 Oppgavetekst – TMS __________________________________________________________ 1
1.2 Definisjoner – TMS ___________________________________________________________ 2
1.3 Prosjektmål – AH _____________________________________________________________ 4
1.3.1 Prosessmål ______________________________________________________________ 4
1.3.2 Resultatmål______________________________________________________________ 4
2 Teknisk del _____________________________________________________________________ 5
2.1 PLS-programmer og regulatorinnstillinger tank 1- EWH/KR/RS _________________________ 5
2.1.1 PLS-programmer__________________________________________________________ 5
2.1.2 Sprangrespons tank1, LV1 og LT1 ____________________________________________ 14
2.1.3 Førsteordensapproksimasjon FOPDT (First order plus dead time) __________________ 15
2.1.3 Regulatorinnstillinger for tank 2_____________________________________________ 17
2.1.4 Hysterese ______________________________________________________________ 19
2.2 IX-panel – AR, TMS, JA ________________________________________________________ 22
2.2.1 Kravspesifikasjoner _______________________________________________________ 22
2.2.2 Tags___________________________________________________________________ 23
2.2.3 Utforming og design ______________________________________________________ 24
2.3 InTouch ___________________________________________________________________ 27
_____________________________________________________________________________ 33
2.3.1 Sending av verdier _______________________________________________________ 34
2.3.2 IP Kamera ______________________________________________________________ 35
2.3.3 Alarmer ________________________________________________________________ 37
2.3.4 Definering av alarmer _____________________________________________________ 37
2.3.5 Sikkerhet _______________________________________________________________ 38
2.3.6 Access Level ____________________________________________________________ 39
2.4 Bonusprosjekt gruppe 5 – IP-Kamera – AR ________________________________________ 41
2.4.1 Oppsett: _______________________________________________________________ 41
2.5 Bonusprosjekt gruppe 6 – Autotuning ___________________________________________ 44
2.5.1 PLS-kode – SBD __________________________________________________________ 44
2.5.2 Betjening av autotuning i intouch – KS _______________________________________ 51
v
3 Prosjektstyring gruppe 5 _________________________________________________________ 52
3.1 Deltagere __________________________________________________________________ 52
3.2 Tidsbruk – KR _______________________________________________________________ 53
3.3 Prosjektstyring og samarbeid – AR & KR __________________________________________ 54
4 Prosjektstyring gruppe 6 _________________________________________________________ 55
4.1 Deltagere __________________________________________________________________ 55
4.2 Tidsbruk –TMS ______________________________________________________________ 56
4.3 Prosjektstyring og kvalitetssikring – SV ___________________________________________ 56
4.3.1 Statusrapportering _______________________________________________________ 56
4.3.2 Standardiserte skjemaer __________________________________________________ 57
4.3.3 Versjonskontroll _________________________________________________________ 57
4.3.4 Tester og sjekklister ______________________________________________________ 57
4.4 Prosjektstyring og samarbeid – SV & KS __________________________________________ 58
5 Prosjektstyring totank – AR & KR ___________________________________________________ 59
6 Konklusjon – SV ________________________________________________________________ 60
7 Litteratur – TMS ________________________________________________________________ 61
8 Vedlegg _______________________________________________________________________ 62
vi
1 Innledning
1.1 Oppgavetekst – TMS
I denne delen av prosjektet skal vi bruke nivåregulering for å få ønsket væskenivå i to tanker.
Dette skal gjøres via regulatorer som er bygd opp i to PLS-er. Du skal ha mulighet til å
regulere nivået i tanken med P- eller PI-regulator. I tillegg til dette skal det være mulig å
bruke foroverkopling fra forstyrrelsen i tank 2. Foroverkoplingen skal kunne brukes som P-,
D- eller PD-regulator. Du skal bruke pådrag fra regulatoren til å styre ventilene på innløpet.
Om det er tid skal gruppene gjennomføre et bonusprosjekt, der står gruppene fritt til å velge
mellom noen utvalgte oppgaver. For gruppe 5 ble bonusprosjektet oppsett av riggovervåking
via et IP-Kamera, mens gruppe 6 valgte autotuning som bonusoppgave.
Figur 1 – Oversiktsbilde kobling mellom PLS-rig og tank-rig
1
1.2 Definisjoner – TMS
AD/DA-omformer: Analog-Digital Digital-Analog, Elektrisk krets som gjør om fra analog
signal til binære verdier, og motsatt.
HMI: Human Machine Interface. Grensesnittet som brukeren presenteres for når han/hun
skal bruke en datamaskin for å utføre en oppgave. Brukergrensesnittet er bare en del av et
dataprogram (InTouch).
It's Learning: Nettportal tatt i bruk av HiST hvor man kan legge ut filer og faginformasjon.
Matlab/Simulink: Program for programmering, brukt for modellering og simulering.
GX Works2: Program for programmering av PLS.
HiST: Høyskolen i Sør-Trøndelag.
InTouch: Program for å konstruere brukergrensesnittet for operatør på PC.
iX Panel TA100: Operatørpanel festet på PLS-rigg, med berøring og farge skjerm.
PLS: Programmerbar Logisk Styring. En datamaskin med inn- og utganger som du kan koble
deg på. Vi benytter to typer under prosjektet to FX1N og en Q00.
Samplingstid: Tiden mellom hver gang AD-omformeren gir et signal binært signal, fra et
analogt signal.
Bit: Enhet for digital informasjon. Kan ha verdien 0 eller 1 (av/på), kan lagre en boolsk verdi.
Kan behandles i grupper på 4 (kvartett – K1), 8 (byte – 1B), 16 (word/dataord) og 32 (double
word).
Boolsk variable: Variabel som kan ha to verdier 0 eller 1 (av/på).
Bufferminne: Lagringssted for digital informasjon. I PLS-modulene er bufferminnet
nummerert (D0), alle bufferminner inneholder 16 bit.
I/O – Input/Output: Innganger og utganger på datamaskiner.
LD/ FBD – Ladderdiagram/Funksjonsblokkdiagram: Grafiske programmeringsspråk for PLS.
IL – Instruksjonsliste: Tekst basert programmeringsspråk for PLS.
Minne: Ligningssted for digital informasjon. For eksempel 1-bits minneceller (M0) og 16-bits
dataregister (D0).
POU: Program Organisation Unit, delprogram i GX Works2. Bygd opp av for eksempel
Ladderdiagram.
Tag: Digital merkelapp. Brukes for å linke dataregister, minneceller eller andre verdier for å
gi bedre oversikt i programmeringen.
2
Anti-aliasingfilter: Elektronisk filter bygd opp av operasjonsforsterker, motstand og
kondensator. Filteret er et lavpassfilter som vil ta bort høyfrekvent støy for å hindre
nedfolding (uønskede lave frekvenser på målingene som skyldes sampling).
Foroverkobling: En reguleringsmetode som legges til pådraget for raskere kompensering av
forstyrrelser hvor du måler forstyrrelser (kan også kombineres med matematisk modell).
Foroverkobling kombineres som regel med tilbakekoblingsregulator (PID). Eventuelle feil i
foroverkoblingen vil da kompenseres av tilbakekoblingen.
PI-regulator: Proporsjonal- og Integral-regulator. Elektronisk styreenhet som du
programmerer med en matematisk algoritme med forskjellige operasjoner. For å regulere
prosessen via pådraget.
PD-regulator: Proporsjonal- og Derivat-regulator. Elektronisk styreenhet som du
programmerer med en matematisk algoritme med forskjellige operasjoner. For å regulere
prosessen via pådraget.
3
1.3 Prosjektmål – AH
1.3.1 Prosessmål
Gruppemedlemmene skal:

Få økt kunnskap og erfaring innenfor prosjektplanlegging og prosjektstyring.

Få bedre erfaring med gruppearbeid, og sammen sørge for at prosjektgruppens
resultatmål blir oppnådd.

Kunne skrive gode rapporter og presentere innholdet.

Kunne anvende teorien fra de forskjellige delene av faget Styresystemer på et
praktisk problem.
1.3.2 Resultatmål
Prosjektgruppene skal:

Utarbeide og programmere regulator system i PLS

Regulatoren skal programmeres slik at den skal kunne brukes som P- og PI-regulator
med rykkfri over gang ved bytte av regulatortype.

Utarbeide og programmere et brukergrensesnitt ved hjelp av InTouch(PC) og et
operatørpanel av typen iX Panel TA100. Her skal prosessen kunne overvåkes og
styres etter gitte operatørspesifikasjoner

Lage et intuitivt brukergrensesnitt med mulighet for forskjellig operatør innlogging.

Kunne bruke autotuning på tank 1 til forslag for regulatorinnstillinger.

Bruke webkamera til å overvåke tankriggen.

Levere fullstendig dokumentasjon av alt utført arbeidet.

Levere alle rapporter innen leverings frist.

Sørge for at alle deltakerne er kjent med de forskjellige delene av prosjektet.

Kunne redegjøre for framgang av prosjektet til veileder ved prosjektmøter.
4
2 Teknisk del
2.1 PLS-programmer og regulatorinnstillinger tank 1- EWH/KR/RS
2.1.1 PLS-programmer
Når vi skulle slå sammen regulatorprogrammene fra gruppe 5 og gruppe 6, ble vi enige om å
begynne med å lage to felles lister for de to slavene. Dette gjorde vi for å få en god og
oversiktlig plan over hvilke minneceller og dataord som ble brukt, og for å se hvilken
informasjon vi måtte kommunisere mellom slavene og masterPLSen. I figurene under vises
listene for slave 1 og slave 2 respektivt.
Figur 2 – Liste over minneceller og dataord til slave 1
5
Figur 3 – Liste over minneceller og dataord til slave 2
Som figurene over viser, har vi en komplett oversikt over minnecellene og dataordene som
blir brukt til å sende bit-verdier og tallverdier opp og ned fra slavene. Her måtte vi også ta
hensyn til at de som jobbet med InTouch-programmet fikk den samme oversikten, slik at de
kunne sette opp taglisten riktig i OPC-serveren.
Vi ble enige om at gruppe 5, med sin regulator fra entanktprosjektet, skulle regulere tank
1via slave 1, og at gruppe 6, med sin regulator, skulle regulere tank 2 via slave 2. Vi valgte
videre å bruke masterprogrammet fra gruppe 5 som mal, og utvidet dette til å gjelde to
regulatorprogrammer i hver sin slave. Dette forenklet prosessen, da vi i utgangspunktet ikke
behøvde å endre på mye annet enn adressene og dataordene. Under ser vi at
masterprogrammet er så å si uendret fra entankprosjektet, bortsett fra endringene som er
gjort i adresseringene. I figurene som følger vises de resterende delene av
masterprogrammet. Som vi ser er disse godt dokumentert gjennom kommentarfelter. Dette
gjør programmet oversiktlig og lett å sette seg inn i både for gruppemedlemmene fra begge
gruppene, så vel som for veiledere.
6
Figur 4 – POU for slave 1 i masterprogrammet
Figur 5 – POU for slave 2 i masterprogrammet del 1
7
Figur 6 – POU for slave 2 i masterprogrammet del 2
Sett bort ifra disse endringene i master-programmet, er det ikke gjort noen endringer i
regulatorprogrammene. Disse fungerer på akkurat samme måte som i entankprosjektet,
bortsett fra at de nå styrer hver sin innløpsventil til de to tankene.
Den eneste vesentlige endringen som er gjort i slaveprogrammene er alarmprogrammet.
Dette måtte endres slik at alarmtilstander fra begge tankene ble varslet med lyssignal fra
lampen på riggen. Dette løste vi ved å endre alarmprogrammene etter mal fra gruppe 6 sitt
program, slik at de ble lik for begge tankene. Deretter la vi de modifiserte
alarmprogrammene i slave 1, der lampen styres fra.
I bildene som følger ser vi alarmprogrammet for tank 2, og hvilke funksjoner dette har. Dette
er løst på nøyaktig samme måte for tank 1 og tank 2, så det er kun tatt med bilder av det ene
programmet.
8
Figur 7 – Alarmprogram for tank 2 del 1
9
Figur 8 – Alarmprogram for tank 2 del 2
10
Figur 9 – Alarmprogram for tank 2 del 3
Vi lagde også en felles POU for alarmaksjoner, som skulle sikre at begge programmene skulle
fungere sammen og parallelt med hverandre. Her har vi blant annet lagt inn timere som
styrer blinkefrekvensen til alarmlampen ved de forskjellige alarmtilstandene i begge
tankene. Vi har også lagt inn funksjonen med fast lys på alarmlampen ved en stående
kvittert alarm. Dette programmet vises i figurene nedenfor.
11
Figur 10 – POU for alarmaksjoner del 1
Figur 11 – POU for alarmaksjoner del 2
12
Figur 12 – POU for alarmaksjoner del 3
Figur 13 – POU for alarmaksjoner del 4
Dette er en oppsummering av endringene som er gjort i PLS-programmene, og det viser at
det er nesten ingen endringer på selve slaveprogrammene. God kommunikasjon mellom
gruppene har bidratt til en smidig omstilling fra regulering av en tank, til regulering av begge
tankene samtidig.
13
2.1.2 Sprangrespons tank1, LV1 og LT1
Tank1 skal i totankprosjektet reguleres, utgangspunkt for reguleringsparametre blir utregnet
på grunnlag av FOPDT og ITAE kriteriet.
Figur 14 – Sprangrespons fra trendvindu i InTouch
14
2.1.3 Førsteordensapproksimasjon FOPDT (First order plus dead time)
Figur 15 – Prinsippskisse FOPDT
Figur 16 – Målepunkt for FOPDT
TC =
, der y er nivåendring og x er sprangendring
15
Figur 17 – ITAE tabell
Parametre for PI-regulator beregnet for forstyrrelser i utløp:
P=
0.9828
I=
25.8456
Parametre for PI-regulator beregnet for forstyrrelser i referansen:
P=
0.757
I=
15.398
16
2.1.3 Regulatorinnstillinger for tank 2
Her besluttet vi å gjøre nye utregninger for regulatorinnstillingene til tank 2. I
entankprosjektet brukte vi frekvensanalyse til å finne regulatorinnstillingene, mens vi denne
gang besluttet å bruke FOPDT, med ITAE-kriteriet. Her er det også interessant å se om det
blir noen store differanser i resultatet i forhold til frekvensanalysen, og om resultatet blir
bedre eller verre.
Først tar vi utgangspunkt i denne sprangresponsen ved sprang i referansen:
Figur 18 – Sprangrespons på tank 2
17
Her gjør vi den samme operasjonen som i forrige avsnitt, og vi bruker FOPDT-tilnærming.
Figur 19 – Målepunkt for FOPDT
TC =
Parametere for PI-regulator beregnet ved sprang i referanse:
Kp=
Ti =
7.7
4.4
Ved testing av disse parameterne, viser det seg at de fungerer bra. Både Kp og Ti er svært lik
den vi regnet ut i simnotatet i entankprosjektet. Følgelig blir innsvigningsforløpet veldig bra
med disse instillingene.
18
2.1.4 Hysterese
Innløpsventilen LV1 på tank 1 har vist seg å være litt vanskelig å regulere på grunn av
hysterese. Derfor mener vi det er viktig å skrive ett lite notat om akkurat denne
problematikken.
«Hysterese, det fenomen at en tilstandsendring som følge av en ytre påvirkning ikke
forsvinner når påvirkningen fjernes, men først etter at en motsatt rettet påvirkning har
virket med en viss styrke.» (Jakob Sandstad, https://snl.no/hysterese 06.05.2015)
For ventilen betyr det at vi ikke får reaksjon umiddelbart dersom ventilpådraget endrer
retning. Hysteresen i ventilen skyldes muligens variasjon i friksjonskrefter (statisk friksjon og
glidefriksjon).
Når ventilen står i ro vil vi få statisk friksjon som er større enn glidefriksjonen. For å få
bevegelse i ventilen trengs det litt ekstra krefter (pådrag) for å overvinne den statiske
friksjonskraften. Når vi tilfører tilstrekkelig kraft vil vi få bevegelse. Ettersom glidefriksjonen
gir mindre motstand vil vi oppleve oversving.
19
Dette resulterer i to problemer:
1. Endringen i ventilåpning tar tid.
2. Vi får for mye pådrag, dersom retningen på ventilåpningen endres.
Dette resulterer i en treg regulering av prosessen.
Friksjonskreftene tror vi delvis skyldes avleiringer og slitasje i ventilen, mistanken er på
grunnlag av forurenset vann og mistanke om lite vedlikehold.
Figur 20 – Prinsippskisse av ventil
“Hysteresis is normally caused by the force that appears every time the valve stem is going
to be reversed, ie moved in a direction opposite to the previous direction of movement.
Valve experts have described static frictional force as the amount of force needed to bend
the end-fibres of the packing material in contact with the valve stem in the new direction of
motion. Once the static frictional force has been overcome by energy provided by the
motive power of the actuator and the stem actually starts moving, the static friction force
disappears and is replaced by a sliding frictional force which is very much less than the
original static friction
Subsequent equal movements of the valve stem in the same direction will then generally be
greater as the static friction has now disappeared, and all the energy produced in the
actuator now goes directly into moving the valve stem. It only reappears again on the next
valve reversal. Any deadband (mechanical play or backlash) in the mechanisms of the valve,
actuator and positioner combination, adds to the hysteresis effect when reversing the valve.
Hysteresis and deadband increase control variance. In the case of self regulating processes
they increase the time that the controller needs to make corrections for a load disturbance or
20
setpoint change, because every time the controller has to reverse the valve, the controller
has to move the PD (controller output), through the full hysteresis range before the valve will
move in the opposite direction. As this movement of the PD is performed at the integral term
ramp rate, which gets less and hence slower, the closer the PV gets to setpoint, it can take a
very long time for the process to finally actually settle out at setpoint.”
(Michael Brown Control Engineering ,
http://www.instrumentation.co.za/regular.aspx?pklregularid=546 06.05.2015)
Det går an å måle en hystereseprosent, dette gjøres ved å kjøre sprang i referansen den ene
veien, f.eks fra 50% til 40% deretter fra 40%til 50% igjen. Hysteresen vil da vises som offset
på aktuatoren i forhold til ventilpådraget. Prosessen må selvfølgelig gjentas for å få mer
nøyaktig resultat.
I følge Michael Brown Control Engineering er hysterese inntil 1% er akseptabelt,
dersom hysteresen blir større må det gjøres tiltak, evt. skifte ventil.
I totankprosjektet fant vi ikke tid til å gjøre disse målingene, vi fant heller ingen måte å
hanskes med hysteresen på bortsett fra tiltakene nevnt tidligere.
21
2.2 IX-panel – AR, TMS, JA
2.2.1 Kravspesifikasjoner
Oppgaven ga noen spesifikke krav til hva som måtte være med på panelet. Kravene er vist i tabell 1.
Variable
Referanse til tank 1
Referanse til tank 2
Manuelt pådrag til tank 1
Manuelt pådrag til tank 2
Omstilling fra manuelt pådrag til automatisk
nivåregulering for tank 1
Omstilling fra manuelt pådrag til automatisk
nivåregulering for tank 2
Pådrag for tank 1
Pådrag for tank 2
Nivå i tank 1
Nivå i tank 2
Melding om alarmer fra tank 1
Melding om alarmer fra tank 2
Kvittering av alarmer fra tank 1
Kvittering av alarmer fra tank 2
Start/stopp pumpe
Skrives
X
X
X
X
X
Leses
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Tabell 1 - Tabell som viser ønskede skrive- og leserrettigheter for operatørpanelet
Det er også slik at det skal være mulig å styre panelet fra webserveren.
22
X
2.2.2 Tags
De verdiene vi ønsker å sette og lese hos PLS-ene må legges inn som tags i iX Developer. Dette gir tag
listen vist i figur 21. Vi skriver direkte adressen på det minnet vi ønsker å lese/skrive til PLS-en..
Figur 21 – Tagliste IX-panel
I tag listen ser man også adressen og datatypen som er brukt i Master PLS-en (Melsec Q00). Dette ser
du under «Contollers». Under «Tag» feltet ser man navnet på taggen internt i programmet og
datatypen det skal behandles som.
Når vi nå har satt opp de objektene vi ønsker å benytte på panelet må vi knytte de opp mot tiltenkte
funksjoner. Vi gjør dette ved å velge hvilken tag objektet skal knyttes til og funksjonen til tagen.
23
2.2.3 Utforming og design
Siden operatørpanelet er ganske lite ble det bestemt at vi skulle lage et oversiktsbilde for de to
tankene, med bare den viktigste informasjonen. Om man ønsker å se med detaljert må man på
menylinjen nederst på skjermen velge hvilken tilleggsinformasjon som er ønskelig.
Figur 22 – Oversiktsbilde operatørpanel
Om du velger tank 1 på menylinja på oversiktsbildet vil du få opp dette vinduet. Hvor du har mulighet
til å gjøre alle innstillinger for tank 1 samt komme deg til alarmoversikten, trendvinduet for tank 1 og
hjelpe funksjonen.
Figur 23 – Operatørside for tank 1 IX-panel
24
Du har mulighet får å få opp et trendvindu for hver av tankene på IX-panelet. I Trendvinduet får du
tegnet, pådraget, referanse og nivå.
Figur 24 – Trendvindu IX-panel
Det er mulighet å få fram et hjelpvindu fra alle sider dette vil se slik ut:
Figur 25 – Hjelpvindu IX-panel
25
Det er spesifikt satt krav til hvordan alarmene skal fungere. Det er laget en alarmlampe som lyser på
alle skjermer, men du må til alarmvinduet for å kunne kvittere alarmene. Det er lagt til et alarmlys for
alarmer som blir kvittert i alarmtilstand som vil lyse til du er ute av tilstanden igjen.
Figur 26 – Alarmvindu IX-panel
26
2.3 InTouch
Når begge tankene skulle styres ble det laget ett nytt grensesnitt i intouch, bestående av de
beste elementene fra begge gruppene. Figurer for tanker, ventiler og lignende kommer fra
gruppe 5, mens felt for regulatorinnstillinger ble hentet fra gruppe 6. Virkemåte er stort sett
lik som i gruppe 5 sitt entankprosjekt.
På samme måte som i entankprosjektet skal det også være mulighet for å logge inn som tre
forskjellige operatører, som har forskjellig grad av mulighet for styring av de forskjellige
parameterne. Se entankrapport for mer detaljert informasjon om resirkulerte funksjoner.
Grensesnittet inneholder nå også mulighet for å aktivere bonusoppgaver. Gruppe 5 har laget
kameraovervåkning, som finnes i hovedmenyen. Gruppe 6 har laget autotuning av sin
regulator, som regulerer tank 2, denne aktiveres fra vinduet for regulatorinnstillinger.
For å få frem all informasjon så ryddig og oversiktlig som mulig fant vi ut at vi skulle benytte
oss av begge skjermene vi hadde til rådighet. Vi endte opp med selve prosessen og menyen
på den ene, og grafer og alarmliste på den andre.
Ved starten av totank prosjektet måtte det lages et nytt brukergrensesnitt, det skulle utvides
til to tanker istedenfor en. Vi slo sammen noen fra hver gruppe og plukket ut det beste fra
begge prosjekter, som vi satte sammen til et nytt brukergrensesnitt med to tanker.
I InTouch er det laget et passende brukergrensesnitt som skal simulere prosessen som skjer
på tankriggen. Det er satt opp et hovedvindu og flere «undervinduer» som skal åpnes etter
hvilken knapp en trykker på. Hovedvinduet inneholder pumpa, to ventiler, to tanker, tre
magnetventiler på utgangen av tank nummer 2, en ventil under tank nummer 1,
foroverkobling, nivåmålere, flowmåler, et trendvindu som grafisk viser nivået for hver av de
to tankene, referansen i tankene og ventilpådraget, en liste over alarmer, en meny med
knapper som åpner forskjellige vinduer. Øverst til høyre i vinduet på den ene skjermen kan
operatøren se hvem som er logget inn, et display med tid og dato og en knapp for å logge ut.
27
Figur 27 – Hovedvindu
I figuren vises hovedvinduet av brukergrensesnittet hvor en har mulighet til å kontrollere
prosessen. I hovedvinduet kan man klikke seg inn på forskjellige ruter for å endre
parametere, som referanse, Kp, Ti, valg mellom P-regulator og PI-regulator og valg mellom
direkte og reversert regulering.
I figuren ser vi tankene fra hovedvinduet. Her kan vi se at det er nivået i tankene som vises i
de blå søylene til venstre i tankene. Når InTouch kobles opp mot OPC Beijer og tankriggen,
vil dette nivået følge det reelle nivået i tanken. Nivået vil være ganske nøyaktig det samme
vist i InTouch som det er i tanken. Den røde streken som vises i figuren er referansen satt i
InTouch eller i IX-panelet. Det er satt inn to slidere, i form av trekantene som inneholder en
prosentverdi som viser prosentverdien for referansen satt i tankene. For brukeren med mest
tilgang vil sliderene være funksjonell og det vil da være mulig å endre referansen ved hjelp
av denne, uten å måtte klikke seg inn på parametervinduene.
28
Figur 28 – Trends i hovedvindu
I hovedvinduet er det vist tre trendvinduer. Her kan vi lese og ha full kontroll på hvordan
prosessene i tankene fungerer. Den røde linjen er for referansen, den blå er for nivået i
tanken og den grønne linjen er for ventilpådraget. Her kan vi se hvordan prosessene
oppfører seg over en gitt tidsperiode. På x-aksen vises trendvinduet over de siste 2
minuttene, dette gjør da at hver av de fire rutene som vises i figuren tilsvarer 30 sekunder.
Det er laget et eget vindu som heter Trends 1 og Trends 2 der en kan se prosessene for de to
tankene over de siste 10 minuttene.
Figur 29 – Parameterknapper
29
For å endre parameterne til prosessen er det opprettet to knapper i hovedvinduet for hver
av de to tankene, som åpner et nytt vindu der en kan velge de forskjellige verdiene for Kp, Ti
og lignende. Her har det i totank delen blitt laget to identiske knapper for
parameterinnstillingene. De er blitt navngitt som LIC1 og LIC2. Disse knappene fungerer som
forklart i entankrapporten, for gruppe 5, på side 69.
Figur 30 – Innlogging
I InTouch er det laget et verktøy for innlogging, hvor forskjellige brukere har tilgang til å sette
og lese for eksempel om regulatoren står i P- eller PI-regulering. Dette gjelder for begge
parameterknappene. I figuren kan vi klikke på knappene for parametere for så å komme inn
til valg av parametere. Man kan her lese hvilken tilstand regulatoren står i, altså om
regulatoren står i P- eller PI-regulering og om den står i auto eller manuell. Inne i
parametervinduene kan en av operatørene endre på om regulatoren skal stå i P- eller PIregulering og to av operatørene kan velge om regulatoren skal stå i manuell eller auto
regulering. I figuren kan også operatørene lese referansen og pådraget i tankene under
reguleringen.
30
Figur 31 – Parametervinduer
I figuren ser vi vinduene for parameterinnstillinger. Her kan vi sette parameterne for
regulatorene. Når dette bilde vises kan vi se at det er flere knapper i vinduene. Her kan vi
velge at regulatorene skal ha direkte eller reversert regulering. På dette bilde ser vi at begge
regulatorene står i auto med PI-regulering. Måten dette er satt opp på er forklart i
entankrapporten, for gruppe 5, på side 77.
Figur 32 – Manuellparametere
Dette er vinduet for manuellparametere. Her kan vi se de parameterne som kan endres når
regulatorene står i manuell. Ved å sette regulatorene i manuell kan en styre ventilene
manuelt slik at testing av reguleringen kan enklere gjennomføres. Ved å trykke knappen som
heter Auto vil en sette regulatoren tilbake til automatisk regulering. Når regulatorene går fra
manuell til auto vil regulatorene gå til den tidligere tilstanden den hadde før
manuellregulering ble valgt. Det er laget en funksjon i PLSen som gjør dette mulig.
31
Scriptene i det nye brukergrensesnittet er litt endret, som for eksempel for
parametervinduene. Da vi slo oss sammen med gruppe 6 fant vi ut at de hadde multiplisert
verdiene av Kp og Ti på en enklere måte. Så vi valgte derfor å bruke deres måte. Hvor de ikke
brukte script, men endret dette direkte i tagen. Dette er vist i figuren under.
For foroverkoblingen ble vi enig i å bruke det som ble gjort for gruppe 5 i entankrapporten.
Dette er knappen for foroverkobling. Denne fungerer som en knapp i likhet med
parameterknappen. Her er det også mulig å lese verdiene for Kp_FF og TD_FF. Ved å trykke
på denne knappen blir man sendt videre til vinduet for foroverkobling.
Figur 33 – Foroverkoblingsknapp
Figur 34 – Foroverkoblingsparametere
32
Her er det muligheter for å aktivere foroverkobling. Dette er kun mulig for den ene tanken,
det er for tank to. Ved å klikke på de forskjellige knappene for regulering nede til venstre i
figuren, settes den type foroverkobling som velges. Her gjelder det samme for sending av
disse verdiene som i parametervinduet. Det sendes pulser ned til PLSen som sender
tilbakemelding om type valgt foroverkobling. På dette bildet er det valgt foroverkobling av
typen Dff – regulering. Her kan du også endre parameterne i den øvre delen av vinduet.
Foroverkoblingen vil bli deaktivert enten ved å trykke på ”All Off” knappen nede til venstre i
figuren og ved å velge P- eller PI-regulering.
Det skal lages historiske trender slik at operatøren som nå logger seg inn på neste skift kan
se hvordan det har gått de siste 10 minuttene i de to tankene. Her vil man kunne se om det
har vært noen endringer i sprang eller forskjell i nivåene. Det er fullt mulig å endre hvor langt
tilbake man ønsker å se. Dette gjøres ved å trykke på trendvinduet. Det vil da åpne seg en
meny. Under ”Chart Lengths” kan man velge hvor langt tilbake man kan se i trendvinduene.
Det er laget et trendvindu for hver av tankene. I hovedvinduet ser vi at det er to knapper
som henholdsvis heter ”Trends 1” og ” Trends 2”, det er disse man trykker på for å få åpnet
vinduene for trendvisningen.
Det er også mulighet for å lagre trendvinduet. Dette gjøres ved å trykke nederst på vinduet
der det står ”save to file”. Hvis man ønsker å benytte en annen lagringsplass enn det som er
oppgitt kan man trykke på ”Filename” og sende filen dit man ønsker.
I figurene under vises de to historiske trendene, Historisk trend1 og Historisk trend2.
Figur 35 – Historisk trend 1
33
Figur 36 – Historisk trend 2
2.3.1 Sending av verdier
For at tankene skal fungere på en uforstyrret måte fra entankprosjektet sammen med
bonusoppgaven har vi valgt
Sending av verdier ned til PLS-ene foregår på forskjellige måter fra tank-1 og tank-2. Dette er
fordi at ved noen tilfeller ønsker vi kun å sende pulser og ved andre tilfeller ønsker vi å sende
faste verdier. Ved for eksempel setting av tanken bruker vi funksjonen ”toggle” som sender
verdien ”TRUE” eller ”FALSE” konstant. Ved andre tilfeller sender vi en puls som setter
verdien høy en gang, ellers holder den seg lav. Dette gjøres ved for eksempel om tanken skal
stå som P- eller PI-regulator.
Figur 37 – Pulssending av verdier. sender høy verdi en gang
34
Ved at vi sender pulser ned til PLS-en trenger vi også en tilbakemelding fra slave-enhetene
som bekrefter at verdien har blitt satt. Dermed har vi en tag som sender verdier ned til PLSene og en verdi som mottar fra PLS-ene inn til InTouch. Ved å sende verdier på denne måten
får vi en bekreftelse på at verdien har faktisk blitt satt i slave-PLS-ene. Dermed har vi full
kontroll på tilstanden til riggen.
2.3.2 IP Kamera
Når det gjelder bonusoppgaven har vi satt opp et IP kamera som skal vises både på nettsiden
og i InTouch. (For oppsett av selve IP kamera se kapittel 2.4).
For oppsett av IP kamera i InTouch har vi valgt å sette det inn i et nytt vindu som er
tilgengelig fra Hovedvinduet. I dette vinduet krever InTouch at vi setter inn en ekstra ActiveX
kontroll som kan åpne nettleseren til IP kamera.
Før vi kan sette inn IP kamera krever InTouch at vi installerer en nettleser som kan åpne
programmet til IP kameraet.
Først må vi klikke inn på Special / Configure / Wizard/ActiveX Installation.
Velg så ActiveX Control Installtion tabben øverst.
Under menyen ”Available ActiveX controls” blar vi oss ned til ”Microsoft Web Browser” og
trykker Install.
Microsoft Web Browser skal nå være i menyen ”Installed ActiveX controls”.
Vi har nå muligheten til en nettleser i InTouch.
Denne ligger inne på wizard selection / activeX Controls / Explorer. Denne setter vi i det
vinduet vi ønsker å ha IP kameraet vårt.
35
Figur 38 – Visning av IP kamera i InTouch
Det eneste som mangler for å få nettsiden til IP kameraet er vinduscriptet til IP kamera. I
script vinduet trykker du på insert / ActiveX… velg Explorer1 og navigate. I parantesen setter
settes adressen til IP kameraet som vist på figuren under. Oppsettet er nå ferdig og skal ha
tilgang til å se og styre IP kamera fra InTouch.
Figur 39 – Scriptet til IP kamera i Intouch
36
2.3.3 Alarmer
Alarmer er en advarsel at en prosess har oversteget sin normaltilstand og krever
operatørens oppmerksomhet og handling. En alarm skal bli satt når en prosessverdi
overstiger den brukerdefinerte grensen. I vårt tilfelle er det to krav til alarmer. Det skal være
en avviksalarm og to grensealarmer. Det skal gå en alarm dersom nivået avviker mer enn
25% fra referansen (25% av totalt måleområde.) Grensealarmer skal aktiveres dersom nivået
i tanken overstiger 90% eller går under 10%.
2.3.4 Definering av alarmer
For at vi skal lettere gjenkjenne alarmene kan vi definere de forskjellige alarmtypene. ved
kritisk alarm har vi to forskjellige alarmer. En når alarmen kritisk høy og kritisk lav. For å se
forskjell på disse kan vi sette alarmtilstand kritisk_HH når nivået i tanken når 90%, Kritisk_LL
når nivået er under 10% og kritisk_Avvik når avviket overstiger med 25% i forhold til
referansen. Det er også satt opp noen ekstra alarmer utenom kravet til oppgaven og disse
blir definert ved busfeil, strømbrudd, lavt_batteri osv. Se Tabellen under for å se den fulle
alarmoversikten
Tabell 1 alarmliste i InTouch
ALARM
ADRESSE
ALARMVERDI
FORKLARING
ALARM_LAV_T2
M54
10
Kritisk lavt nivå i tank 2, mindre enn 10%
ALARM_HOY_T2
M53
90
Kritisk høyt nivå i tank 2, større enn 90%
ALARM_AVVIK_T2
M55
25
Nivå avvik større enn 25% fra referansen i
tank 2
ALARM_AVVIK_T1
M52
25
Nivå avvik større enn 25% fra referansen i
tank 1
ALARM_LAV_T1
M51
10
Kritisk lavt nivå i tank 1, mindre enn 10%
ALARM_HOY_T1
M50
90
Kritisk høyt nivå i tank 1, større enn 90%
Busfeil
M0
TRUE (1)
Mistet tilkobling til slave 1 og 2
Lav_batteri_QPLS
M1
TRUE (1)
Lavt batteri i Q-PLS
Kritisk_lavt_QPLS
M2
TRUE (1)
Kritisk lavt batteri i Q-PLS
37
2.3.5 Sikkerhet
Det skal lages et vindu der operatøren må logge seg inn med eget brukernavn og passord. Til
programmet vi bruker er det opprettet tre brukernavn OPERATØR1, OPERATØR2 og
OPERATØR3 der operatør 3 har alle rettigheter mens de to andre operatørene har mer
begrenset rettighet. Passordene til de forskjellige brukerne er Op1, Op2 og Op3.
For opretting av brukere se side 84 på entankprosjektet til gruppe 5.
Tabell 2 Tabelloversikt av de tre brukerne, passord og tilgangsnivå
User name
Password
Access Level
OPERATØR1
Op1
1000
OPERATØR2
Op2
3000
OPERATØR3
Op3
9000
For en bedre beskrivelse av innloggingssiden se side 86 av entankprosjektet til gruppe 5.
38
2.3.6 Access Level
Før vi oppretter brukerkontoer må vi bestemme hva slags sikkerhet vi ønsker å bruke.
InTouch har muligheten til å begrense tilgangen til innloggede brukere avhengig av hvilket
tilgangsnivå de har. Dette er mellom 0 – 9999, hvor 0 er lavest og 9999 er høyest (tilgang til
alt.)
Tilgangsnivået er taggen som brukes til å sikre InTouch applikasjonene. Det er
hovedsystemet som en bruker kan eller kan ikke gjøre i Runtime. For eksempel kan ikke vil vi
ikke at OPERATØR1 skal se et objekt kan vi skrive følgende i en Visibility link, $AccessLevel
>=3000. Nå vil kun brukere med Access level lik 3000 eller høyere få tilgang til dette
objektet. I vårt tilfelle blir det da OP2 og OP3. For en full oversikt av hvem som har tilgang til
hva i InTouch se vedlegg nr. 1. Figurene under er et eksempel på hvordan parametervinduet
vil se ut for de tre operatørene.
Figur 40 - Parametervising for OP2 og 3
Figur 41 – Parametervising for OP1
For en mer utfyllende beskrivelse av tilgangsnivåene se side 85 på entankprosjektet til
gruppe 5.
39
40
2.4 Bonusprosjekt gruppe 5 – IP-Kamera – AR
Som en bonusoppgave i dette prosjektet har vi mulighet til å ta i bruk et IP-kamera som kan
fjernstyres over internett.
Teknisk info:





SONY –RZ30P
25 x optisk zoom
340 graders rotering
Innebygd webserver for
fjernstyring
10/100 MBs ethernet-tilkobling.
Sony-RZ30P IP-kamera
Figur 42 – IP-kamera
Kameraet er bygd inn i hjemmesiden til prosjektet i tillegg til at det ble benyttet som en del av
brukergrensesnittet i InTouch.
2.4.1 Oppsett:
Kameraet er tilkoblet nettverket via den trådløse routeren. Ved første gangs tilkobling vil kameraet
automatisk få en IP-adresse. Denne kan man finne ved å logge inn på routeren og se tilkoblete
klienter.
41
Man kan koble til kamera ved hjelp av IP-kamera programvare eller man kan bruke en nettleser. Man
vil da få valget mellom flere typer viewer hvor kompatibiliteten avhenger av typen nettleser og
datamaskinen man bruker. Under ser vi Java-viewer i bruk.
Man kan kontrollere kameraet ved bruk av panelet ved siden av.
Figur 43 – Webkameragrensesnitt i nettleser
42
For at man skal kunne nå kameraet over internett, må vi sette en port til kameraet som må portforwardes. Standardporten til kameraet er 80. Det er denne vi må endre.
Figur 44 – Innstilling av HTTP-port i webkamera
Man finner innstillingene i Settings – Network. Over ser vi at HTTP porten er endret til 3333. I
routeren er det lagt opp slik at man finner kameraet over internett ved å skrive
http://158.38.53.139:3333 i en nettleser.
43
2.5 Bonusprosjekt gruppe 6 – Autotuning
2.5.1 PLS-kode – SBD
Bonusoppgaven vår går ut på å lage ei autotuning for regulatoren vår. Autotuning fungerer som en
av- og på-regulator, hvor verdier fra svingningene måles, og deretter benyttes disse til å komme med
et forslag til Kp og Ti parametere som vil gi et gunstig innsvingningsforløp.
En av og på regulator skal gi maks pådrag dersom prosessverdien er under referansen, og minimum
pådrag dersom prosessverdien er over referansen. I vår regulator blir dette 255 dersom
prosessverdien er under referansen, og 0 dersom prosessverdien er over referansen. Programmet
sjekker for dette ved å se på fortegnet på avviket. Dersom avviket er positivt er prosessverdien under
referansen, og dersom det er negativt er prosessverdien over referansen.
I tillegg til dette ønsker vi måling på periodetid, topp- og bunnpunkt. Vi finner toppunkt med å
sammenligne aktuelt nivå med forrige nivå. Dersom forrige nivå er høyere enn aktuelt nivå, og nivået
er over referansen, er det forrige nivået et toppunkt. Dersom det forrige nivået er lavere enn det
aktuelle nivået, og nivået ligger under referansen, er det forrige nivået et bunnpunkt. Dette gjelder
bare en gang hver halvperiode, ettersom nivået vil være stigende eller synkende etter bunn- og
toppunktet. Periodetiden måles ved å telle opp hvert 0.1 sekund. Dette gir 10*periodetid, men vi
bruker denne for ei mer nøyaktig måling.
Figur 45 – Samlig av måleverdier for svigningene (autotuning)
44
Periodetiden, og begge de benyttede tellerne må nullstilles ved hver nye periode. I dette
programmet har vi valgt å definere en periode til hver gang prosessverdien kommer over referansen,
til neste gang prosessverdien kommer over referansen. Det sendes derfor en puls som markerer ny
periode hver gang avviket går fra positivt til negativt. Ved samme tidspunkt skal antall perioder som
har gått telles opp.
Figur 46 – Start av ny periode for svigninger
45
Programmet skal regne ut parametere basert på verdier fra stående svingninger. Vi kan finne stående
svingninger ved å sammenligne aktuelle verdier for periodetid, topp- og bunnpunkt, med de forrige
verdiene. Dersom aktuelle verdier og forrige verdier er like, har vi oppnådd stående svingninger, og
det er på tide å starte utregningen.
Figur 47 – Sammeligner forrje verdi med nåverdi for å se om det er stående svigninger
Ettersom vi kun sampler data ved visse samplingsintervall, blir denne sammenligningen unøyaktig.
Sammenligningen må være nøyaktig på bit-verdier, og vi risikerer da at programmet aldri finner
punktet med stående svingninger. Programmet vil da aldri gå inn i utregningsdelen. Vi har derfor
valgt en annen løsning for å gå rundt dette. Vi bruker da variabelen som teller antall perioder, og
setter ei grense på hvor mange perioder som skal kjøres før programmet starter utregningen. Vi
kunne satt denne grensen til hva som helst, men vi gjør et anslag og antar at vi har oppnådd stående
svingninger etter 7 perioder. Erfaring fra tidligere forsøk vi har gjort med autotuning viser at
systemet skal være godt innenfor stående svingninger i løpet av 7 perioder.
46
Figur 48 – Sjekker om det har gått 7 perioder siden start av autotuning
47
Vi ønsker også å se hvor stor fremgang autotuningen har, altså hvor mange prosent ferdig den er.
Dette kjører en sammenligning på antall perioder som har kjørt, og antall perioder som skal kjøres,
og svarer skrives ut som et tall i prosent, 0-100.
Figur 49 – Måler hvor langt autotuning har kommet
Etter dette skrives de 16-bits målte verdiene over til 32-bits dataord på samme måte som i
entankprosjektet figur 16. Deretter benyttes algoritmene for utregning av kritisk forsterkning (Kk) og
kritisk periodetid (Tk).
. I vårt
system er topp-til-bunn for pådrag en konstant. Og vi kan da sette telleren som en konstant.
Ettersom programmet ikke takler desimaltall må vi benytte 127 istedenfor 1.27. Konstanten blir da
32385.
. Vi benytter deretter Ziegler-Nichols tabell for å finne
forslag til Kp og Ti. Ettersom autotuning er en metode som er beregnet på PID-regulatorer, blir det
unøyaktig å benytte Ziegler-Nichols tabell for PI-regulator. Det blir da mer nøyaktig å stille inn
regulatoren som om vi skulle hatt en D-del, men D-delen settes lik 0. Vi får da algoritmene
og
.
Figur 50 – Regner ut Kp og Ti utfra målte verdier på Kk og Tk
48
De 32-bits dataordene skrives deretter over til 16-bits dataord, på samme måte som i
entankprosjektet figur 19.
Etter utregningene er ferdige skal funksjonsblokken gi et signal om at autotuningen er ferdig. Dette
gjøres enkelt ved at variabelen for at programmet er ferdig er avhengig av samme variabel som
utregningene, og skal ligge etter utregningene i koden.
Figur 51 – Sender et signal for når autotuningen er ferdig
Til slutt må denne funksjonsblokken inkluderes i resten av programmet. Dette ved at vi kaller på
funksjonsblokken som en lokal variabel i en POU, og funksjonsblokken legges til med de parameterne
vi skal bruke. Start av autotuningen skal kunne styre fra master, og autotuningen skal skru av seg selv
når den har kjørt ferdig. Veriden på minnecelle M50 styres fra master, og denne får en positiv puls
når autotuning aktiveres. Ettersom vi ønsker at autotuningen skal kjøre av seg selv etter dette, skal
variabelen for autotuning bli satt høy helt til den blir nullstilt. Dersom autotuningen skal avbrytes
mens den kjøres, settes M51 høy fra master, og variabelen for kjøring av autotuning avsluttes. Denne
variabelen skal også nullstilles når programmet har kjørt ferdig.
Figur 52 – Viser hvordan autotuningen kjøres
49
For at autotuningen ikke skal få problemer dersom den startes mens regulatoren står som manuell
regulator, må regulatortypen endres dersom autotuningen skal starte. Dette er fordi referansen
settes lik prosessverdi dersom manuell modus er valgt, og vi kan da ikke kjøre utregninger med
avviket. En enkel nullstillingsfunksjon settes da i starten av POUen for manuell modus. Ettersom
POUen for autotuning ligger etter POUen for manuell modus, skal manuell modus kobles ut av
samme knapp som autotuningen aktiveres, eller dersom autotuning allerede ligger aktiv.
Figur 53 – Sørger for at pådraget står i manuell under
autotuning
50
2.5.2 Betjening av autotuning i intouch – KS
Autotuninga betjenes fra et helt eget, lite og enkelt vindu.
For å få frem dette må du først åpne vinduet for regulatoren,
der er det nå lagt til en egen knapp.
Figur 54 – Viser hvordan du velger
autotuning i InTouch
Nå har du to valg, enten kan du starte autotuninga, eller
du kan lukke vinduet igjen.
Figur 55 – Viser hvordan forslaget til instillinger
kommer ut
Vi ville at det skulle vises en
indikering på hvor lenge det
er igjen til autotuninga er
ferdig, så det ble lagt til en utgang fra PLS som brukes
til å bestemme om vinduet skal vise verdiene
regulatoren har regnet ut, eller om det skal be deg om
å vente. Når du trykker «start» blir denne høy, og det
vises en strek som blir grønn fra venstre mot høyre
sammen med et tall som oppgir antall prosent, i
henhold til verdien «Framgang» i PLS programmet.
Figur 56 – Viser status på autotuningen
51
3 Prosjektstyring gruppe 5
3.1 Deltagere
52
3.2 Tidsbruk – KR
Her har vi timebruken gjennom hele prosjektet. Ser at vi ligger noe under helt til etter påske.
Fra påske ligger vi akkurat på estimert tidsbruk.
Ser også at vi ligger en del timer under etter uke 16. Vi begynte å få god kontroll på
Entankprosjektet, og det var rapportskriving som var i fokus.
Mener vi har estimer tidsforbruket ganske bra.
53
3.3 Prosjektstyring og samarbeid – AR & KR
Den 25/2 fikk vi utlevert prosjektoppgaven i faget «Styresystemer». Under løsning av prosjektet
jobbet vi sammen i grupper, der to grupper skulle dele på én rigg. Det var da viktig å lage en plan på
hvilken gruppe som skulle få jobbe med riggen, inndelingen ble annenhver dag. Dette fungerte veldig
bra, med tanke på at vi ikke trengte stresse med å bli ferdig med riggen i tide.
Et suksesskriterie for å løse oppgaven på en god og effektiv måte er godt samarbeid. Det første vi
gjorde var å få opprette et felles plan på «Its Learning» som vi kalte «Prosjekt 2015». Her
strukturerte vi prosjektet i de delprosjektene som hele prosjektet bestod av. Vi hadde også et system
på hva vi skulle gjøre når vi la ut det vi hadde jobbet med på» Its Learning». Det var viktig at ved
redigering av noe som var lagt ut fikk kommentarer på hvem som hadde redigert og når. På denne
måten hadde vi hele tiden god kontroll på siste gjeldene versjon.
Under arbeid av hvert enkelt delprosjekt hadde vi internmøter som gruppeleder hadde ansvar for.
Dette gjorde vi for å oppdatere hver enkelt i gruppen på framgangen i arbeidspakkene vi jobbet med.
På denne måten sørget vi for at vi jobbet mot samme mål slik at sammensying av hver enkelt
arbeidspakke gikk greit for seg.
De to første delprosjektene, Forprosjektet og Miniprosjektet gikk veldig greit. Disse delprosjektene
var ganske små og i tillegg var de ikke så kompliserte. De største utfordringene kom under
Entankprosjektet, som var det største delprosjektet. Her delte vi gruppen i tre par der hvert enkel par
hadde sin arbeidspakke, InTouch og iX-Panel, PLS og Filter. Selve arbeidet med arbeidspakkene gikk
veldig greit. De som jobbet med InTouch og PLS prøvde å jobbe parallelt, men det viste seg å være
vanskelig. Grunnen til dette kan være at vi ikke hadde noe felles mål på hvordan vi ønsket at det hele
skulle fungere sammen, noe som vi burde gjort under internmøtet. Dette resulterte i at vi hele tiden
måtte gjøre endringer for å tilpasse oss hverandre, noe som førte til at vi brukte mye unødig tid.
Under arbeidet fant vi til slutt ut av dette og satte oss ned for å bli enige på hvordan det skulle
fungere sammen. Vi ble til slutt veldig fornøyde med resultatet.
54
4 Prosjektstyring gruppe 6
4.1 Deltagere
Stian Berg Dyrnes – SBD
Emil Welde Hatletveit –EWH
Kristian Strøm – KS
Terje Magnus Sørensen – TMS
Snorre Vongraven - SV
Andreas Haugen – AH
Dato 07.04.2015
55
4.2 Tidsbruk –TMS
Vi ligger noe under det planlagte fordi det tok mye kortere tid å konstruere filteret enn planlagt, vi
nærmer oss den planlagte verdien igjen grunnen til dette er at det var noe mer arbeid med
samkjøring av programmene under totankprosjektet enn vi gjettet under forprosjektet.
Vi la også inn litt færre timer på slutten slik at vi hadde mer tid til rådighet om vi lå litt bak skjema.
Det må sies at vi har estimert bra, når vi kun fikk et avvik på ca 60 timer under hele prosjektarbeidet.
Tidsbruk
1800
1600
1400
1200
1000
800
600
400
200
0
8
9
10
11
12
13
14
Planlagte timer
15
16
17
18
19
Utført arbeid
4.3 Prosjektstyring og kvalitetssikring – SV
Prosjektet skal til enhver tid ha en leder. Lederen byttes hver uke, og ved prosjektets slutt
skal hver enkelt gruppedeltaker ha fått prøvd seg i jobben.
Lederen er ansvarlig for møteinnkalling, saksliste og gjennomføring av det ukentlige møtet.
Han vil også være ansvarlig for prosjektets framgang, og tidsfrister.
4.3.1 Statusrapportering
Møteleder skal vær uke fremlegge en statusrapport, som skal gjennomgås på prosjektmøtet.
Møteinnkallelser, møtereferat og annen relevant dokumentasjon lastes opp til felles
dropbox-mappe.
56
4.3.2 Standardiserte skjemaer
Gruppen skal bruke standardiserte skjemaer for møteinnkalling, møtereferat, og
arbeidspakkeskjema. Disse ligger tilgjengelig på It´s Learning under faget «TELE2008-A 15V
Styresystemer og reguleringsteknikk».
4.3.3 Versjonskontroll
Dokumenter og filer som blir produsert i forbindelse med prosjektet blir lagret i en felles
Dropbox-mappe. Filene skal ha beskrivende navn, og inneholde versjonsnummer eller dato.
4.3.4 Tester og sjekklister
Programmer og sjekklister skal sammenlignes mot mål og spesifikasjoner nevnt i
forprosjektrapporten. Eventuelle avvik skal dokumenteres og rettes.
57
4.4 Prosjektstyring og samarbeid – SV & KS
Rett etter vi fikk utlevert oppgaveteksten 25/2 satte gruppe 6 seg ned og leste gjennom hele
teksten grundig. Vi diskuterte ting som virket uklare, og lagde oss en teori om hvordan
prosjektet skulle utføres. I løpet av forprosjektet lagde vi også en plan for hvem som skulle
ha hovedansvaret for de forskjellige prosjektdelene.
For å forenkle arbeidet med fildeling og kommunikasjon ble det raskt opprettet flere grupper
på internett. Filer som ble delt innad i gruppen skulle legges ut på nettskytjenesten dropbox,
med fornuftige navn som gir informasjon om datoen den ble laget, og hva filen inneholder.
Inne i gruppe 6 sin mappe på dropbox ble det opprettet flere undermapper til hver
prosjektdel, bilder og lignende.
For å forenkle kommunikasjon oss imellom lagde vi en gruppe på nettsamfunnet facebook.
Den bruker vi til å holde en generell oversikt over framgangen og hvor lang de forskjellige
medlemmene har kommet.
I tillegg til dette ble det opprettet en katalog på undervisningsnettstedet itslearning for
deling av rapporter, møteinnkallinger og lignende mellom gruppen og veileder.
Gruppe 5 og 6 har sammen en rigg til rådighet i prosjektet. Vi måtte da finne en ordning for
hvem som skulle har riggen til enhver tid. Det ble bestemt at vi skulle ha riggen annenhver
dag. Dette har fungert utmerket hele prosjektet igjennom.
For å holde oversikt over adressene vi brukte i entank satte vi opp et Excel-dokument med
en tabell (se vedlegg 9 i entankrapport) over alle adressene vi skulle bruke i master, slave 1,
slave 2, samt hvilken retning informasjonen flyter og hva de ble brukt til. Slik kunne vi jobbe
med hver vår oppgave uten å behøve å mase konstant på hverandre, samtidig som at
sjansen for å få problemer med samkjøring blir minst mulig.
På tross av at vår veileder ikke har fast kontor på bygget, og at de resterende veilederne ikke
er å finne på campus hele uken, føler vi at veiledningen har vært tilstrekkelig. Vi har hele
vegen selv måtte oppsøke hjelp når det er behøvelig, og tror dette har lagt grunnlaget for et
godt samarbeide innad, og i mellom gruppene. «Å lære ved å gjøre» har vært en
gjennomgående filosofi i prosjektets gang, og gruppens hoder har ofte måtte ta tak i
problemer med samlet kraft. Vi sitter nå igjen med en dyptgående forståelse av prosjektet i
sin helhet.
58
5 Prosjektstyring totank – AR & KR
Etter entankdemonstrasjonen tirsdag 28/4 slo vi sammen gruppe 5 og 6 til en felles gruppe
på 12 personer som sammen har utarbeidet totankprosjektet. Det første vi gjorde var å
gjennomførte vi et internt møte hvor det ble bestemt hvem som skulle være ansvarlig for
hva. Vi valgte å la de ansvarlige fra InTouch, PLS og operatørpanel få fortsette i samme spor
som ved entankprosjektet for å løse problemene på en enklest mulig måte.
Arbeidet med totankprosjektdelen har gått rimelig bra siden vi startet. For det meste har det
handlet om å utvide brukergrensesnittent i InTouch og operatørpanelet til to tanker
istedenfor èn, og programmere PLS’ene i forhold til dette. Begge gruppene fikk god erfaring
med disse oppgavene i entankprosjektet, og dette har uten tvil vært en stor fordel mtp
totankprosjektet. Siden vi er 12 personer som jobber sammen om dette, har det også vært
viktig å dele inn oppgavene for at vi ikke skal sitte 11 personer og se på at en person jobber.
I tillegg til totankprosjektet har begge gruppene gjort ferdig bonusoppgaven sin. Gruppe 5
har ferdigstilt bonusoppgave 3 – ”Kameraovervåking av tankriggen via internett”, og gruppe
6 har ferdigstilt bonusoppgave 5 – (eget forslag)” Autotuning av PID-regulator”. Disse
bonusoppgavene er dokumentert i totankrapporten.
Inndeling totank (bonusoppgaver ikke inkludert)
•
PLS (GX Works) – Knut M. Røsberg, Roy K. Solvang, Stian Dyrnes & Emil Hatletveit
•
InTouch – Fredrik Løkken, Michael Mcgrory, Kristian Strøm & Snorre Vongraven
•
Operatørpanel (iX-panel) – Jørgen Aasen, Andreas Rød & Terje M Sørensen
•
Tidsskriftsartikkel – Andreas Rød (Gruppe 5) & Andreas Haugen (Gruppe 6)
59
6 Konklusjon – SV
I Totankrapporten har vi dokumentert arbeidet vi i gruppe 5, og 6 har utført i løpet av siste
del i prosjektet. Oppgaven gikk ut på at 2 grupper skulle arbeide sammen om å
implementere en ekstra tank til programmene våre. Dette gjelder både
brukergrensesnittene og styresystemet. I tillegg til dette skulle bonusoppgavene til hver av
gruppene fullføres.
Det viste seg at det tekniske aspektet av oppgaven ikke var spesielt krevende. Utfordringen
kom av gruppens størrelse. Til tross for god kommunikasjon og samarbeidsvilje, viste det seg
til slutt at vi manglet noen som hadde et overordnet ansvar for de enkelte delenes
fullførelse. Vi føler at antall deltakere var i meste laget sett i forhold til oppgavens størrelse.
På tross av noen problematiske siste timer, har vi fått utført oppgaven i henhold til kravene
satt i oppgaveteksten, og er godt fornøyd med resultatet.
Figur 57 – Oversiktsbilde kobling mellom PLS-rig og tank-rig
60
7 Litteratur – TMS
Vi brukte følgende verker under entankprosjektet.







Arnfinn Hofstad «PLS-teknikk; Mitsubishi Melsec FX0(S) og FX2N; GX Works2»
Per Hveem «Sanntidsdatateknikk; Digitale regulatorer, Forelesningsnotater»
Per Hveem, Kåre Bjørvik «Reguleringsteknikk»
Kåre Bjørvik «Dynamiske systemer»
Prosjektperm lagt ut offentlig på It's Learning.
Sebord,Edgar,Mellichamp og Doyle « Process Dynamics and Control»
InTouch HMI 9.5 Fundamentals of Aplication Development Course.
61
8 Vedlegg
1.
2.
3.
4.
5.
6.
7.
8.
Figurlister
Master PLS
Slave 1 PLS
Slave 2 PLS
Sjekkliste ved test av totank
OPC BEIJER SLAVE 1
OPC BEIJER - Slave 2
Oversiktsvindu
62
Figurliste
Figur 1 – Oversiktsbilde kobling mellom PLS-rig og tank-rig ................................................................... 1
Figur 2 – Liste over minneceller og dataord til slave 1 ............................................................................ 5
Figur 3 – Liste over minneceller og dataord til slave 2 ............................................................................ 6
Figur 4 – POU for slave 1 i masterprogrammet ....................................................................................... 7
Figur 5 – POU for slave 2 i masterprogrammet del 1 .............................................................................. 7
Figur 6 – POU for slave 2 i masterprogrammet del 2 .............................................................................. 8
Figur 7 – Alarmprogram for tank 2 del 1 ................................................................................................. 9
Figur 8 – Alarmprogram for tank 2 del 2 ............................................................................................... 10
Figur 9 – Alarmprogram for tank 2 del 3 ............................................................................................... 11
Figur 10 – POU for alarmaksjoner del 1 ................................................................................................ 12
Figur 11 – POU for alarmaksjoner del 2 ................................................................................................ 12
Figur 12 – POU for alarmaksjoner del 3 ................................................................................................ 13
Figur 13 – POU for alarmaksjoner del 4 ................................................................................................ 13
Figur 14 – Sprangrespons fra trendvindu i InTouch .............................................................................. 14
Figur 15 – Prinsippskisse FOPDT ............................................................................................................ 15
Figur 16 – Målepunkt for FOPDT ........................................................................................................... 15
Figur 17 – ITAE tabell ............................................................................................................................. 16
Figur 18 – Sprangrespons på tank 2 ...................................................................................................... 17
Figur 19 – Målepunkt for FOPDT ........................................................................................................... 18
Figur 20 – Prinsippskisse av ventil ......................................................................................................... 20
Figur 21 – Tagliste IX-panel ................................................................................................................... 23
Figur 22 – Oversiktsbilde operatørpanel ............................................................................................... 24
Figur 23 – Operatørside for tank 1 IX-panel .......................................................................................... 24
Figur 24 – Trendvindu IX-panel ............................................................................................................. 25
Figur 25 – Hjelpvindu IX-panel .............................................................................................................. 25
Figur 26 – Alarmvindu IX-panel ............................................................................................................. 26
Figur 27 – Hovedvindu........................................................................................................................... 28
Figur 28 – Trends i hovedvindu ............................................................................................................. 29
Figur 29 – Parameterknapper ............................................................................................................... 29
Figur 30 – Innlogging ............................................................................................................................. 30
Figur 31 – Parametervinduer................................................................................................................. 31
Figur 32 – Manuellparametere.............................................................................................................. 31
Figur 33 – Foroverkoblingsknapp .......................................................................................................... 32
Figur 34 – Foroverkoblingsparametere ................................................................................................. 32
Figur 35 – Historisk trend 1 ................................................................................................................... 33
Figur 36 – Historisk trend 2 ................................................................................................................... 34
Figur 37 – Pulssending av verdier. sender høy verdi en gang ............................................................... 34
Figur 38 – Visning av IP kamera i InTouch ............................................................................................. 36
Figur 39 – Scriptet til IP kamera i Intouch ............................................................................................. 36
Figur 40 - Parametervising for OP2 og 3 ............................................................................................... 39
Figur 41 – Parametervising for OP1 ...................................................................................................... 39
Figur 43 – IP-kamera.............................................................................................................................. 41
Figur 44 – Webkameragrensesnitt i nettleser ....................................................................................... 42
Figur 45 - Innstilling av HTTP-port i webkamera ................................................................................... 43
Figur 46 – Samlig av måleverdier for svigningene (autotuning) ........................................................... 44
Figur 47 – Start av ny periode for svigninger ........................................................................................ 45
63
Figur 48 – Sammeligner forrje verdi med nåverdi for å se om det er stående svigninger .................... 46
Figur 49 – Sjekker om det har gått 7 perioder siden start av autotuning ............................................. 47
Figur 50 – Måler hvor langt autotuning har kommet............................................................................ 48
Figur 51 – Regner ut Kp og Ti utfra målte verdier på Kk og Tk .............................................................. 48
Figur 52 – Sender et signal for når autotuningen er ferdig ................................................................... 49
Figur 53 – Viser hvordan autotuningen kjøres ...................................................................................... 49
Figur 54 – Sørger for at pådraget står i manuell under autotuning ...................................................... 50
Figur 55 – Viser hvordan du velger autotuning i InTouch ..................................................................... 51
Figur 56 – Viser hvordan forslaget til instillinger kommer ut................................................................ 51
Figur 57 – Viser status på autotuningen................................................................................................ 51
Figur 58 – Oversiktsbilde kobling mellom PLS-rig og tank-rig ............................................................... 60
64