HØGSKOLEN I SØR TRØNDELAG AVDELING FOR TEKNOLOGI. Program for data- og elektroteknikk

Like dokumenter
Entankprosjektrapport

Determinanter. Kapittel 6. Determinanter for 2 2-matriser. La oss beregne arealet av dette parallellogrammet. Vi tegner på noen hjelpelinjer:

PLS PC-øving nr. 3 Global Label og Local Label, flagg og CJ

TOTANK RAPPORT. Gruppe 1 og 2

Rapport Entank. Prosjekt i emnet «Styresystemer og reguleringsteknikk» Gruppe 01. Høgskolen i Sør-Trøndelag

ENTANK 2EA GRUPPE

STAD. Innreguleringsventil ENGINEERING ADVANTAGE

SIMULERINGSNOTAT. Prosjekt i emnet «Styresystemer og reguleringsteknikk» Gruppe 01. Laget av Torbjørn Morken Øyvind Eklo

KYBERNETIKKLABORATORIET. FAG: Kybernetikk DATO: OPPG. NR.: R134 TEMPERATURREGULERING

IL Data Name : POU1909

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi LØSNINGSFORSLAG EDT208T-A. Programmerbare logiske styringer

Forprosjektrapport. Prosjektoppgave i Styresystemer 2AEL13H våren 2015

Høgskolen i Østfold Avdeling for informasjonsteknologi. Programmering av PLS-styrt Modellandsby ved hjelp av Phoenix Profinet / PCWorX

ASU Monitor inng.: 0= frakoblet, 1= kontakt, 2= temperatur, 3= kont. + temp. 3.

brukes mest for større deler som blir utsatt for kraftig og støtvis påkjenning, tannhjul, kulelager etc. på en aksel

Forprosjektrapport Prosjektoppgave i faget Styresystemer 2EA våren 2015

Løsningsforslag til øving 14

4. Viktige kvantemekaniske teoremer

FLEXIT CS N Hurtigguide CS2000 Automatikk

Inst. for elektrofag og fornybar energi

BRUKERMANUAL WR100 1

Kanter, kanter, mange mangekanter

Nytt prosjekt og programlogikk

Logaritmer og eksponentialfunksjoner

MONTERINGSANVISNING TERMLIFT

TMA4100 Matematikk 1 Høst 2014

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Studieprogram for elektro- og datateknikk 7004 TRONDHEIM

Brukermanual. Revisjon manual 01 Programversjon E

1b) Schwarzschil-metrikken er iagonal, og vi har at g tt = 1, c = r, c ; g rr =, r r r r, =,1, r, ; g =,r ; g '' =,r sin : (9) At raielle baner eksist

KYBERNETIKKLABORATORIET. FAG: Dynamiske systemer DATO: OPPG.NR.: DS3 MOTOR GENERATOROPPGAVE I

Elektriske data Nominell spenning AC/DC 24 V Nominell frekvens

Elektriske data Nominell spenning AC/DC 24 V Nominell frekvens

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

Program for elektro- og datateknikk

94205N FLEXIT CI Brukerveiledning. Håndterminal

Mindstorm, robot- og reguleringskurs

Forprosjektrapport. Gruppe 3 2EA

Bruksanvisning Unitronics Vision

Løsningsforslag eksamen MAT111 Grunnkurs i Matematikk I høsten 2009

Høgskolen i Østfold Avdeling for informasjonsteknologi. Fag ITD Industriell IT. Laboppgave 2. Del 1. Temperatur-regulering

INEC1800 ØKONOMI, FINANS OG REGNSKAP EINAR BELSOM

DNG C-2000h. Juksamaskinen for fritidsfiskere BRUKERMANUAL

Vekstrater og eksponentiell vekst ECON 2915 Vekst og næringsstruktur

Varmepumper og skap for varmeanlegg

Inst. for elektrofag og fornybar energi

TDT4102 Prosedyre og Objektorientert programmering Vår 2014

MIK 200 Anvendt signalbehandling, Lab. 5, brytere, lysdioder og logikk.

Turny bladvender Brukerveiledning

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG

Totankprosjektrapport

ENC ENKEL AKSE og KLIPPE LENGDE KONTROLLER for PLATESAKSER

Kraftelektronikk (Elkraft 2 høst), Løsningsforslag til øvingssett 3, høst 2005

Prosjektoppgave i faget Styresystemer 2EA våren 2015

SERVICEMANUAL INVERTER V Feilkoder alle modeller ASY9LSACW ASY12LSACW. Utvidet feilsøkingsrutiner. Inverter utedeler ASY9LSACW ASY12LSACW

Forenklet versjon av installasjons- og bruksanvisning. BRUKERVEILEDNING. Olimpia Splendid Bi2

while-økker while-løkker gjentar instruksjonene så lenge en betingelse er oppfylt Eksempel 1: en enkel while-løkke

LITT OM OPPLEGGET. INF1000 EKSTRATILBUD Stoff fra uke September 2012 Siri Moe Jensen EKSEMPLER

Espen Seljemo, Torry Eriksen, Vidar Wensel og Magnus Bendiksen

Emnenavn: Industriell IT. Eksamenstid: 4 timer. Faglærer: Robert Roppestad

V 1000 RS. Leveransen omfatter.

EGM-100A SERVOMOTOR. Vær oppmerksom!

Eksempel på endring av funksjon Tast Display Forklaring. Det nåværende funksjonsnummer vises på displayet.

MINIPROSJEKTRAPPORT PROSJEKT I STYRESYSTEMER GRUPPE 1

Bruksanvisning. for. Vippebadekar Medicare K1, K2 og K3

Original instructions. SIRe Basic Air Curtains Water With quick guide. SIReB. For wiring diagram, please see last pages

Simuleringsnotat. Prosjekt i emnet «Styresystemer og reguleringsteknikk» Gruppe 6. av Stian Venseth og Kim Joar Øverås

Klask-en-Muldvarp. Steg 1: Gjøre klart spillbrettet. Sjekkliste. Introduksjon

48 Praktisk reguleringsteknikk

INF1510 Oblig #1. Kjetil Heen, februar 2016

Installasjonguide LAG DIN EGEN BRUKERKONTO

Drift og installasjons veiledning MT10 Styring for 4" pumper

MIKROPROSESSOR KONTROLL

INF1411 Obligatorisk oppgave nr. 4

Utførelse av programmer, funksjoner og synlighet av variabler (Matl.)

Velkommen til Pressis.

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

1. Innlogging. 1.1 Beskrivelse. 1.2 Aksjoner

EC-Styring med "Magelis" berøringsskjerm. 1. Oppstart og initialisering av maskin... 2

1T kapittel 1 Tall og algebra Løsninger til innlæringsoppgavene

Program for elektro- og datateknikk

4. Viktige kvantemekaniske teoremer

Forprosjekt. Oppgavens tittel: Motorstyring Dato: Jon Digernes Institutt/studieretning: Program for elektro og datateknikk

BRUKSANVISNING OG MONTERING

MØTEREFERAT. Gruppe H09E03 E3E. DATO: 31. Mars 2009 TID: STED: SealJet

PRISLISTER. Opus Dental MAKING IT SIMPLE

DDS-CAD 7 INSTALLASJON AV NETTVERKSLÅS. DATA DESIGN SYSTEM ASA Øksnevad Næringspark, 4353 Klepp st., fax , tel.: , e-post: dds@dds.

Løsningsforslag til eksamen i FYS1000, 19/8 2016

Øving 1 ITD Industriell IT

HMI standarddokument

Laget av Atle Hybertsen Høst 2017

Slik skal du tune dine PID-regulatorer

Entankrapport. Gruppe 6. Bendik Lootz Benestad, Erlend Kluken, Marius Moum, Stian Venseth og Kim Joar Øverås

3. Introduksjon til prosjektet Hringr. Scratch fra scratch Enkel programmering for nybegynnere

JA-82K OASiS Enkel oppstart

Analyser av indekser på Skoleporten 2017

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Marine Propulsion Control Systems 9000 Series Processor Feilsøking

SafeLine VV3. Bruksanvisninger. Viser etasjer, piler og rullende tekstmeldinger.

Transkript:

Entankprosjekt i faget Styresystemer 2EA våren 2015 Gruppe 4: Magnus A. Iversen Kristian Reitan Sinre Honelan Jon Are Kolsta Filip Robøle Myhre

