2 Alkuperäinen tehtävänkuvaus

Samankaltaiset tiedostot
Projektisuunnitelma. (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

Projektisuunnitelma Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus

S11-09 Control System for an. Autonomous Household Robot Platform

KAUKOVALVONTAOHJELMA CARELAY CONTROL WPREMOTE

Kuumavesitankki - Tehtävä

Joka päivän alussa, asentaja saa ohjeistuksen päivän töille.

Lohtu-projekti. Testaussuunnitelma

Automaatio- ja systeemitekniikan projektityöt 2013

Käyttöohje, ohjauspaneeli Balboa TP600

58160 Ohjelmoinnin harjoitustyö

Power Steering for ATV

Kuutioiden pakkaus - Teoria

S14 09 Sisäpeltorobotti AS Automaatio ja systeemitekniikan projektityöt. Antti Kulpakko, Mikko Ikonen

Liite 2 1(20) Tarkastukset Tekla NIS Offline Inspection ohjelmistolla. Käyttöohje asentajille

COTOOL dokumentaatio Testausdokumentit

Sisällysluettelo 4 ONGELMATILANTEIDEN RATKAISUT... 12

Testausdokumentti. Kivireki. Helsinki Ohjelmistotuotantoprojekti HELSINGIN YLIOPISTO Tietojenkäsittelytieteen laitos

Autentikoivan lähtevän postin palvelimen asetukset

Toteutusvaihe T3 Digi-tv: Edistymisraportti

Uuden työ- tai mittavälineen luominen tietokantaan

Raporttiarkiston (RATKI) käyttöohjeet Ohjeet

Maventa Connector Käyttöohje

Electric power steering

Käyttöohje. Versiohistoria: versio Mari Kommenttien perusteella korjattu versio

Electric power steering

Solteq Tekso v.4.0. Versiopäivitysohje.

Ohjelmistojen mallintaminen. Luento 11, 7.12.

KIITOS RICA OPTIMOINTIOHJELMAN VALITSEMISESTA

Moottorin kierrosnopeus Tämän harjoituksen jälkeen:

Toteutusvaihe T2 Edistymisraportti

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli

Automaattinen yksikkötestaus

Pullotusprosessin ohjaus Metso DNA - automaatiojärjestelmällä. Prosessiautomaation harjoitustyö ELEC-C1220 Automaatio 2 Kevät 2018

Ohjelmiston testaus ja laatu. Testaustasot

Power Steering for ATV

AS Automaatio- ja systeemitekniikan projektityöt - Projektisuunnitelma

Solteq Tekso v Versiopäivitysohje.

AS Automaatio- ja systeemitekniikan projektityöt

A14-11 Potilaan mittaustiedon siirtäminen matkapuhelimeen

Projektityö: Mobiiliajopäiväkirja. Mikko Suomalainen

Opponointitestaus VYM -> LiKe

Concurrency - Rinnakkaisuus. Group: 9 Joni Laine Juho Vähätalo

T Tietojenkäsittelyopin ohjelmatyö. Testisarja Ray tracing. Tietokonegrafiikka-algoritmien visualisointi. Testisarja Ray tracing

MPCC-työkalua voidaan käyttää yhden laitteen valvontaan ja yhden tai useamman laitteen konfigurointiin (Modbus broadcast, osoite 0).

Kannattaa opetella parametrimuuttujan käyttö muidenkin suureiden vaihtelemiseen.

Johdatus ohjelmointiin

BL40A1810 Mikroprosessorit, harjoitus 1

AS Automaatio ja systeemitekniikan projektityöt Projektisuunnitelma Syksy 2009 A09 05 OSGi IRC Bot For Coffee Maker

Autotallin ovi - Tehtävänanto

Suvi Junes Tampereen yliopisto /Tietohallinto 2012

Tekso. 3.0 version päivitysohje

T Testiraportti - järjestelmätestaus

Windows Server 2012 asentaminen ja käyttöönotto, Serverin pyörittämisen takia tarvitaan

OHJ-4301 Sulautettu Ohjelmointi

MEM-O-MATIC järjestelmä

COTOOL dokumentaatio Testitapaukset

Käyttöohje. Ticket Inspector. Versio 1.0. Sportum Oy

Dynatel 2210E kaapelinhakulaite

838E Hands Free Varashälytin

Solidity älysopimus ohjelmointi. Sopimus suuntautunut ohjelmointi

Kysymyspankin käyttäminen

Asennus ja käyttöohjeet

Visma Fivaldi. Ohjeet Java web startin ja HTML5-työkalun aktivointiin

Hälyri-tietojärjestelmän järjestelmätestaussuunnitelma ja -raporttimalli

Johdanto. 1 Johdanto Elite-3x. Aloitus. Painikkeet ja säätimet

Automaattitilausten hallinta

Sen jälkeen Microsoft Office ja sen alta löytyy ohjelmat. Ensin käynnistä-valikosta kaikki ohjelmat

LoCCaM Riistakamerasovellus. Dimag Ky dimag.fi

Nexetic Shield Unlimited

Nimi: Opnro: Harjoitustyön suoritus: ( ) syksy 2006 ( ) syksy 2005 ( ) muu, mikä. 1. Selitä seuraavat termit muutamalla virkkeellä ja/tai kaaviolla:

UML -mallinnus TILAKAAVIO

UCOT-Sovellusprojekti. Testausraportti

McAfee epolicy Orchestrator Pre-Installation Auditor 2.0.0

Joonas Ruotsalainen GIT PIKAOPAS. Tutkielma 2011

Titta-palvelun käyttöohje

PELIAIKASEURANTAOHJELMAN KÄYTTÖOHJE

Matopeli C#:lla. Aram Abdulla Hassan. Ammattiopisto Tavastia. Opinnäytetyö

Office 365 palvelujen käyttöohje Sisällys

S11-04 Kompaktikamerat stereokamerajärjestelmässä. Projektisuunnitelma

Synco TM 700 säätimen peruskäyttöohjeet

WinOodin käyttö VDI-ympäristössä

Käyttöohje Contact WP Poca

AU Automaatiotekniikka. Toimilohko FB

AS Automaatio ja systeemitekniikan projektityöt A13 10 Radio ohjattavan pienoismallin ohjausjärjestelmän ja käyttöliittymän kehittäminen

Visma Fivaldi sovelluspalvelu: Laskut sähköpostiin ja tulostuspalveluun. 1 Yleistä

Teknillinen korkeakoulu T Tietojenkäsittelyopin ohjelmatyö. Testitapaukset - Koordinaattieditori

Akkujen aktiivinen balansointi

8h 30min PUHDISTUSPROSESSIN TOIMINNAT:

Kanta. Potilastiedon arkiston arkistonhoitajan opas

Yale Doorman -käyttöohje Sector Alarm -hälytysjärjestelmään yhdistetyn Yale Doorman -älylukon käyttöohje

Yksikkötestaus. import org.junit.test; public class LaskinTest public void testlaskimenluonti() { Laskin laskin = new Laskin(); } }

