Projektisuunnitelma (välipalautukseen muokattu versio) Vesiprosessin sekvenssiohjelmointi ja simulointiavusteinen testaus Ville Toiviainen Tomi Tuovinen Lauri af Heurlin
Tavoite Projektin tarkoituksena on luoda valmis sekvenssiohjelma säätötekniikan laboratorion vesiprosessiin. Sekvenssiohjelmalla voidaan suorittaa sekä nykyisen, laboratoriotyön käyttämä aliohjelma, että luoda uudet sekvenssit prosessin diagnostiikkaa, puhdistusta ja kalibrointia varten. Lisäksi on tarkoitus selvittää mahdollisuus kytkeä PLC simulaattori lopulliseen sovellukseen X Connectoria käyttäen. Projektin arvioitu työmäärä on 3 opintopistettä henkeä kohti. Projektin tavoitteet eivät ole muuttuneet olennaisilta osin. Työn rakenne Määrittelyvaihe Määrittelyvaiheessa tutustutaan ohjelmistoihin ja nykyisiin olemassaoleviin sekvensseihin sekä niiden alemman tason toiminnallisuuteen. Kaikki mahdolliset virtausreitit prosessissa taulukoidaan, ja niiden riippuvuudet toimilaitteiden oikeasta toiminnasta selvitetään. Lisäksi tutkitaan, onko sekvenssiohjaus mahdollista liittää simulointiohjelmaan X connector ohjelmalla. Määrittelyvaihe on suoritettu kokonaisuudessaan. Sekvenssiohjauksen liittäminen simulointiohjelmaan X connectorin avulla on teoriassa mahdollista, mutta tämän toteutukselle ei ole varattu aikaa. Toteutusvaihe Toteutusvaiheessa ohjelmoidaan venttiilireittien testauksen sekvenssiohjaukset sekä moottoriohjaukset. Näistä kasataan puhdistus, kalibrointi ja diagnostiikkasekvenssit. Ohjelmoidaan valvomonäytöt pääsekvenssille ja alisekvensseille. Tässä vaiheessa suoritetaan myös yksikkötestausta. Toteutusvaihe on valmis venttiilireittien, moottoriohjausten ja diagnostiikkasekvenssin osalta. Valvomonäytöt diagnostiikkasekvensille ovat valmiita ja pääsekvenssille niiltä osin, kun näyttöjä tarvitaan diagnostiikkasekvenssin ajoon. Integraatiovaihe Integraatiovaiheessa yhdistetään valmiit sekvenssit toisiinsa ja käyttöliittymiinsä. Järjestelmään valmiiksi ohjelmoitu harjoitustyössä käytettävä sekvenssi yhdistetään uuteen pääsekvenssiin. Testataan integraatio. Integraatiovaihe suoritetaan myöhemmin
Aikataulu Aikataulu on jaettu seitsemään sprintiin, joista jokainen sisältää edellä annetun määrittelyn mukaisia vaiheita. Joka sprintin esivaatimuksena on sitä edeltävät sprintit, paitsi että X connector on itsenäinen osuus, ja sprintit 3 5 on mahdollista toteuttaa osin rinnakkain. Käytännössä ne pyritään toteuttamaan järjestyksessä. Yleisesti ottaen olemme pysyneet hyvin aikataulussa, ainoana poikkeuksena on on X connector, jonka toteutuksen päätimme siirtää myöhemmäksi. 1. Sprint Projektisuunnitelma Valmis (suunniteltu): Viikko 6 Valmistui: Viikko 6 X Connecter sprint tämän jälkeen Valmis (suunniteltu): Viikko 6 Valmistui: Viikko 12 2. Sprint: Yksittäisten reittien sekvenssien toteutus Valmis (suunniteltu): Viikko 11 Valmistui: Viikko 9 3. Sprint: Toimiva diagnostiikka sekvenssi ja käyttöliittymä sen valintaan ja käyttöön. Valmis (suunniteltu): Viikko 12 Valmistui: Viikko 12 4. Sprint: Toimiva puhdistussekvenssi ja tarvittavat käyttöliittymät Laboratoriotyön sekvenssin päivitys yhteensopivaksi uuden pääsekvenssin kanssa. Valmis (suunniteltu): Viikko 13 Pääsiäislomasta johtuen valmistuu todennäköisesti vasta viikolla 14 5. Sprint: Toimiva kalibrointisekvenssi ja tarvittavat käyttöliittymät. Valmis (suunniteltu): Viikko 15 Pääsiäislomasta johtuen valmistuu todennäköisesti vasta viikolla 16 6. Sprint Loppudokumentaatio Valmis (suunniteltu): Viikko 18 Aikataulu jaettuna tarkennettuihin työvaiheisiin:
Olemme jakaneet määrittely, toteutus ja integraatiovaiheet tarkempiin työvaiheisiin aikataulutuksen helpottamiseksi. Työvaiheet jaoteltuna sprintteihin: Päivitetty käytetyt tunnit
Riskienhallinta Prosessilaitteiston hajoaminen Välttäminen: Kaikki ohjelman osuudet suunnitellaan niin, että laitteistolle vaarallisia komentoja ei ole mahdollista suorittaa. Minimointi: Tutkitaan mahdollisuutta ajaa tuotettua koodia simulaattorissa ennen oikeaa järjestelmää, mikäli liitämismahdollisuus realisoituu. Toimenpiteet realisoituessa: Minimoidaan järjestelmälle koituva vahinko sammuttamalla toimilaitteet, suojaamalla laitteisto vedeltä ja informoidaan projektityön valvojaa mahdollisimman pian. Kurssin keskeytys opiskelijan osalta Välttäminen: Aikataulutetaan joustavasti, jolloin tilapäiset esteet eivät vähennä yhden opiskelijan työosuutta ratkaisevasti. Minimointi: Aikataulutetaan etupainoisesti, ja työvaiheet on jaettu kokonaisuuksiin, joita voidaan tarpeen tullen pudottaa pois. Toimenpiteet realisoituessa: Projektin alkuvaiheessa voidaan pienentää projektin laajuutta. Loppuvaiheessa on mahdollista lisätä työmäärää suunniteltujen vaiheiden valmiiksi saattamiseksi. Kehitystyössä käytettävän tietokoneen hajoaminen Välttäminen: Noudatetaan erityistä varovaisuutta lisätessä vettä järjestelmään. Minimointi: Käytetään jotakin versionhallintaohjelmaa, jolloin tehty työ on turvassa useammalla koneella. Toimenpiteet realisoituessa: Jatketaan kehitystä omilla tietokoneilla, ja testataan koodia simulaattoria vasten mikäli mahdollista, kunnes tietokone saadaan korvattua tai korjattua.