TANKPROSJEKT for prosjektoppgave i faget Styresystemer 2EA våren 2015 Oppgavetittel (Norsk/engelsk): Regulering av væskenivået i en tank Regulating the liqui level of a tank Utgitt: 24.03.2015 Innleveringsato: 28.04.2015 Antall velegg: 6 Forfattere / Gruppeeltakere: Veileer internt: Magnus A. Iversen Telefon: 913 67 343 E- post: magnus.a.iveresen@gmail.com Kristian Reitan Telefon: 902 79 678 E- post: krisreit@hotmail.com Dag Aune Telefon: 73 55 95 83 E- post: ag.aune@hist.no Sinre Honelan Telefon: 415 06 750 E- post: sinreho@hotmail.com Jon Are Kolsta Telefon: 994 12 637 E- post: jonkol17@hotmail.com Filip Robøle Myhre Telefon: 476 44 150 E- post: filip_myhre90@hotmail.com Stuieretning: TELE2008- A 15V - Styresystemer og reguleringsteknikk Prosjektnummer: Nr 1 Oppragsgiver: Høgskolen I Sør- trønelag (Aveling for teknologi) Oppragsgivers kontaktperson: Dag Aune 2

Foror(JAK) Prosjektoppgaven i emnet Styresystemer omhanler regulering av to tanker. Oppgaven har 4 milepæler som eler hele prosjektet opp i minre eler i naturlig rekkefølge. Dette er treje milepæl i prosjektgjennomføringen som omhanler regulering av en ene tanken, simulering av prosessen i Simulink og filtrering av støy. I enne rapporten utyper vi hvoran vi har utført enne elen av prosjektet. Dette gjeler prosjektstyring, teknisk utførelse og sammensetning. Denne rapporten bygger viere på miniprosjektrapporten, som gikk ut på å opprette kommunikasjon mellom ulike eler av systemet. Det vi nå har gjort er å lage regulering av væskenivået i en tank, me tilsvarene styring via PC og Touch- panel, levert simuleringsnotat og laget to antialiasingfiltre. Som gruppe har vi lært hveranre i kjenne og fått utnyttet hver sine styrker. Vi har lært av hveranre og alle har biratt got til å få en go gjennomføring av enne elen. Sammenrag (FRM) I enne rapporten har vi tatt for oss entank- elen av prosjektet. Målet for enne elen var å regulere væskenivået i en tank me P og PI regulator me P, D og PD foroverkobling. For å komme fram til regulatorinnstillinger og reguleringsstrategi, skulle vi lage et arbeisnotat til riggen. Dette skulle innehole matematisk moellering, simulering i Matlab, reguleringsstrategi og regulatorinnstillinger, som a skulle leveres som et eget notat til egen innleveringsfrist. Ut i fra isse reguleringsinnstillingene skulle vi også ta en vurering av e simulerte resultatene, på selve tankriggen, ve å utføre iverse tester på riggen me e regulatorinnstillingene vi hae kommet frem til. Det skulle også konstrueres to antialiasing filtre for å filtrere bort støy i måleelementene som er montert på riggen. Vi valgte erfor å konstruere to 2. Orens filtre til ette. Vi måtte eretter levere inn bestillingsskjema og okumentering av filteret for å få utlevert elene vi trengte. Vi har også laget et brukergrensesnitt i InTouch på PC og til ix panelet som er montert på riggen. Vi har a tatt hensyn til skrive og leserrettigheter etter beskrivelse i oppgaveteksten, og vi har forsøkt å lage brukergrensesnittet så brukervennlig som mulig. Uner miniprosjektet lage vi oppsettet for kommunikasjon mellom enhetene i Profibus- nettverket, ette har vi a tatt me oss viere og bygget på viere. 3

Planleggingen av entank- prosjektet foregikk i forprosjektelen er vi estimerte hvoran framgang og timebruk vi bure ha for å komme i mål me prosjektet. Her har en goe prosjektorganiseringen vi gjore i starten hjulpet oss velig unerveis og vi har klart å forele oppgavene jevnt i gruppen, slik at vi har kommet i mål me e tingene som skulle gjøres til rett ti. I enne rapporten vil vi forklare og okumentere prosessen gjennom hele entank- prosjektet. Entank- prosjektet er en treje store milepælen gjennom prosjektgjennomføringen og har pågått fra 24.03.15 28.04.15 4

1 Innlening(KR)... 7 1.1 Bakgrunn:... 7 1.2 Oppgaven:... 7 2 PLS... 8 2.1 Egenlage funksjonsblokker: (JAK)... 8 2.1.1 Toogle:... 8 2.1.2 Saturation:... 8 2.2 Regulator i PLS (Slave 1) [MI]... 9 2.2.1 Regulatorens innstillinger/settings.... 10 2.2.2 Samplingsti:... 11 2.2.3 Direkte- eller reverserene regulator:... 11 2.2.4 Manuell:... 11 2.2.5 Auto:... 12 2.2.5.1 P- forsterkning:... 12 2.2.5.2 I- forsterkning:... 12 2.2.5.3 D- forsterkning:... 13 2.2.5.4 Nominelt pårag (U0):... 13 2.2.6 TILLEGGSREGULATOR... 13 2.2.7 Prosjektets Regulator (Entank)... 14 2.2.7.1 Utvenig utseene REGULATOR_G4... 14 2.2.7.2 Regulatorens inre oppbygging... 15 2.2.7.3 Rykkfrie overganger (Bumpless)... 15 2.2.8 Gamle verier.... 17 2.2.9 Omgjøringer av variabelstrørrelser.... 18 2.2.10 Grensekontroll (Saturation)... 18 2.2.11 P- Regulering... 19 2.2.12 PI- Regulering... 19 2.2.13 Foroverkobling... 19 2.2.14 Valg av kjørene parametere... 20 2.3 Master (JAK og FRM)... 21 2.3.1 POU- er i Master:... 21 2.4 Programmet i Slave- PLS: (MI og JAK)... 24 3 Antialiasingfiltre: (JAK)... 28 4 HMI InTouch (SH)... 31 4.1 Innlogging... 31 4.2 Grafisk esign... 33 4.3 Historisk tren... 44 4.4 Alarmer... 46 5 Ix Panel (KR)... 47 5.1 Design... 48 5.2 Alarmer... 53 5.3 Tilkobling (Feilsøking)... 56 5

5.4 Sanntistren... 57 6 Vurering av simulerte resultater (JAK og FRM)... 61 6.1 P- regulering: Sprang 40-60% i referansen.... 61 6.2 PI- regulering: Sprang 40-60% i referansen... 62 6.3 P- reg: Me sprang i utløpsventiler (1 åpen til 3 åpne)... 63 6.4 P- reg: Me sprang i utløpsventiler (3 åpne til 1 åpen)... 64 6.5 PI- reg: Me sprang i utløpsventiler (3 åpne til 1 åpen)... 65 6.6 PI- reg: Me sprang i utløpsventiler (1 åpen til 3 åpne)... 66 6.7 PI- reg m/ P- foroverkobling: Me sprang i utløpsventiler (3 åpne til 1 åpen)... 67 6.8 PI- reg m/ D- foroverkobling: Me sprang i utløpsventiler (3 åpne til 1 åpen)... 68 6.9 PI- reg m/ PD- foroverkobling: Me sprang i utløpsventiler (3 åpne til 1 åpen)... 69 6.10 PI- reg m/ P- foroverkobling: Me sprang i utløpsventiler (1 åpen til 3 åpne)... 70 6.11 PI- reg m/ D- foroverkobling: Me sprang i utløpsventiler (1 åpen til 3 åpne)... 71 6.12 PI- reg m/ PD- foroverkobling: Me sprang i utløpsventiler (1 åpen til 3 åpne)... 72 6.13 Konklusjon... 73 7 Tisforbruk: (JAK)... 73 Veleggsliste Velegg 1 Velegg 2 Velegg 3 Velegg 4 Velegg 5 Velegg 6 Velegg 7 Moellering og Simulering Oversikt over sammenligning av simulert og fysisk prosess Tabell som viser ønskee skrive- og leserettigheter i InTouch Programmet i Master- PLS Programmet i Slave- PLS Testskjema Tagliste/Minnecelleoversikt Referanser Miniprosjekt 6