T Tietojenkäsittelyopin ohjelmatyö. Testiraportti, vaihe T1. Tietokonegrafiikka-algoritmien visualisointi. Testiraportti, vaihe T1

CO 2 -anturi. Langaton. Käyttöohje. -fi. Englannin kielestä käännetty asiakirja A001

Windows 8.1:n vaiheittainen päivitysopas

TKT224 KOODIN KOON OPTIMOINTI

Kameran laiteohjelman päivittäminen

Opiskelijalistojen tulostaminen, opiskelijoiden hallinta ja sähköpostin lähettäminen

GSM PUHEVIESTI & SMS HÄLYTYKSENSIIRTOLAITE

A11-07 Measurements with machine vision Projektisuunnitelma

Tämän lisäksi listataan ranskalaisin viivoin järjestelmän tarjoama toiminnallisuus:

Transkriptio:

1 Sisällysluettelo 2 Alkuperäinen tehtävänkuvaus... 3 3 Yleistä projektista... 4 3.1 Suunniteltu työn rakenne... 4 3.1.1 Määrittelyvaihe... 4 3.1.2 Toteutusvaihe... 4 3.1.3 Integraatiovaihe... 4 4 Projektin toteutus... 5 4.1 Uudet ominaisuudet... 5 4.1.1 Master-sekvenssi... 5 4.1.2 Diagnostiikkasekvenssi... 6 4.1.3 Puhdistussekvenssi... 8 4.1.4 Lokitus... 8 4.1.5 Nopeat pinnankorkeuden mittaukset... 9 4.2 Muutokset aiempaan ohjelmakoodiin... 9 4.3 Ajankäyttö... 10 4.4 Kantapään kautta opitut asiat ja huomiot jatkokehitykseen... 11 5 Käyttöohje... 12 5.1 Master-näkymä... 12 5.2 Diagnostiikkanäkymä... 12 5.3 Puhdistusnäkymä... 14 5.4 Muutos sekvenssissä... 15 5.5 Vikatilanteet... 16 6 X-connector... 16 2

