FCG Finnish Consulting Group Oy VERA TOIMINTAOHJEET Rev./pvm 1.03 Hyväksytty 26.2.2009 Sisältö Käyttö Vastuuhenkilö VeRan uusi siirtoformaatti Automaatiourakoitsijat, jotka tekevät siirtotiedoston VeRaan. Hannu Sippola
FCG Finnish Consulting Group Oy Toimintaohje I Hyväks. 26.2.2009 SISÄLLYSLUETTELO 1 YLEISTÄ... 1 2 SIIRTOTIEDOSTON RAKENNE... 2 Yleistä 2 3 SIIRTOTIEDOSTON YKSITYISKOHTAINEN RAKENNE... 3 3.1 Rivi 1... 3 3.2 Rivi 2.... 4 3.3 Rivi 3.... 5 3.4 Rivi 4... 6 3.5 Rivi 5.... 7 3.6 Rivit 6-N... 8 4 ESIMERKKI SIIRTOTIEDOSTOSTA... 9 MUUTOKSET Versioon 1.01 3.4 Rivi 4 1. Lisätty siirtolajit CUMH, CUMM ja GOOD 2. SUM käsitettä tarkennettu 3. AVG käsitettä tarkennettu MUUTOKSET Versioon 1.02 2 Yleistä 4. Lisätty tekstikappale Tiedosto jakautuu 3 Siirtotiedoston yksityiskohtainen rakenne 5. Lisätty kappale 3.1 Yleistä. 4 Esimerkki siirtotiedostosta 6. Ensimmäistä kappaletta muokattu lisäselityksillä.
FCG Finnish Consulting Group Oy Toimintaohje 1 (1) 1 Yleistä a) Siirrettävät tiedot, esimerkiksi automaatiosta, kirjoitetaan tekstitiedostoon, jonka tyyppi on vtf (siirtotiedosto). Tiedoston nimi on vapaa, eikä VeRa käytä sitä mihinkään. Nimessä ei suositella käytettävän pisteitä. b) Tiedoston nimen tarkoitus on helpottaa siirtotiedoston etsimistä häiriötilanteissa, siksi nimeen on hyvä lisätä aikaleima. c) Jokaisen siirtotiedoston nimen tulee olla yksilöllinen ja se sisältää vain tietoja yhden jakson, esimerkiksi tunnin, ajalta jäljempänä määritellyt tiedot. d) Jokaiselle päiväkirjalle on oma hakemistonsa siirtotiedostoja varten, johon siirtotiedostot (vtf-tiedostot) siirretään. e) Kaikkia siirrettäviä tietoja ei tarvitse koota samaan tiedostoon, vaan niitä voi olla useampiakin esim. kultakin automaation ala-asemalta omansa. f) Jos samalta ala-asemalta tulee tietoja useampaan päiväkirjapohjaan, niin kullekin päiväkirjapohjalle täytyy lähettää oma siirtotiedostonsa. g) Siirtotiedostossa saa olla mittauksia, joita kyseinen päiväkirjapohja ei käytä. Näin ollen on mahdollista kerätä kaikki ala-aseman tiedot yhteen tiedostoon ja lähettää se kaikille päiväkirjoille, jotka tarvitsevat jotain tietoa ko. ala-asemalla. On myös mahdollista tehdä kullekin päiväkirjalle oma siirtotiedosto, jossa on vain ko. päiväkirjaa kiinnostavat tiedot. h) VeRa huolehtii luettujen tiedostojen poistosta ja mahdollisesta varmuus-kopioinnista. i) Ajatuksena on, että jokainen siirtotiedosto sisältää riittävän informaation sen tulkitsemiseen myös myöhemmin. j) Jokainen siirtotiedosto alkaa määrittelyosalla, joka pysyy käytännössä samana ja sitä seuraa siirrettävien mittausten tuntikohtaiset tiedot.
FCG Finnish Consulting Group Oy Toimintaohje 2 (2) 2 Siirtotiedoston rakenne Yleistä Tiedot ovat riveittäin tiedostossa. Jokaisen rivi loppuu merkkeihin <CR><LF> Siirtotiedoston sisältö riveittäin on seuraava: 1. Yleistunniste ja listaerotin 2. Aikaleiman määrittelyt 3. Desimaalierottimen määrittely 4. Siirrettävien tietojen tyyppimäärittelyt 5. Siirrettävä tietojen aikaleima ja lukumäärä 6. -N Siirrettävät tiedot Tiedosto jakautuu siis kahteen osaan: otsikko-osaan ja tieto-osaan, jossa ensimmäisessä määritellään siirrettävät tiedot ja niiden esitystapa sekä aikaleima. Jälkimmäisessä osassa on varsinaiset mittaustiedot.
FCG Finnish Consulting Group Oy Toimintaohje 3 (3) 3 Siirtotiedoston yksityiskohtainen rakenne 3.1 Yleistä 3.2 Rivi 1 Rivit 1-5 alkavat tunnisteella, joka kertoo mitä tietoa riviltä löytyy. Jos rivillä on useampi tieto, niin rivillä olevat tiedot erotetaan toisistaan listaerottimella (esimerkiksi pilkku), joka määritellään tiedoston ensimmäisellä rivillä (ks. kohta Rivi 1). Rivillä kirjoitetaan tietojen tunniste ja määritellään listaerotin DATAFORVERA <erottimen ascii numero> Erottimen ascii numero pitää olla välillä 0-128. Erotin erottelee rivillä olevat tiedot toisistaan, joten numeroa, kirjainta tai desimaalierotinta ei pidä valita erottimeksi. Suositeltavia erottimia esim. ovat puolipiste tai pilkku, jos sitä ei käytetä desimaalierottimena. Välilyönti (ascii numero 32) ei voi toimia erottimena, Ei myöskään <CR> tai <LF>. Välilyönnit arvojen alussa ja lopussa ohitetaan. ESIMERKKI: Erottimena pilkku DATAFORVERA 44 Jos käytetään desimaalipilkkua, niin pilkku ei voi toimia erottimena. Erottimen jälkeen saa olla luettavuutta parantava välilyönti.
FCG Finnish Consulting Group Oy Toimintaohje 4 (4) 3.3 Rivi 2. Rivillä määritellään käytetyn aikaleiman formaatti ja viittaustapa. STAMP <Tyyppi> <Erotin> <Kohta> jossa <Tyyppi> on <Erotin> on <Kohta> on Aikaleiman formaatti, esimerkiksi jokin seuraavista YYYYMMDDHH (oletusarvo, jos ei ole annettu) YYMMDDHH YYMMDD ( päivätiedoille) Rivillä 1 määritelty listaerotin 0 jos aikaleima on ajanjakson (tunnin) alkuhetki (oletusarvo) 1 jos aikaleima on ajanjakson (tunnin) loppuhetki Aikaleimalla tarkoitetaan sen tunnin tunnistetta, miltä siirrettävät tiedot ovat ja se voi olla joko tunnin alkamis- tai loppumisajankohta (Kohta-parametri). Esimerkiksi 1. 2006022712 voi tarkoittaa seuraavia tunteja Kohta Tunti 0 12-13 1 11-12 Tunnit saavat olla välillä 00-24. Esimerkiksi 2. 20060227 voi tarkoittaa seuraavia tunteja Kohta Ajanjakso 0 27.2.2006 klo 0-24 : 1 26.2.2006 klo 0-24 : ESIMERKKI: Tiedot kirjataan tunnin loppuhetken mukaan. STAMP YYYYMMDDHH, 1
FCG Finnish Consulting Group Oy Toimintaohje 5 (5) 3.4 Rivi 3. Rivillä määritellään käytetty desimaalierotin. DECIMAL <Arvo> jossa <Arvo> on 0 tai 46 jos käytetään desimaalipistettä (oletusarvo) 1 tai 44 jos käytetään desimaalipilkkua ESIMERKKI: Desimaalierottimena on piste. DECIMAL 0
FCG Finnish Consulting Group Oy Toimintaohje 6 (6) 3.5 Rivi 4 Rivillä määritellään minkä tyyppistä tietoja ollaan siirtämässä. Sen tyyppistä tietoa, jota ei saatavilla, ei pidä määritellä myöskään siirrettäväksi. ID <Erotin>UNIT <Erotin> <Laji1> <Erotin> <Laji2> <Erotin> <Laji3> <Erotin> <Laji4> <Erotin> <Laji5> jne. jossa <Laji> on Jokaisesta mittauksesta siirrettävien tietojen laji kuten: LAST, MIN, MAX, AVG, SUM, CUMD jne. Laji kuvaa mitä arvoja jokaisesta mittauksesta siirretään. Ajatuksena on, että automaatiosta siirretään kustakin mittauksesta kaikki tällä rivillä määritellyt tiedot, joista VeRa käyttää niitä, joita tarvitsee. AVG MIN MAX LAST CUM0 CUMY CUMM CUMD CUMH GOOD SUM HUOM1. HUOM2. on keskiarvo on pienin arvo on suurin arvo on viimeisin arvo on laskurin arvo eli muutos aikojen alusta on laskurin muutos vuoden alusta on laskurin muutos kuukauden alusta on laskurin muutos päivän alusta on laskurin arvo eli muutos tunnin alusta on onnistuneiden mittausten lukumäärä on kumulatiivinen arvo siirtovälille eli CUMH tuntitiedoille, CUMD päivätiedoille jne. SUM kohtaan ei saa määrämittauksissa, kuten virtaama, kirjata hetkellisten mittausarvojen summaa vaan se on varattu kumulatiiviselle arvolle. Mitattaessa virtaamaan liittyvää pitoisuutta, lämpötilaa tms. huomioidaan vain ne mittaukset, jolloin virtausta tapahtuu. Tämä koskee AVG, MIN, MAX ja LAST arvoja. ESIMERKKI: Siirrettävien tietojen tyyppien määrittelyjä ID, UNIT, MIN, AVG, MAX, SUM, LAST ID, UNIT, AVG, SUM Neljä ensimmäistä riviä pysyy normaalisti samana joka tiedostossa.
FCG Finnish Consulting Group Oy Toimintaohje 7 (7) 3.6 Rivi 5. Rivillä annetaan siirrettävien tietojen aikaleima ja lukumäärä. ONEHOURDATA <aikaleima> <Erotin> <siirrettävien mittausten lkm>, missä on aikaleima rivi 2 määritellystä muodossa. VeRa tunnistaa aikaleiman avulla, miltä tunnilta siirrettävät tiedot ovat ja kuinka monta niitä on. Lukumäärän sijasta voidaan kirjoittaa myös LIST. ESIMERKKI: Tunnin aikaleiman ja mittausten ilmoittaminen ONEHOURDATA 2006020110, 5 ONEHOURDATA 2006020110, LIST
FCG Finnish Consulting Group Oy Toimintaohje 8 (8) 3.7 Rivit 6-N Riviltä alkaen annetaan siirrettävät tiedot yksi mittaus per rivi. <ID> <Erotin> <Laatu> <Erotin> <Arvo1> <Erotin> <Arvo2> jne. jossa <ID> on Mittauksen yksikäsitteinen tunniste. <Laatu> on Mittauksen laatu <Arvo> on Mittauksen tuntiarvo ID on mittauksen tunniste, jonka avulla VeRa tunnistaa mittauksen. Se on merkkijono, jossa ei saa esiintyä valittua lista- (rivi 1) tai desimaalierotinta (rivi 3) eikä välilyöntiä. Merkkijonon alussa ja lopussa olevat välilyönnit poistetaan eikä niitä sisällytetä ID:hen. ID maksimipituus on 128 merkkiä. Mittauksen arvot annetaan annetussa järjestyksessä (rivi 4). Esimerkki ID:stä: R1052_M11455_FI1234_VIRTAUS_LÄHTEVÄ_VESI. Laatu kertoo mittauksen laadun. Laaduttoman mittauksen laatuna on joko tyhjä tila erottimien välissä tai #NULL#. VeRan tunnistamat laadut löytyvät liitteestä 1. Mikäli siirrettävien tietojen lukumäärän sijasta on annettu LIST, tulee siirrettävien tietojen loppuun omalle rivilleen kirjoittaa ENDLIST. Sama mittaus (ID) saa esiintyä vain kerran. Rivien (ID) keskinäisellä järjestyksellä ei ole merkitystä. Puuttuva arvo ilmaistaan joko välilyönnillä eli tyhjällä tila erottimien välillä tai kirjoittamalla FAIL tai #NULL#. Tiedon puuttumisen syy voidaan ilmaista seuraavasti: välilyönti FAIL #NULL# Tieto puuttuu syystä tai toisesta, mutta voidaan mahdollisesta vielä saada. Esimerkiksi kun kyseessä on tiedonsiirto-ongelma tai kun syytä ei tiedetä. Tietoa ei mittarivirheen tms. syyn tähden tällä kertaa saada. Esimerkiksi kun mittari on rikki tai muuten poissa käytöstä. Tietoa ei ole saatavilla lainkaan tai on merkityksetön. Esimerkiksi ph arvojen summa tai tietyn ominaisuuden puuttuminen mittarista tai järjestelmästä. Jos jollekin mittaukselle ei saada lainkaan arvoja, niin sen voi jättää siirtotiedostosta pois. Toinen vaihtoehto on antaa #NULL#, FAIL tai välilyönti kaikille tiedoille. ESIMERKKI: Virtausmittauksen tiedot FI-123, m3/h, 220.4, 235.5, 240.23, 1450.23, 231.5
FCG Finnish Consulting Group Oy Toimintaohje 9 (9) 4 Esimerkki siirtotiedostosta Ohessa esimerkki, jossa erottimena toimii pilkku (44) ja desimaalierottimena piste (0). Vakiona pysyvä tiedoston alku (4 riviä) on merkitty vahvennettuna. Siirrettävien tietojen aikaleima (2006022610) ja lukumäärä (5) löytyvät seuraavalta riviltä. Puuttuvan tiedon ilmaisemiseen on käytetty sekä puuttuvaa arvoa että #NULL# merkintää rivillä 6. Merkityksetön summa ja kumulatiivista arvo on annettu ph:lle rivillä 9. DATAFORVERA 44 STAMP YYYYMMDDHH, 1 DECIMAL 0 ID, UNIT, MIN, AVG, MAX, SUM, LAST, CUM0 ONEHOURDATA 2006022610, 5 TI_5001_LEHTO_ULKOILMA_T, C, -12.1, -12.4,-12,8,,-2.8, #NULL# FQ_5001_LEHTO_Q, m3/h, 1230, 1312, 1410, 1312, 1311, 12412345 TI_5000_LEHTO_TULEVA_T, C, 4.0, 4.1, 4.2,#NULL#, 4.1, QRA_5000_LEHTO_TULEVA_PH,, 7.1, 7.5, 7.8, 25560, 7.7, 123456789.1 FQ_5308_OHITUS, m3/h, 0, 0, 0, 0, 0, 1234.1 Sama tiedosto, mutta siirrettävien tietojen lukumäärää ei ole määritelty. Merkityksettömät arvot on korvattu välilyönnillä tai #NULL# :lla DATAFORVERA 44 STAMP YYYYMMDDHH, 1 DECIMAL 0 ID, UNIT, MIN, AVG, MAX, SUM, LAST, CUM0 ONEHOURDATA 2006022610, LIST TI_5001_LEHTO_ULKOILMA_T, C, -12.1, -12.4,-12,8,,-2.8, #NULL# FQ_5001_LEHTO_Q, m3/h, 1230, 1312, 1410, 1312, 1311, 12412345 TI_5000_LEHTO_TULEVA_T, C, 4.0, 4.1, 4.2,#NULL#, 4.1, QRA_5000_LEHTO_TULEVA_PH,, 7.1, 7.5, 7.8, #NULL#, 7.7, #NULL# FQ_5308_OHITUS, m3/h, 0, 0, 0, 0, 0, 1234.1 ENDLIST FCG Finnish Consulting Group Oy