1 Innlening(KR) 1.1 Bakgrunn: Entankprosjektet er en viktig el av prosjektet vårt og skal gi et grunnlag for neste el, totankprosjektet. Vi skal bygge opp en regulator for å regulere væskenivået i en tank hvor InTouch og ix Panelet skal brukes til å styre hele prosessen, så esign og brukervennlighet vil være viktig. Her kommer kunnskapen fra miniprosjektet got me, slik at vi får alt til å kommunisere sammen på riktig måte. 1.2 Oppgaven: Oppgaven går ut på å bygge opp en fungerene regulator som båe P og PI me rykkfrie overganger ve skifte av regulatortype. Det skal også finnes en manuell mous i tillegg til e automatiske P og PI funksjonene. Regulatoren skal ha mulighet for foroverkobling av P-, D- eller PD- type som gjør at prosessen takler enringer i forstyrrelser bere. Når vi skal bruke en PLS som en igital regulator vil en være følsom for støy, erfor skal et bygges et antialiasingfilter i forbinelse me regulatoren. Filteret vil være et analogt lavpassfilter (annenorens Butterworth filter) som skal filtrere bort unøvenig støy på målingene fra nivået i tanken og på utløpet. Vi skal opprette alarmer ve kritiske nivå i tanken, et vil si over 90%, uner 10% eller hvis nivået avviker mer enn 25% fra referansen vi har satt. Simulering av prosessen i Matlab er også en el av entankoppgaven. I simuleringen skal vi komme fram til en reguleringsstrategi og forslag til regulatorinnstillinger som vil bli testet/etterjustert på regulatoren i prosessen vår, hvor e beste innstillingene vil bli brukt viere. Dette skal okumenters i et eget arbeisnotat som skal leveres inn me egen innleveringsfrist. InTouch og ix Panelet skal brukes til å styre og overvåke prosessen vår. Det er viktig at esign/brukergrensesnitt er oversiktlig slik at «alle» skal kunne styre prosessen ve å bruke panelet eller pc. ix panelet programmeres i et program på pc kalt ix Developer for så å bli overført til panelet. InTouch er et brukergrensesnitt for pc som skal ha litt flere alternativer enn ix panelet. Her vil man få et forskjellig prosessbile avhengig av hvilket operatørnivå man har, noe som vil si at ingeniøren kan ha flere rettigheter enn en aglige brukeren. 7

2 PLS 2.1 Egenlage funksjonsblokker: (JAK) Vi tar i bruk e samme funksjonsblokkene som vi lage i miniprosjektet (se miniprosjektrapport kapittel 4), men vi har måttet orne noen i tillegg. Disse kalles Saturation_FB og Toggle. 2.1.1 Toogle: Denne blokken skal brukes til at bit ene toggles. Det vil si at hver gang inngangen går høy skal utgangen enre til enten 0 eller 1, alt ettersom hva en forrige verien var før. Om utgangen var 0 og inngangen blir høy, skal utgangen skrifte veri til 1, og motsatt. Se velegg 5 for å få sett hvoran en ser ut på innsien. Figur 2.1: Funksjonsblokka toggle 2.1.2 Saturation: Saturation- blokken skal gi utgangsverien en begrenset veri. De nere og øvre grensene bestemmes ve å sette verier på inngangene som heter NereGrense og Ovregrense. Den variabelen som skal begrenses settes på inngangen, mens en begrensa variabelen settes på utgangen. Man kan velge om man ønsker å benytte seg av 16- eller 32- bit på inngangen. W_Input er vanlig Wor, som er 16- bit. 32- bit er Double Wor som settes til D_Input. Det samme kan tas ut igjen på utgangen. Se velegg 5 for å få sett hvoran enne ser ut på innsien. Figur 2.2: Funksjonsblokka saturation 8

2.2 Regulator i PLS (Slave 1) [MI] Regulator En regulator eller PID- Regulator er en styreenhet som ser på forskjellen mellom to verier (e). Den ene verien er en ønskee verien satt av en ingeniør eller operatør (r), og en anre er en faktiske verien prosessen som reguleres har (y). Hva man ønsker å regulere kommer helt an på hva prosessen styrer. Det finnes mange former for prosesser, men eksempelvis: Høye [m/cm/mm], hastighet [km/t, m/s, mm/s], surhet, menge [m 3 -, kg/s], strømning, posisjon [m/cm/mm], temperatur [K, C, F], lysstyrke [L], osv.. Det bruker regulatorer hovesakelig er man ønsker å hole prosessen uforstyrret i stor gra (åpning av vinu, åpning av en ventil/krav ). En regulator kan sammenliknes me en person som stiller inn et væskenivå i en tank til en ønsket posisjon me for eksempel en ventil me øyet som referanse, men enne personen må stå konstant me ventilen i hånen og regulere ettersom utstrømningen av tanken ikke er konstant. Selv om prosessen styrer mot en fast enhet (posisjon/hastighet ) er et ofte benyttet en prosentgivning båe mot prosessens ønsket referanse og påragsorganets. Dette kan eksempelvis være 0 100% på en områe på 0 2m nivå i en tank. Figur 2.3: Omgjøringer fra Bit - % og motsatt Gjør oppmerksom på at ve enne omgjøringen, er et ikke allti at prosessverien blir en samme som satt- prosessveri ettersom at PLS heltalsavruning ikke allti stemmer. Eksempel: 59[%] 250 r = = 147.5[bit] == Avrunes i PLS = 147[bit] 100 147[bit] 100 y = = 58.8[%] == Avrunes i PLS = 58[%] 250 Prosessverien vil legge seg er satt- prosessveri skal være, men inikasjonen på HMI gir avvik på 1%. Regulatorer kan være enten igital eller analog. De igitale regulatorene har en gitt samplingsti (tisbestemt intervall for innhenting av ata) hvor e tar inn prosessverien og gir sitt birag i forhol til, mens e analoge kjører kontinuerlig. 9

Regulatorens virkemåte er helt avhengig av om en skal jobbe mot en treg eller en rask prosess. Ekempelhvis: - Treg prosess: Regulatoren jobber som temperaturregulator av et stort rom. - Rask prosess: Regulatoren jobber som Cruise Control på en sportsbil. Foreler me et automatisert regulert system: - Bare en stor engangssum for innkjøp av systemet ve etablering - Lave kostnaer ve velikehol og service - Ve stanariserte komponenter kan systemet raskt enres for forbering eller oppgraering - Én operatør kan ha kontroll over mange regulatorer/systemer/prosesser om gangen ve bruk av et lokalt/sentralt kontrollrom. Bakeler me et automatisert regulert system: - Trenger autorisert personale til å velikehole og servicere anlegget. Dette fori systemene som benyttes krever spesiell opplæring og forståelse. - Ve feil på aleneståene sensorer (ikke reunans [parallelt system som ikke jobber sammen, men styrer en samme prosessen. Hvis et blir feil på et ene systemet fortsetter en anre ubemerket]), stopper hele prosessen før sensoren er reparert/byttet. I prosjektet benyttes et henholsvis kun parameterne P eller PI i hove- regulatoren (serieregulatoren). 2.2.1 Regulatorens innstillinger/settings. Regulatorer er velig fleksible og for at en regulator skal kunne styre mange forskjellige prosesser, må en kunne stilles inn til å regulere hver enkelt prosess. For å ha stor fleksibilitet er et ønsket at man kan sette inn esimaltall i mange av regulatorens parametere. I prosjektet benyttes et en PLS (Programmerbar Logisk Styring) som ikke hånterer esimaltall (flyttall) er regulatorer arbeier. For å fortsatt ha muligheten til å bruke esimaltall, blir variablene multiplisert slik at esimaltallet blir et ikke- esimaltall. I hovesak benyttes et isse parameterne i en generell regulator: 10