2 Alkuperäinen tehtävänkuvaus (Tässä alkuperäisellä tehtävänkuvauksella käytetään wiki-sivulla ollutta projektityön kuvausta. Siinä ei ole otettu huomioon mitään ohjaajan kanssa sovittuja muutoksia, ne löytyvät kappaleen 3 alta) Toteuta laboratorion vesiprosessiin ohjaajan määrittelyn mukaiset sekvenssiohjelmat ja -näytöt. * Ohjelmointiympäristö on Multiprog ja ohjelmointikielenä graafinen SFC-kieli (IEC 1131) * Sekvenssit muodostavat hierarkian, jossa pääsekvenssin alle toteutetaan alisekvensseinä esim. opetusprosessin käyttöön, laitteiston puhdistukseen ja mittausten kalibrointiin tarkoitettuja sekvenssiohjelmia. * Sekvenssit testataan kahdella tavalla: simulaattoria vastaan sekä oikealla laboratorioprosessilla. Simulaattorina käytetään VTT:n ja Fortumin Apros simulaattoria, johon on jo toteutettu vesiprosessin malli. * Valmiin simulaattorin liittäminen ohjauslogiikkaan OPC tekniikalla on erillinen ja itsenäinen osa tätä työtä, joka voidaan tarvittaessa erotella omaksi työkseen. 3

3 Yleistä projektista Projekti koostui kahdesta eri osiosta: projektin pääasiallisena tarkoituksena oli luoda valmis sekvenssiohjelma IEC 61131-3 kieltä käyttäen säätötekniikan laboratorion vesiprosessia varten. Tämä uusi sekvenssiohjelma rakennettiin sekä käyttämään aiemmin tehtyä, laboratoriotyössä käytettyä sekvenssiä joka muutettiin työssä alisekvenssiksi, että uusia osia, jotka olivat ns. pääsekvenssi jolla voidaan valita mitä alisekvenssiä laitteistolla halutaan ajaa että uudet alisekvenssit prosessin diagnostiikkaa ja puhdistusta varten. Alkuperäisen suunnitelman mukaan oli tarkoitus myös tehdä alisekvenssi laitteiston antureiden kalibrointia varten, mutta tämä ominaisuus korvattiin ohjaajan suostumuksella tekemällä lokitus sekvensseistä. Toisena osana projektista oli tutkia mahdollisuutta kytkeä PLC-simulaattori lopulliseen sovellukseen X- Connector -ohjelmalla. 3.1 Suunniteltu työn rakenne Suunnitteluvaiheessa jaoimme työn kolmeen vaiheeseen, määrittely-, toteutus- ja integraatiovaiheeseen. Nämä vaiheet jaettiin vielä erikseen pienempiin työpaketteihin. Työpakettien tarkempi sisältö kuvataan kohdassa 2.3 Ajankäyttö, mutta lyhyesti vaiheiden korkean tason sisältö oli seuraavanlainen: 3.1.1 Määrittelyvaihe Määrittelyvaiheessa tutustuttiin ohjelmistoihin ja valmiina annettuihin sekvensseihin sekä niiden alemman tason toiminnallisuuteen. Myös kaikki mahdolliset virtausreitit prosessissa taulukoitiin ja niiden riippuvuudet toimilaitteiden oikeasta toiminnasta selvitettiin. 3.1.2 Toteutusvaihe Toteutusvaiheessa ohjelmoitiin venttiilireittien testauksen sekvenssiohjaukset sekä moottoriohjaukset. Näitä reittejä käytettiin puhdistus- ja dignostiikkasekvensseissä. Myös käyttöliittymän valvomonäytöt pääsekvenssille ja alisekvensseille kuului tähän vaiheeseen, samoin kuin yksikkötestaus. 3.1.3 Integraatiovaihe Integraatiovaiheessa yhdistettiin valmiit sekvenssit toisiinsa ja käyttöliittymiinsä. Järjestelmään valmiiksi ohjelmoitu harjoitustyössä käytettävä sekvenssi yhdistettiin uuteen pääsekvenssiin. Viimeisenä osuutena integraatiovaiheessa tehtiin integraatiotestaus. 4

4 Projektin toteutus 4.1 Uudet ominaisuudet Pääosa uusista ominaisuuksista on kolmessa Sequential Function Chartissa (MASTER, DIAG, CLEAN). Kaikkia näitä ajetaan 100ms syklillä. 4.1.1 Master-sekvenssi Tässä SFC:ssä on hallintalogiikka eri sekvenssien valitsemiseen. MasterInit-askelessa alustetaan tarvittavat hallintamuuttujat. Master_X_Run ja X_Finished -tyyppiset muuttujat hallinnoivat eri sekvenssien ajoa. Tämän SFC:n tarkoitus on pitää alisekvenssit erillään, niin ettei kahta niistä voida ajaa samanaikaisesti. Kuva 1. Master-sekvenssin SFC. Run- ja Finished-muuttujat pitävät huolta, ettei kahta tai kolmea sekvenssiä voida ajaa samanaikaisesti. 5

4.1.2 Diagnostiikkasekvenssi Diagnostiikkasekvenssissä varmistetaan laitteiden toiminta. Ensin pyydetään käyttäjää tarkastamaan, että vedenpinnan korkeuden mittarit säiliöissä 100, 200 ja 400 ovat oikein. Tätä tietoa käytetään muiden antureiden ja toimilaitteiden toimivuuden tarkastamiseen. Sitten käyttäjää pyydetään kuuntelemaan, että pumpuista kuuluu ääntä kun niitä käytetään. Seuraavaksi, jos vettä ei ole tarpeeksi tai sitä on liikaa sekvenssin suorittamiseen, käyttäjää pyydetään lisäämään tai vähentämään ongelmallisten säiliöiden vesimäärää. Nämä vaiheet ovat riippuvaisia käyttöjärjestelmästä. Tämän jälkeen sekvenssi kulkee loppuun asti automaattisesti, pysähtyen joko pumppausreittien tarkastuksen jälkeen, jos viallisia venttiilejä havaittiin, tai kaikkien testien jälkeen, jos venttiilit toimivat. Pumppausreittien tarkastuksessa käydään läpi pienin määrä reittejä, joilla kaikkien venttiilien läpi tulee pumpattua vettä. Reitin kaikkien venttiilien todetaan toimivan, jos vedenpinta kohdesäiliössä muuttuu. Venttiilien oletettu hajoamistapa on kiinni jumittuminen, sillä laitteiston ollessa pitkään käyttämättä venttiilit ovat kiinni-asennossa. Auki jumittumista ei testata. Jos jokin reitti ei muuta kohdesäiliön vedenpinnan korkeutta annetussa ajassa, ajetaan mahdollisesti normaalien diagnostiikkareittien jälkeen ylimääräisiä reittejä ongelman tarkemmaksi paikantamiseksi. Jos yksikin reitti epäonnistui, annetaan käyttäjälle loppuraportti siitä mitkä venttiilit ovat mahdollisesti rikki. Jos kaikki reitit onnistuivat, seuraavaksi testataan säiliön 300 paineanturi ja pinnankorkeuden rajakytkimet, virtausanturi, lämmitin ja lämpömittarit. Tämän jälkeen annetaan loppuraportti kaikista laitteista. Sekvenssistä poistutaan master-sekvenssiin kun se keskeytetään tai raportti kuitataan käyttöjärjestelmästä. Tätä ennen muita alisekvenssejä ei voida ajaa. 6