2.2.2 Samplingsti: Ve benytting av en igital regulator (ikke analog) må et spesifiseres hvor ofte regulatoren skal se på inngangssignalene (fra sensorer som overvåker prosessen, som for eksempel høyemåler), gjøre kalkuleringer i forhol til e satte biragsparameterne, for så gi signal til påragsorgan(ene). Innstilling av samplingsti er avhengig av om prosessen er rask eller treg. Ve en treg prosess er et unøvenig at regulatoren henter inn fra prosessverien velig ofte, ettersom prosessverien a ikke har enret seg mye sien sist gang regulatoren hentet verier. Derimot mot en rask prosess er et viktig at regulatoren ser på prosessverien velig ofte ettersom prosessverien enrer seg rask. Siesprang: Ve benytting av D- leet på en rask prosess, og innstillingen for Samplingsti er satt for sent, vil D- leet gi et enormt birag ettersom en vil se at enringen i prosessen er stor sien sist regulatoren hentet verier. Av ette vil prosessen bli velig ustabil, og av ette benyttes sjelent D- leet ve raske prosesser. 2.2.3 Direkte- eller reverserene regulator: Forskjellige prosesser krever forskjellige påragsorgan (elementet som gjør jobben for å hole prosessen konstant [ventiler, motorer ]). Hovesakelig er forskjellen om påragsorganet må øke eller minske sitt pårag i forhol til økene eller minkene respons mot prosessen. Eksempelvis hvis et rom skal hole en konstant temperatur, er et helt nøvenig og vite om et trenger et påragsorgan som jobber me kjølig eller oppvarming. Ve kjøling må organet øke sin styrke når temperaturen øker, DIREKTE- kobling, men ve et varmene organ når temperaturen øker, må organet minske sin styrke, REVERSERDE- virkning. Figur 1.4: Direkte- /Reverserene virkning av Regulatoren Reverserene: avvik = ønsket veri prosessverie = r y Direkevirkene: avvik = prosessverie ønsket veri = y r 2.2.4 Manuell: Settes regulatoren i Manuell kobles alle automatiske kalkuleringer ut og lar ingeniøren/prosessansvalig/operatøren stille inn hvor mye som er ønsket at 11

påragsorganet skal påvirke prosessen manuelt. Dette er ønsket ve eksempelvis en velig treg oppstart av prosessen. 2.2.5 Auto: Figur 2.5: Eksempelvis fremstilling av e forskjellige reguleringstypenes respons mot prosessen 2.2.5.1 P- forsterkning: P roporsjonalforsterkerleet er en konstant satt av ingeniør/prosessansvarlig/operatør for å gi et proporsjonalt birag i forhol til avviket prosessen har. Økes enne parameteren for mye, vil prosessen bli velig ustabil og senke levetien på påragsorganet. Ve å kun benytte ette leet i et regulert system, vil et allti forekommet et avvik i prosessen i forhol til satt- ønsket veri (Stasjonært [når prosessen er rolig]). Dette fori ve en gitt forstyrrelse gir P- leet kun et proporsjonalt birag for å motvirke ette. Det vil si at ve lav forstyrrelse vil avviket være lite, men ve en stor forstyrrelse vil avviket være stort. I teorien vil ette leet ikke gi noe birag hvis et ikke er avvik i prosessen (noe som ikke vil forekomme hvis prosessen kun kjører me ette leet) 2.2.5.2 I- forsterkning: I ntegralforsterkerleet er et tis- satt birag som benyttes er et ikke ønskes et stasjonært (prosessen er rolig) avvik fra satt- ønsket prosessveri. Dette leet integrerer (arealet mellom) avviket prosessen har mellom prosessens faktisk veri og satt- ønsket prosessveri. Det vil a si at hvis prosessen holer et avvik over ti, gir I- leet mer birag til påragsorganet. Dette leet kjøre alri alene, men i sammenheng me P- leet. 12

Mot prosjektet kan et velges om I- leet skal benyttes eller ikke og ettersom regulatoren er igital, fungerer I- leet på en måten at en ser på forrige prosessveri og nåværene prosessveri og gir sitt birag i forhol til ette. 2.2.5.3 D- forsterkning: D erivatforsterkningsleet er biraget som hjelper til å få et raskt svar fra regulatoren for å unngå store enringer i prosessens faktiske veri. Leet eriverer prosessverien og ser erfor stigningsgraen til prosessenringene og gir innsatt forsterkning i forhol til ette. Dette leet benyttes i liten gra er prosesser er raske. Dette for å ikke få ustabil prosess. 2.2.5.4 Nominelt pårag (U0): Det nominelle påraget er et konstant birag som legges til etter e anre prosess- leene er kjørt. Dette for å gjøre at prosess- leenes birag ikke må settes høyt, og erav. U0 er som oftest satt til et samme som arbeispunktet (Der ønsket prosessveri som oftest skal sette til). U0 varierer når et benytes rykkfrie overganger mellom eksempelvis PI- til P- regulering. U0 benyttes ikke hvis et benyttes Foroverkobling i prosessen. Da er et Foroverkoblingen som tar anelen U0 skulle gjort. Figur 2.6: Regulatorparameterenes utforming i Regulatoren 2.2.6 TILLEGGSREGULATOR I enkelte prosesser, spesielt trege, kan et være en forel at et benyttes en egen regulator for å hjelpe hoveregulatoren (serieregulator). Det finnes flere metoer å benytte flere regulatorer mot en samme prosessen. Dette mot et annet påragsorgan eller mot et samme som serieregulatoren jobber mot, men tilleggsregulatoren som benyttes i prosjektet er en foroverkoblet regulator, Foroverkobling. Denne benytter en sensor for å etektere hvor mye av et prosesserte meiet som går ut av en regulerte beholeren. Dette for å raskt imøtekomme en forstyrrelse før et påvirker en regulerte prosessen for mye. Denne regulatoren kjøres (som oftest) i én av tre forskjellige mouser: P (proporsjonalt birag i forhol til forstyrrelsen), D (legger merke til hvor raskt enring i forstyrrelsesforskjell oppstår) eller i begge (PD). Ve benytting av 13

Foroverkobling benyttes ikke Nominelt pårag ettersom foroverkoblingsregulatoren alleree gir et birag for å gjøre at serieregulatoren ikke må jobbe overnøig. 2.2.7 Prosjektets Regulator (Entank) Det er mange måter å lage en regulator i en PLS, men vi valgte å lage en regulator som en funksjonsblokk (FB). Dette gjør et velig lett å ekspanere ve senere nøvenighet. Hvis et for eksempel ve en senere anlening ønskes å sette inn en regulator til, kan en ny funksjonsblokk settes inn. Om a nøvenig å enre innvenig oppbygging av regulatorene, trenger ette kun gjøres uner egenlage- funksjonsblokker. Aller første gang regulatoren settes i rift, har vi valgt at en settes automatisk som en P- Regulator. Dette for å allti ha et utgangspunkt ve igangkjøring av regulatoren. Figur 2.7: Egenlage Funksjonsblokker 2.2.7.1 Utvenig utseene REGULATOR_G4 Figur 2.8: Funksjonsblokk REGULATOR_G4. Innganger og utganger til/fra Gruppe4 s regulator Regulatoren som funksjonsblokk gjør et enkelt å koble til e nøvenige signalene som regulatoren trenger. Vår regulator er byg som serieregulator me innebygget 14

foroverkoblingsmuligheter. Hvis ette ve en senere anlening ikke er nøvening, kan isse inngangene og utgangene utelates å koble variabler til. Det er ønsket at systemet skal huske hvilken reguleringstype (P / PI) som ble kjørt før regulatoren ble satt i Manuell, men vår regulator hånterer kun én reguleringstype av gangen. Av ette forekommer et en logisk håntering av signalene inn mot RegType_P, RegType_MAN og RegType_PI. 2.2.7.2 Regulatorens inre oppbygging Regulatoren er strukturert, got okumenter og ryig bygget opp for senere å lett kunne enre eller gjenkjenne regulatorens oppbygging. 2.2.7.3 Rykkfrie overganger (Bumpless) Av fleksibilitetshensyn er et nøvenig at en regulator lett skal kunne håntere overganger mellom e forskjellige kjøremåtene (P / PI / PD / PID), men meningen me e forskjellige kjøremåtene (ingen avvik / rask å se enringer / enkel kjøring ) kan gjøre at overganger mellom e forskjellig kan påvirke prosessverien på uønsket måte. Av ette er et innført Rykkfrihet. Dette gjør at overgangene, av navnet, er rykkfrie. Dette gjøres henholsvis i regulatorens oppbygging, men ettersom prosjektet kjører me flere PLS r (Master og Slave(r)), har vi valgt at noe gjøres eksternt (utenfor selve Funksjonsblokk- Regulatoren) i PLS ne. Regulatoren skal kunne håntere overgangene: - RegType- P til RegType- PI - RegType- PI til RegType- P - RegType- MAN* til RegType- P - RegType- MAN* til RegType- PI - RegType- P til RegType- MAN* - RegType- PI til RegType- MAN* *Manuell 15