Kuva 2. Diag-sekvenssin SFC. Ylhäällä init-vaihe ja vedenpinnan tasaus. Ensimmäinen monen actionin pino ja sen alapuolinen haarauma ovat normaalit pumppausreitit. Iso oikeanpuoleinen haara on ylimääräiset diagnostiikkareitit. Suoraan alas jatkuva osuus on muiden toimilaitteiden ja anturien testaus. 7

4.1.3 Puhdistussekvenssi Tämä sekvenssi puhdistaa kertynyttä ruostetta venttiileistä. Ensin se varmistaa että järjestelmässä on tarpeeksi vettä sekvenssin ajoon, ja pyytää käyttöjärjestelmän välityksellä apua käyttäjältä, jos näin ei ole. Vesi tasapainotetaan säiliöihin niin, että sitä on tarpeeksi sekvenssin suorittamiseen. Ensimmäinen puhdistustoimenpide on naksuttaa kaikkia on/off venttiilejä auki ja kiinni muutaman kerran. Sitten vettä pumpataan avoimia reittejä pitkin, ja yhtä venttiiliä kerrallaan suljetaan ja avataan, jotta mahdollinen irtoava ruoste ja lika saadaan liikkeelle putkista. Lopuksi palataan master-sekvenssiin. Kuva 3. Clean-sekvenssin SFC. Ylhäällä veden pinnan tasaus. Kahden actionin step on kaikkien venttiilien naksuttelu. Oikeassa haarassa pumppaaminen reiteille ja venttiilien sulkeminen yksi kerrallaan. 4.1.4 Lokitus Järjestelmään lisättiin lokitiedostojen kirjoittaminen ja tallennus. Yhteen lokitiedostoon tallennetaan, mitä sekvenssejä on ajettu milloinkin. Diagnostiikkasekvenssin ajosta tallennetaan lisäksi raportti, joka kertoo diagnostiikan tulokset. Lokitiedostojen kirjoitus tapahtuu visualisaatio-työtilan Local scripts - 8

toiminnolla, sillä VB-skriptaus tarjoaa valmiit työkalut tekstitiedostojen käsittelyyn. Lokitiedostot tallennetaan My Documents-kansioon. 4.1.5 Nopeat pinnankorkeuden mittaukset Projektiin lisättiin myös 100ms välein ajettaviin taskeihin FASTMEAS-ohjelma. Tämä toimii muuten kuten LIC100 ja LIC200 -ohjelmien pinnankorkeutta mittaavat lohkot, mutta ajetaan nopeammalla syklillä, joka lyhentää Clean- ja Diagnostic-sekvenssien ajoa huomattavasti. Ohjelma tuottaa pinnankorkeussuureet muuttujiin L100_FastMeasVal ja L200_FastMeasVal. Alkuperäiset muuttujat L100_MeasVal ja L200_MeasVal jätttiin koskemattomiksi. 4.2 Muutokset aiempaan ohjelmakoodiin Sovelluksen aiempi sekvenssiohjelma on muutettu yhteensopivaksi uuteen Master-sekvenssiin lisäämällä siihen Masterin tarvitsema pysähtymäblokki. Kuva 4. Muutokset tehty HMI_return toimintoon ja lisätty MAIN_start blokki 9

4.3 Ajankäyttö Projektiin suunniteltiin käytettäväksi 252 tuntia ja siihen meni yhteensä 258 tuntia. Projektisuunnitelmassa jaoimme projektin 15 työpakettiin ja arvioimme jokaisen työpakettiin kuluvaa aikaa. Työpaketin nimi Erotus Tunnit S Tunnit T 1. Project plan -2 18 20 2. X-connector feasibility 0 6 6 3. Tutustuminen ohjelmistoihin ja nykyisiin ohjelmiin. -10 18 28 4. Pääsekvenssin suunnittelu ja toteutus, huom. Rinnakkaisajo 0 9 9 5. käyttöliittymien suunnittelu ja toteutus -7 15 22 6. Kaikkien mahdollisten virtausreittien taulukointi ja laitteiden toimivuusriippuvuuksien selvittäminen 0 12 12 7. Venttiilienreittien ohjelmointi. 13 reittiä yhteensä. 12 39 27 8. Moottoriohjaukset venttiiliireitteihin 3 6 3 9. Itsediagnostiikkarutiinien detailisuunnittelu ja toteutus -9 12 21 10. Puhdistussekvenssin detailisuunnittelu toteutus -9 9 18 11. Labratyön sekvenssini tarvitsemien muutosten toteutus 3 6 3 12. Lokitus 7 27 20 13. Integraatiotestaus -2 12 14 14. Dokumentointi 12 45 33 15. Raportointi -1 18 19 Kuva 5. Työpaketit ja niihin suunniteltu ja käytetty aika Kuten aina, tässäkään tapauksessa työpaketteihin käytetyt ja suunnitellut tunnit eivät täysin vastanneet toisiaan, mutta loppujen lopuksi, projekti valmistui ajallaan ja kokonaisuudessa tunteja käytettiin vain 2% enemmän aikaa kuin oli alunperin suunniteltu. Ylitykset johtuivat pääasiallisesti siitä, että emme allokoineet riittävästi aikaa ennalta arvaamattomien ongelmien selvittämiseen (kts. kohta 4.4) ja siitä, että sekä diagnostiikka- että puhdistussekvenssin toteutus vaati monimutkaisempaa logiikkaa ja enemmän testausta kuin olimme arvioineet alkuun. Lisäksi aikataulutimme jokaisen työpaketin sen mukaan, missä projektin vaiheessa ko. työpaketti pitäisi olla valmis. Jaoimme nämä välitavoitteet kuudeksi sprintiksi vaikka tosiasiallisesti projekti toteutettiin käytännössä iteratiivisen vesiputousmallin mukaan. 1. Sprint: Projektisuunnitelma 2. Sprint: Yksittäisten reittien sekvenssien toteutus 3. Sprint: Toimiva diagnostiikka-sekvenssi käyttöliittymineen. 4. Sprint: Toimiva puhdistus-sekvenssi käyttöliittymineen ja laboratoriotyön päivitys yhteensopivaksi pääsekvenssin kanssa. 5. Sprint: Lokitus ja integraatiotestaus 6. Sprint: Loppudokumentaatio 10