Overgang mellom RegType- P til RegType- PI og RegType- MAN til RegType- PI: Figur 2.9: Overgang fra MAN- og P- regulering til PI- regulering Dersom forrige regulering var i P og PI velges, overføres et siste (forrige) birag til påragsorganet til PI- reguleringselens forrige - birag. Dersom forrige regulering var i MAN og PI velges, overføres et siste manuelle påraget fra ingeniør/prosessansvalig/operatør til påragsorganet til PI- reguleringselens forrige - birag. Ettersom I- leet gir et birag på bakgrunn av forrige avlesning og nåværene veri, gjør ette at overgangen til PI blir rykkfri (fortsetter uavbrutt). Etter at overføring av e nøvenige variabler er gjort, eaktiveres foregåene reguleringstype og ny settes som kjørene. Overgang mellom RegType- P eller RegType- PI til RegType- Manuell: Figur 2.10: Overgang fra P- eller PI- Regulering til Manuell (Slave- PLS) Den rykkfrie overgangen mot Manuell står et om uner Master PLS - Rykkfrie overganger. Etter at overføring av e nøvenige variabler er gjort, eaktiveres foregåene reguleringstype og ny settes som kjørene. 16

Overgang mellom RegType- P eller RegType- PI til RegType- Manuell: Figur 2.11: Overgang fra P- eller MAN- Regulering til P (Slave- PLS) Den rykkfrie overgangen mot P- Regulering står et om uner Master PLS - Rykkfrie overganger. Etter at overføring av e nøvenige variabler er gjort, eaktiveres foregåene reguleringstype og ny settes som kjørene. 2.2.8 Gamle verier. For hver gang samplingstispunktet (satt av Samplingsti) for regulatoren utløper (aktivert av puls) føres e veriene som regulatoren ga ut / hae inn til en forrigeveri. Dette gjøres på negativ flanke via en PLF. Figur 2.12: Oppatering av gamle verier Disse veriene innebærer blant annet Kp-, TiH- og Påragsverier. 17

2.2.9 Omgjøringer av variabelstrørrelser. Ettersom et multipliseres alleree store innkommene verier som Wor (16bit integer tallverier) me potensielt ± veri på 2!"!! = 2!" = 32 768, må isse gjøres om til Double Wor (32bit integer tallverier) me potensielt ± veri på 2!"!! = 2!" = 2 147 483 648. Eneste utforringen me ette er at når et Double Wor multipliseres/ivieres me et Double Wor, legges ette inn i et array me 2 elementer, og tallveriet som vi ønsker å ha tak i ligger i et første. Derfor vil man se Figur 2.13:Omgjøringer fra Wor til Double Wor gjennom vårt program at et står eksempelvis D_Pforsterkning[0]. 2.2.10 Grensekontroll (Saturation) Enkelte elementer i en prosess kan ikke håntere verier høyere eller lavere enn en gitt menge. Dette forekommer på prosjektet mot påragsorganet (reguleringsventilen). Denne kan ikke håntere verier lavere enn 0 og høyere enn 255 (som gjøres om via en DA- omformer før strømsignalet [4-20mA] senes til ventilen). Derfor benytter vi egenlage saturation- blokker. Blokken vi har laget kan velges om må jobbe mot Wor eller Double Wor. Se elkapittel omhanlene egenlage funksjonsblokker for mer info. Grensekontroll benyttes også for å unngå at enkelte eler av regulatorens parametere ikke skal overstige enkelte grenser e også. Deriblant PI- regulering. Figur 2.14: Egenlag Funksjonsblokk for Grensekontroll (Mot reguleringsventil) 18

Regulatorparametere Gruppe 4 2.2.11 P- Regulering Figur 2.15: P- Regulering Pårag = Kp!"#$%## avvik + nominelt pårag = Kp ek + U0 2.2.12 PI- Regulering [Se velegget me PLS- programmet for fysisk utforming NW17-22] Ettersom PLS n som benyttes ikke kan håntere esimaltall må et benyttes resttallsivisjon og flere operasjoner for at heltallsivisjon ikke skal bli null. Derfor brukes et to sett me likninger først for så fortsette me to anre etterpå: 1 og 2 byttes me A og B etter ett scan. Kp ek 1: ΔUik = TiH 10 2: ΔUik!"#$ = Kp ek % TiH 10 [% = moulo] A: ΔUik = Kp ek + ΔUik!"#$!!! TiH 10 B: ΔUik = (Kp ek + ΔUik!"#$!!! ) % TiH 10 2.2.13 Foroverkobling [Se velegget me PLS- programmet for fysisk utforming NW23-26] Denne kan velges om skal kjøres i P, D eller PD. P: Pårag!!! = Kp!! Vk Figur 2.16: Foroverkobling. P- Leet 19