Kuva 6. Suunniteltujen ja tehtyjen työtuntien jakautuminen viikottain Aikataulutimme projektin työmäärän hyvin etupainoisesti, jos projekti veisi suunniteltua enemmän aikaa, verrattain pieni työmäärän lisäys loppuvaiheessa riittäisi saamaan projektin valmiiksi DL:n mennessä. Tämä oli erittäin hyvä ratkaisu sillä pysyimme alkuperäisessä aikataulussa varsin hyvin, poikkeuksena välitavoitteiden siirtyminen viikolla eteenpäin pääsiäisloman takia. Loppudokumentaatio siirrettiin tarkoituksella myöhemmäksi. 4.4 Kantapään kautta opitut asiat ja huomiot jatkokehitykseen SFC-ohjelmoinnissa törmättiin muutamaan standardin tuottamaan ongelmaan ja erikoisuuteen. Näistä tärkeimpiä ovat ohjelman kulkuun vaikuttavat erikoisuudet. Actionit ajetaan aina actionin ollessa aktiivinen, ja silloin kun se lakkaa olemasta aktiivinen. Koska pulse tyyppinen action (P) on aktiivinen yhden ohjelmasyklin ajan, se ajetaan kahdesti. Actionia ei voi ajaa vain kerran, vaan sen sisään on ohjelmoitava flip-kytkin joka estää koodin suorittamisen kahdesti. Samanaikaisesti aktiiviset actionit suoritetaan aakkosjärjestyksessä. Kun tarkastetaan, voidaanko stepistä siirtyä seuraavaan, tarkastukset tehdään vasemmalta oikealle. Tästä syystä stop-stepit ovat kaaviossa aina vasemmalla. Screenien vaihto visualisaatiossa yritettiin toteuttaa flowcharteilla, mutta niitä ei saatu toimimaan. Sen sijaan kaikki screenin vaihdot toteutettiin conversion scripteillä, jotka tietystä muuttjuan arvosta suorittivat yksikkmuunnoksen sijaan sivunvaihdon. OpenScreen -funktion havaittiin, manuaalista poiketen, ottavan parametrina seuraavan screenin nimen, eikä screen-objektia. Jos jossain vaiheessa pinnan tason mittausten aikaväliä muutetaan 1000ms syklistä, kannattaa tarkastaa kaikkien uusien SFC-kaavioiden init-lohkot. Niissä on käytetty erikseen haettuja nopeita mittauksia, sillä mittauksen suodatuksen takia sen on annettava tasautua suodatusajan verran (10 sykliä) jotta käytettävä pinnankorkeuden arvo on oikea. Käytettävä väylä ei pysty toteuttamaan mitä tahansa määrää ohjausmuuttujien muutoksia yhdessä syklissä. Kaikkien on/off -venttiilien avaaminen kerralla onnistuu, mutta jos samalla yrittää asettaa arvot propoventtiileille, ohjelma kaatuu ja menee epävakaaseen tilaan, jossa laitteisto saattaa käyttäytyä odottamattomasti. 11

5 Käyttöohje 5.1 Master-näkymä Master-ruutu on tarkoitettu ohjelman käynnistämistä varten, eikä sekvenssejä voida ajaa ellei niitä ole käynnistetty Master-ruudun kautta. Master-ruudussa valitaan ajettava ohjelma kolmesta vaihtoehdosta: alkuperäisestä sekvenssiohjauksesta, diagnostiikasta tai puhdistusohjelmasta. Alkuperäiseen sekvenssiohjaukseen päästään valitsemalla To Process, diagnostiikkaan valitsemalla To Diagnostics ja puhdistusohjelmaan valitsemalla To Cleanup. Sekvenssiin siirtyminen kirjaa ohjelman lokitiedostoon merkinnän kyseisen sekvenssin käynnistämisestä. Diagnostiikasta ja puhdistuksesta näytetään myös siirtymänappien yläpuolella asianomainen viesti edellisen ajokerran tapahtumasta. Vaihtoehdot ovat joko onnistuneesti suoritettu ajo tai keskeytetty ajo, ja diagnostiikassa lisäksi viesti virheiden löytymisestä. Kuva 7. Master-näkymä 5.2 Diagnostiikkanäkymä Diagnostiikkasekvenssin alussa täytyy tehdä audiovisuaalisia havaintoja laitteistosta, jotta automaattiset ajot voidaan suorittaa. Ensimmäinen askel on tarkistaa laitteistosta löytyvien vesisensorien toimivuus 12