Figur 2.17: Foroverkobling. D- Leet D: Tf!! =!"!!! Pårag!!! =!"!!!å!"#$!!!!!!!!"!!!"!! (!"!(!"!!))!!!"!! [Kpff=1] PD: Pårag!"!! = Pårag!!! + Pårag!!! 2.2.14 Valg av kjørene parametere Figur 2.18: Igangvalg av parameterne Ve overgang mellom e forskjellige reguleringstypene skal et overføres forskjellige variabler for å få rykkfrie overganger, men for å forsikre seg om at ette faktisk skjer, benyttes et TON- blokk for å la variablene bli innsatt. Det legges også inn en forrigling som gjør at kun én reguleringstype kan kjøres av ganger. Etter ette er gjennomført settes kjørene RegType som aktiv og overfører regulatorens pårag til utgangen på funksjonsblokken. 20

2.3 Master (JAK og FRM) Master- PLSen er selve kommunikasjonsleet i prosessen. Den jobber me å forele verier mellom ix- panelet, OPC- server og slave- PLSen. Vår master har fått 5 POU- er som vi nå skal forklare. 2.3.1 POU- er i Master: 1. Den første har fått navnet MAIN, fori en tar seg av alt av verier som regulatoren skal jobbe me og rykkfrie overganger. Vi har valgt å benytte oss av stanarverier som er etter kravet. Refererer her til simuleringsnotatet, velegg 1. Stanarverier legges inn når knappen «Stanarverier» i HMI trykkes, skrivefunksjonen en puls som setter e ulike stanarveriene. Se figur 2.19. Figur 2.19: Setting av stanarverier Dette gjøres ve at veriene ligger inne fra før, og e skrives a til e ulike ataregistrene vi har valgt å benytte. Som stanar ligger P- regulering inne. Vi har et eget bit som er høy når Profibusen har error. Det kan være blant annet at forbinelsen brytes. Når ette bittet blir høyt (1), vil alt av regulering og alarmhåntering i slaven fortsette. Når forbinelsen kommer tilbake, har vi valgt at prosessen stopper (pumpen stopper). Det er gjort me tanke på sikkerhet. I- elen av PI- regulatoren trenger en variabel som er integrasjonstien elt på samplingstien (kommer nærmere inn på ette). Verien til integrasjonstien trenger a ikke å senes. Hvilken type regulator som benyttes er også valgt her. De ulike variablene settes, mens resten resettes slik av vi ikke har kollisjon mellom flere regulatortyper. Ve foroverkobling settes et nominelle påraget til 0. 21

Når et gjeler rykkfrie overganger har vi valgt å gjøre noe av ette i Master. Fori noen av parameterne styres alleree av Master, erfor er ette naturlig å gjøre i Master. Ve overgang til MANUELL mous må prosessverien skrives til referansen. Fra MANUELL til P- regulering settes et manuelle påraget til nominelt pårag i P- regulatoren. Ve overgang fra MANUELL til PI- regulering vil et manuelle påraget settes til et forrige påraget i PI- regulatoren. Overgangen fra PI til P blir et forrige påraget satt til et nominelle påraget til P- regulatoren. 2. Batterimatee minneceller virker på en måten at et er et lite batteri i PLSen som forsyner isse minnecellene me strøm, ve for eksempel strømbru. Minnecellen husker erfor hvilke veri en hae fra før, etter strømbruet, noe som gjør at prosessen kan starte igjen er en var, eller me e veriene en hae. Dette har vi benyttet oss av i vårt PLS program i master PLSen. Refererer til velegg 5, POU A02_Batterimating for programbiten. I første scan, bruker vi SM402 som er en puls som kun er høy ve første scan i master PLSen (Q- PLSen). Derme kan vi benytte oss av en blokk som a flytter en gamle verien fra e batterimatee minnecellene til e minnecellene som blir tatt i bruk viere i programmet. I våres program er e variablene som har en stor R i starten av navnet, betegnelse på at et er en batterimatet minnecelle me et wor, og me stor L ersom et er en batterimatet minnecelle me bit. Figur 2.20: Illustrasjon av - blokk som flytter en veri, fra venstre til høyre Som et eksempel her så flytter vi a en gamle verien for nominelt pårag fra en batterimatet minnecelle (R_SLV1_NomP) fra slave 1, til en vanlig minnecelle (SLV1_NomP) for nominelt pårag i slave 1 som blir tatt i bruk viere i PLS 22

programmet. Denne programbiten er hentet fra initieringen av master PLSen slik at systemet får en verien en hae før systemet ble slått av eller et evt strømbru. Vi bruker blokker som flytter e gamle veriene for K p, nominelt pårag, avviksgrense fra HMI, K p - foroverkobling, T - foroverkobling, N- veri til foroverkobling, samplingsti og referansen. Etter at initieringen er ferig, altså ve første scan, bruker vi en aresse som ligger høy hele tien etter første scan, enne heter SM403 i Q- PLSen. Denne gjør at veriene som blir inntastet i brukergrensesnittet, som for eksempel K p - veri, referanse og verier for anre variabler nevnt i forrige avsnitt, blir flyttet fra e vanlige minnecellene til batterimatee minneceller. Dette gjøres a for hvert scan. Som vist uner foregår ette på følgene måte: Figur 2.21: Illustrasjon av - blokk som flytter veri inn til en batterimatet minnecelle 3. Alarmhånteringen har fått plass i Master- PLSen. Profibus- enheten har bufferminner som går høy når Profibus- nettverket har error. Disse minnecellene hentes inn og skrives til minnecellene. Ulike minneceller følger ulike slaver, mens en av minnecellene har buserror- status. 1 vil si error, mens 0 vil si ingen error. Alarmene kan kvitteres ve at alarmen blir resatt. Alarm- variabelen inneholer flere forskjellige alarmer. En av e er at nivået overstiger 90%. Da blir pumpa skru av. Hvis en av Slavene på bussen faller ut, gis en felles alarm (Felles- alarmen gir kun rø lampe i HMI- systemet) 4. I enne POU- en blir variablene som går inn og ut på Profibusen sent og mottatt. Dette gjøres ve at funksjonsblokkene BitCoer og BitDecoer pakker en og pakker opp bit som senes i wor på Profibusen. Ve nærmere forklaring refereres et til miniprosjektrapporten kapittel 4. 23

5. Konfigureringene er innstilt i GX Configurator og er skrevet i instruksjonsliste, IL, i master. Denne er plassert i master POU nr.5. For nærmere forklaring refereres et til miniprosjektrapporten kapittel 4. 2.4 Programmet i Slave- PLS: (MI og JAK) Slave- PLSen har fått 4 POU- er som har vært sitt arbeisområet. Hva som skjer i hver av e skal vi nå forklare: 1. I første POU er regulatoren plassert. I første nettverk har vi en initiering av aressering av slaven. Dette gjøres helt først sien et er viktig at PLS har fått inn sine aresser før en mottar ata. Dette skjer kun ve første scan, og vil være er så lenge PLSen er i RUN. Samplingstien er noe operatøren kan få velge, erfor er et viktig at en også er enkel for PLSen å få enret. Vi må få generert en samplingspuls av samplingstien slik at vi kan la regulatoren få isse pulsene. Vi har valgt å lage en egen funksjonsblokk som tar seg av enne genereringen. Variabelen som heter Samplingsti_100ms har verien til samplingstien i millisekuner. Selve pulsen får vi igjen på i variabelen SamplingsPuls. Se forklaring av funksjonsblokken i velegg 5. Figur 2.22: Samplingstimer funksjonsblokken I et siste nettverket kommer en egenlage regulatorblokken, som forklart tiligere uner egenlage funksjonsblokker, kapittel 2.1: 2. Den elen av alarmhånteringen som ikke ble gjort i Master gjøres i enne POUen, erav navnet AlarmHantering. Hvilke betingelser for at alarm skal gå må hånteres i Slave. En el av alarmhåntering er at man har en avviksgrense fra referansen som operatøren selv kan velge, men hvor stort avviket fra 24

referansen skal være er forutbestemt me 25%. Her blir isse variablene kontrollert og utregnet. Figur 1.23: Grensesetting av avviksgrensene Avviksgrensevariabelen, ALM_Avvik_FraMaster (25%), blir først aert til referansen for å sette veri til en øvre grensevariabelen. Det gjøres også for en nere grensevariabelen, men a må vi subtrahere referansen me 25%. Deretter blir veriene begrenset til områet 1-99 for å ikke kunne overstige/unerstige 0-100%. Dette gjøres inne i en egenlage funksjonsblokken som heter Saturation_FB, se tiligere forklaring kapittel 2.1. Hvis referansen byttes til et nivå som er utenfor forrige avviksgrense får prosessen 2 sekuner til å få justert seg tilbake til innenfor avviksgrensene, slik at alarmen ikke går uten mening. Dette gjøres ve at referansen oppateres hvert 0.5 sekun og erme sammenlignet me forrige referanse. Hvis e er like gjøres ingenting. Hvis e er ulike blir en elen av alarmhånteringen som nettopp forklart, satt på vent i 2 sekuner. Se på figur 2.24 uner: Figur 2.24: 0.2 sekuner holning av referanseenring (Rykkfrie overganger). Avviksgrensene har også fått sine kritiske nivåer. Disse er over 90% og uner 10%. Prosessverien blir ve hvert scan sammenlignet me 90 og 10. Hvis en er over 90% eller uner 10%, samt hvis regulatoren ikke er satt i manuell, pumpa er skru av eller hvis nivået alleree er innenfor kritisk avviksgrense, blir 25

alarmvariabelen Mellom10og90_OK lav. Dette sjekkes ve hvert scan, hvis ikke blir enne variabelen satt høy. Denne settingen av alarm blir også avventet me 2 sekuner av rent praktiske årsaker. Akkurat et samme gjøres for en alarmen som sjekker om nivået er over/uner ±25%. Deretter må isse variablene som blir satt høye ve avvik også sette alarmen. Hvis prosessen har vært innenfor hovegrensene og går over/uner grensene kommer et alarm etter satt alarmti. Hvis øvre grense er en som aktiverer alarmen, eaktiveres også pumpen. Hvis alarmen går og en kvitteres, men kravene for at alarmen skal gå fortsatt er oppfylt, vil alarmen fortsatt være er. Derfor er isse styrt av pulser som aktiverer alarmen hver gang kravene oppfylles. Hvis "gammel" alarm er kvittert og "ny" kommer, eaktiveres kvittering og gjør en "nye" alarmen mulig å kvittere. Dette gjøres for å ikke få overflyt av alarmer som er innforstått av hveranre. F.eks. ve at nivået er på 8% me en referanse på 55%, vil kun kritisk alarm gå. Når alarm(er) er kvittert, er alarminikasjonen fortsatt aktiv ersom alarm- grunnen fortsatt er tilstee. Når alarm- grunnen forsvinner, forsvinner alarminikasjonen ersom en er blitt kvittert. Hvis alarm aktiveres, må prosessverien komme innenfor grensene (hove / avvik) for at alarmen skal komme på igjen. Forskjellige alarmer har forskjellige blinkefrekvenser i lampa som er plassert på riggen. Kritisk alarm har blink på 0.2 sekuner, og hovealarmen har blinkefrekvens på 0.5 sekuner. Begge blinkefrekvensene blir ikke kjørt samtiig, som sagt tiligere, kritisk alarm blir prioritert. Disse blinkene blir kjørt me M8013 og M8012. M8012 er høy og lav hvert 50. millisekun, mens M8013 varierer me 500 millisekun. I siste nettverk blir pumpen eaktivert hvis øvre grense er en som aktiverer alarmen. Alarmen som sier ifra om busfeil blir også tatt me i alarmlampen. Verien og betingelsene kommer fra regulatorblokken. 3. Denne POU- en sener ut verier på DA- omformeren, og mottar verier fra AD- omformeren. Disse gjøres me egenlag funksjonsblokk Analog_FB som forklart i miniprosjektrapporten kapittel 4. 26

Figur 2.15: Inn- og utganger av AD/DA- omformeren 4. I enne POU- en blir veriene sent ut og inn av Profibusen, referer til miniprosjektrapporten kapittel 4. Dette gjeler alt av verier som behanles båe i Slave og Master. De egenlage funksjonsblokkene fra miniprosjektet som heter Profibuss_FB, BitDecoer_FB og BitCoer_FB blir benyttet. 27

3 Antialiasingfiltre: (JAK) Det ble brukt antialiasingfiltre i forbinelse me regulatoren. Disse filtrene ble brukt til å filtrere høyfrekvent støy fra målt nivå i tanken, og på målt utløp. Vi har valgt å imensjonere to ientiske 2. orens filtre. Det ene filteret ble koblet i mellom flow- transmitteren og inngangen på AD- omformeren og et anre ble koblet mellom level- transmitteren og AD- omformeren. Tankriggen er lagt til rette for å koble antialiasingfiltret rett på. Vi brukte M8012 som sjekker inngangene på AD/DA- omformeren. M8012 fungerer slik at en bytter mellom 1 og 0 hver 50ms, altså vi får en samplingsti i AD/DA- omformeren: f! =!! =!!.! = 10Hz w! = f! 2π = 10Hz 2π = 62.83!"# Nå vet vi hva samplingsfrekvensen til AD/DA- omformeren er. Vi kjente ikke til støyen, så vi måtte imensjonere slik at vi fikk tilstrekkelig me emping alleree ve halve samplingsfrekvensen. Ieelt sett bure all tenkelig støy empes til! LSB ve halve samplingsfrekvensen, men et krever en alt for lav! knekkfrekvens for filteret, eller en urealistisk høy filteroren. Sien vi har 2 orens filter, noe som betyr at emping ve halve samplingsfrekvensen må bli årlig. Vi velger ut i fra figur øverst på sie 44 i sanntisboka. 8bit - - > 20B - - > n=2 - - > 0.316!!! (w! i forhol til!!! ) Alternativ metoe 1:! w! = 0.316 w! 2 ra 62.83 = 0.316 s = 9.93 ra 2 s Alternativ metoe 2: w! = u!"ø!!""!#!"#$%& u!"ø!!! w! 2 28

u!"ø!!""!#!"#$%&!" = 20B = 10!!" = 0.1 u!"ø! w! = 0.1!!!".!"! = 9.93!"#! Slik ble knekkfrekvensen funnet, eretter valg av resistanse- og konensatorverier: Vi velger C 1 = C 2 = 1μF (velger etter E- 3 serien) α = w! cos 45! = 10 ra s cos 45! = 7 R! =!! = = 71kΩ (her velger vi fra E- 24 serien, erfor R!!!!!!!!"!! 1 = 68kΩ) R! =!!!!!! = = 140kΩ (her velger vi fra E- 24 serien, erfor R 2=150kΩ)!!!!"!!!"!! Filteret testes i multisim: Figur 3.1: Moellert filter i Multisim. (Opampene bør forsynes me mer enn +9V) 29

Test av filteret me signal- generator: Er tatt i bruk c- programmert logger som har logget signalet ut og inn av filteret. Blå er innsignal, rø er utsignal. Figur 3.2: Filtrering av genererte signaler Figure 3.3: Sprangrespons uten filter Figure 3.4: Sprangrespons me filter 30

Figur 4.2 Ulike operatørbrukere HØGSKOL I SØR TRØNDELAG 4 HMI InTouch (SH) I miniprosjektet fikk vi en innføring i programmet InTouch. I tillegg gikk vi grunig gjennom oppsettet for kommunikasjonen mellom InTouch og Q- PLSen, gjennom OPCServer, OPCLink og OPC Tag Creator. Dette vil erfor ikke bli gjennomgått i enne rapporten. Se kapittel 7 i miniprosjektrapporten. I enne rapportelen er et grafiske esignet av entankprosjektet i InTouch grunig gjennomgått. Dette programmet inneholer en tank, innloggingsmuligheter for tre forskjellige operatører som har forskjellige lese/skriverettigheter, sanntistren, historisk tren og alarmer. Velegg 3 viser en oversikt over hvilke lese/skriverettigheter hver enkelt operatør har. Vi har valgt og legge sanntistrenen i samme vinu som prosessen. Dette gjør et mer hensiktsmessig enn å skifte mellom flere vinuer når et gjøres en enring i innstilingene. Vi har også valgt å ha e 3 operatørnivåene i 3 forskjellige vinu, for å få et mer oversiktlig. Alle tagger som er brukt finner man uner velegg 7, kolonnen «HMI». Grunnleggene ting utført i miniprosjektet vil ikke bli forklart i enne rapporten. 4.1 Innlogging Tre ulike operatører skal kunne logge seg inn. Det første vi gjør er å sette opp brukere i InTouch applikasjonen, se figur 4.1. Figur 2.1: Oppsett av brukere For at vi skal kunne lage egne brukere på Configure Users må vi bruke InTouch sin egen bruker, er Aministrator er brukernavn og Wonerware er passor. Deretter kan vi lage våre egne brukere: OPERATØR1, OPERATØR2 og OPERATØR3, me passor Op1, Op2, Op3 og Access Level 1000, 2000 og 3000. Se figur 4.2. 31

Figur 4.3 viser innloggingssien og innlogget sie. Figur 4.3 Innloggingsvinu Vi obbeltklikker på logg ut knappen, velger Action uner Touch Pushbuttons og skriver inn som vist på figur 4.4. Figur 4.4 Scriptet for "Logg ut" knappen De anre tre knappene obbeltklikker vi på, velger Show Winow uner Touch Pushbuttons og velger e vinuene som skal åpnes. Sist innlogget ato og ti lager vi me to forskjellige # som er tilknyttet Memory Message taggene Date og Time. Disse taggene henter ato og ti fra InTouch sine tagger, $DateString og $TimeString, se figur 4.5. 32

Figur 4.5 Script for "Sist logget inn" tagger For at veriene på ato og ti ikke skal forsvinne når programmet lukkes, huker vi av Retentive Value når taggen lages, vist på figur 4.6. Figur 4.6 Sette opp en tag som husker informasjon 4.2 Grafisk esign Prosess og sanntistrenvinu Det ferige prouktet av esignet ser ut som på figur 4.7. Figur 4.7: Grafisk esign entank, operatør 3 33

Vi begynner fra venstre og begynner a me e 3 trykknappene. Vi lager 3 knapper me Button iconet helt til høyre og kaller e, fra øverst til neerst, Logg ut, Historiske Trener og Alarmer. Vi obbeltklikker på Logg ut knappen og trykker Action uner Touch Pushbuttons og får a opp et script vinu. Dette scriptet kjøres når knappen trykkes på. Operatøren skal kunne logge seg ut av innlogget operatørnivå. Da blir scriptet seene ut som på figur 4.8, er Innlogging og Prosess3 er innloggingsvinuet og prosessvinuet for operatørnivå 3. Figur 4.8 Scriptet for "Logg ut" knappen For å få ti og ato over knappene lager vi to tekster me en # i hver av e. Vi obbeltklikker på isse og velger String uner Value Display. Her legger vi inn e to taggene $DateString og $TimeString, se figur 4.9. Figur 4.9 Tag som henter inn sannti 34

Neste el er flytskjema for tankriggen, vist på figur 4.10. Figur 4.10 Flytskjema, En- Tankrigg Vi begynner me selve tanken og velger Roune Rectangle helt til høyre. For å få tanken til å fylle seg, obbeltklikker vi på tanken og velger Vertical uner Percent Fill og legger til tag som vist på figur 4.11. Figur 4.11 Fylling av tank Deretter velger vi fargen på fyllingen uner Fill Color - > Analog. Her skriver vi inn samme taggen og velger Breakpoints. Det er røt på 9 og 91 som skal inikere alarmstatus på kritisk nivå uner 10% og over 90% av absolutt nivå. 35

Figur 4.12 Valg av fargen på fyllingen ve ulike nivå Pilen og strekene som vi ser på figur 4.7 og 4.10 viser hvor referansenivået ligger. Pilen er laget me Polygon som ligger helt til høyre. Samme me Line. Først plasserer vi strekene og pilen nee på 0% som vist på figur 4.13. Figur 4.13 Viser referanse og øvre/nere alarmgrense Vi obbeltklikker på strekene og pilen hver for seg og velger Vertical uner Sliers. Vi får opp følgene vinu: Figur 4.14 Valg for Slie funksjon Her legger vi inn referansetaggen på en grønne streken, og nere og øvre grense taggen på e to røe. Deretter velger vi hvor høyt objektene skal bevege seg oppover i forhol til 0 og 100 prosent. Verien på Vertical Movement finner vi på følgene måte: - Sett objektene på 0% (se figur 4.13) - Sett en tilfelig veri - Kjør Runtime - Slie objektene til toppen - Deretter juster ne eller opp på verien helt til objektene treffer 100% på tanken Strekene på sien av tanken som viser nivå, lager vi manuelt me Line og Text. 36

Alle rør i tankriggen er tegnet me polygon. Magnetventilene består av fire eler og er vist på figur 4.15. Timeglasset er laget me Polygon. Figur 4.15 Magnetventil Timeglasset lager vi slik at vi kan trykke for å slå av/på ventilen. Dette gjøres ve å obbeltklikke på timeglasset, og velge Discrete Value uner Touch Pushbuttons. Her legger vi inn taggen og velger Toggle som Action. Når Magnetventilen er på, skal en lyse grønt. Dobbeltklikker vi på e 3 elene og velger Discrete uner Fill Color kan vi legge inn tag (Samme tag som Toggler timeglasset) og velge grønn som true og grå som false. Pumpen består av to eler og er vist på figur 4.16. Figur 4.16 Ulike pumpetilstaner Pumpen har tre tilstaner; av, på og alarm. Det ligger to pumper oppå hveranre, er en ene er synlig når en er av/på og en anre er synlig ve alarmtilstan. På samme måte som magnetventilene skal pumpen slås av/på ve å trykke på en, og skifter farge til grønn. I tillegg skal trekanten roteres 90 graer me vannstrømmens retning. Rotasjonen gjøres ve å obbeltklikke på trekanten og velge Orientation uner Miscellaneous, se figur 4.17. Figur 4.17 Rotering av pumpe Her legger vi inn tag og setter CCW (Counter ClockWise) Rotation på 90. X- Position ble 37

- 3 og Y- Position 0 (Her må man bare prøve seg frem). Reguleringsventilen består av fire eler som er vist på figur 4.18. Figur 4.18 Reguleringsventil På samme måte som magnetventilene og pumpen skal reguleringsventilen lyse grønn når en er på. Toppen av ventilen skal vise hvor mange prosent påraget fra regulatoren er. Da setter vi enne toppen som en slier, på samme måte som pilen og strekene på tanken. Her kobles taggen til påraget. Deretter obbeltklikker vi på et høyeste rektangelet og velger Vertical uner Percent Fill og velger påraget som tag. Figur 4.19 viser Flow- transmitteren som viser hvor mye utstrømming et er fra tanken. Figur 4.19 Flow- transmitter Her kopierer vi toppen og et høyeste rektangelet fra reguleringsventilen og plasserer e inn i et rektangel og kobler taggen for utstrømming på isse. Den manuelle ventilen er vist på figur 4.20. Denne er lik som reguleringsventilen, bortsett fra at toppen ikke er en slier, og et er ikke noen mulighet for å slå av/på, erme ikke noe skifte av farge heller. Figur 4.20 Manuell ventil Alarmboksen som vist på figur 4.21, består av 3 forskjellige lamper oppå hveranre. En blinker raskt ve kritisk alarm, en blinker meium ve vanlig alarm og en lyser me fast lys når et er kvittert men fortsatt er alarm. Figur 4.21 Prosessalarm 38

Kritisk og vanlig alarm skal blinke. Det gjør vi i Blink uner Miscellaneous, se figur 4.22. Figur 4.22 Oppsett for blinking ve kritisk alarm Alle lampene stiller vi inn på Visibility uner Miscellaneous slik at bare én lampe lyser om gangen. Neste el er Parameter og innstillingspanelet vist på figur 4.23. Figur 4.23 Panel for parametere og innstillinger På grunn av komplikasjoner me esimaltall i regulatorprogrammet i PLCen, velger vi og gjøre alle esimaltall som skrives i InTouch om til heltall. Dette gjør vi i Tagname Dictionary uner Special, se figur 4.24. Figur 4.24 Tagname Dictionary 39

Vi skriver nå inn 100 i Max.EU og 1000 i Max.Raw, se figur 4.25. Da vil Kp verien bli ganget me 10 før en senes viere til PLCen og vi unngår erme esimaltall. KpFF må a ha 100 og 10000 slik at verien skal ganges me 100. Figur 4.25 Omgjøring fra esimaltall til heltall Innmatingsfeltene er laget av et rektangel, et analogt tallisplay ( 0.0 ) som vi finner i Wizar Selection ( ), som vist på figur 4.26, og to trykknapper som skal incrementere/ecrementere. Figur 4.26 Wizar Selection, analogt tallisplay Vi obbeltklikker på 0.0 og velger tag og krysser av på Allow input Får å incrementere obbeltklikker vi på + knappen og velger Action uner Touch Pushbuttons. Her skriver vi inn i skriptet vist på figur 4.27. Figur 4.27 Script for inkrementering 40

For at et i tillegg skal gå an å hole inne knappen for raskere inkrementering velger vi WhileLeft/KeyDown og setter et på every 100 msec me samme scriptinnhol, som vist på figur 4.28. Figur 4.28 Script for inkrementering Tilsvarene gjør vi me - knappen, bare at et står - 1 og ikke + 1 i scriptene. Når et kjøres i manuell mous skal påraget kunne settes, mens referansen forsvinner. Da legger vi et hvitt felt over referansetallet når et står i manuell og et hvitt felt over påragstallet når et står i auto, se figur 4.29. Figur 4.29 auto/manuell tilstan for referanse/pårag Me inkrementering- og ekrementeringsknappene til referansen og påraget gjør vi et samme som me e anre, bortsett fra at scriptet ser ut som på figur 4.30. Figur 4.30 Scriptet for incrementering av referanse/pårag Figur 4.31 viser en knapp for valg av reversert og irekte mous for regulatoren. 41

Figur 4.31 knapp for Reversert/Direkte mous Vi bruker Orientation uner Miscellaneous slik at knappen flytter seg opp til Dir når en betjenes. Figur 4.32 viser innstillingene. Figur 4.32 Orientation for Rev/Dir knappen Det skal være mulig å stille regulatoren inn på P, PI, manuell og auto. Vi kopierer knappen vi lage for reversert og irekte mous, skifter ut Auto me Rev og Man me Dir, og bruker taggen RegValg_MAN. Vi bruker samme knappen for P og PI, men her har vi to tagger så a trenger vi to forskjellige brytere, som vist på figur 4.33. Figur 4.33 Knapp for valg av P/PI På isse to bryterne huker vi av som vist på følgene figur 4.34: Figur 4.34 42

Den øverste får P taggen i Discrete Value, PI taggen i Visibility og Manuell taggen i Disable (Slik at et ikke skal gå an å betjene bryteren når et står i manuell). Den neerste får PI taggen i Discrete Value, P taggen i Visibility og manuell taggen i Disable. Figur 4.35 Knapp for setting av stanarverier Denne knappen skal sette stanarverier som vi har funnet. Dobbeltklikker vi på knappen og trykker Tooltip uner Miscellaneous, kan vi skrive inn en tekst som kommer opp når musen holes over objektet, som vist på figur 4.35. Dette for å gjøre et mer klart for operatøren hva knappen gjør. Tre regulatortyper for foroverkoblingen kan velges, se figur 4.36. Figur 4.36 Foroverkoblingstyper Disse knappene lager vi me Ellipse og setter e som grønne når e er aktive, slik som vi gjore me magnetventilene. Sanntistrenen er vist på figur 4.37. Denne lages enkelt me Real- Time Tren knappen som ligger helt til høyre. Figur 4.37 Sanntistren 43