tarkistamalla vastaavatko vasemmalla esitetyt vedenkorkeusarvot säiliöiden oikeisiin pinnankorkeuksiin. Mikäli vesitasot eivät täsmää, kyseisessä anturissa on vikaa. Tämän jälkeen järjestelmä pyrkii automaattisesti tasapainottamaan vesisäiliöt diagnostiikka-ajon keskeytymätöntä suorittamista varten. Lisäksi tarkistetaan, onko järjestelmässä ylipäänsä tarpeeksi vettä. Mikäli jompi kumpi ei onnistu, täytyy nämä toimenpiteet suorittaa manuaalisesti diagnostiikan jatkamiseksi. Kuva 8. Diagnostiikan manuaalinen osuus Tämän jälkeen suoritetaan moottoritarkastus kuuntelemalla kolmea hyrähdystä. Mikäli äänimerkkejä kuuluu vähemmän, on jommassa kummassa moottorissa vikaa. Moottoreiden ollessa kunnossa, siirtyy diagnostiikka automaattitilaan, jossa se ajaa useita eri reittejä, ja tarkastelee reitin loppusijoitussäiliön pinnankorkeuden muutosta, joka kertoo reitin varrella olevien venttiileiden toimivuudesta. Mikäli jotakin kymmenestä reitistä ei kyetä ajamaan, ajetaan tarpeelliset lisäreitit viidestä vaihtoehdosta 13

perustuen viallisiin reitteihin. Diagnostiikka antaa koko ajan reaaliaikaista informaatiota sen etenemisestä alla olevan kuvan esittämällä tavalla. Kuva 9. Diagnostiikkasekvenssin automaattiosuus Reittiajojen jälkeen suoritetaan lisälaitteiden tarkastus. Nämä tarkastukset suoritetaan ainoastaan, mikäli kaikki reitit kyettiin suorittamaan onnistuneesti. Tämä siksi, että jotkin näistä tarkastuksista vievät enemmän aikaa kuin muut, eikä niiden suoritus ole oleellista, mikäli jokin reitti on hajalla. 5.3 Puhdistusnäkymä Puhdistussekvenssi on täysin automaattinen ajo. Se ei tarvitse käynnistämisen jälkeen lisätoimenpiteitä, mutta sen toimintaa on suotava valvoa, sillä siinä ei ole vikatilanteiden havaintia. Mikäli havaitset epäilyttävää toimintaa, suosittelemme ajamaan diagnostiikkasekvenssin. Sekvenssin lopuksi Done - napin painallus kirjaa lokiin onnistuneesti suoritetut puhdistussekvenssin. 14

Kuva 12. Puhdistussekvenssin ajo 5.4 Muutos sekvenssissä Sekvenssinäkymään on tehty muutos, joka mahdollistaa sekvenssistä siirtymisen takaisin uuteen päänäkymään. Napin painaminen myös kirjaa yleislokiin merkinnän sekvenssin käytön lopetuksesta. 15

Kuva 13. Sekvenssin käyttöliittymämuutos 5.5 Vikatilanteet Fyysisistä laiterajoituksista johtuen järjestelmämme ei pysty eristämään aivan kaikkien venttiilien vikoja toisistaan. Järjestelmässä on siis kolme venttiiliä jotka sijainnistaan johtuen myös estävät tiettyjen muiden venttiilien toiminnan selville saamisen, minkä takia järjestelmä merkitsee ne viallisiksi. Vikaantunut venttiili Mahdollisesti virheellisesti diagnosoidut venttiilit V102 V203 V304 V403 V301 V104 V204 V304 V401 V303 V103 V104 V404 Kuva 13. Taulukko mahdollisista virhediagnooseista 6 X-connector Projektisuunnitelmaan kuului tarkastella mahdollisuutta X-connector -ohjelman käyttöön. X- connectorilla voitaisiin liittää vesiprosessin ohjausohjelmisto simuloituun prosessiin, jotta ohjausjärjestelmään tehtäviä muutoksia voisi testata simulointijärjestelmässä. Ajankäytön salliessa olisi testattu simulaation ohjaamista X-connectorin avulla. Todettiin X-connectorin toimivan kahden OPC-palvelimen littämiseen testipalvelimilla (Matrikon OPC analyzer). Muuttujien liittäminen palvelinten välillä onnistui. Koska alkuperäinen aikataulu täyttyi nopeasti, valinnaista simulaattoriyhteyden konfigurointia ja testausta ei toteutettu. 16