Skip to main content

Historiadatan lukeminen


Actiweb tallentaa historiadatan (mm. trendi-data) time series -tietokantaan. Tätä dataa on mahdollista kysellä ”historybuffer”-operaatiolla.

Parametreina pitää antaa tietokantatiedoston nimi ja luettavan datapuskurin nimi. Datapuskurin nimi on aina sama kuin logattavan pisteen nimi yhdistettynä seurattavan parametrin nimeen – yleensä pisteestä seurataan pv-parametriä, eli mittauksen oloarvoa - t.s. lukemaa. Muita parametreja ovat mm. description joka tarkoittaa selitetekstiä, dispUnit eli yksikkö. Historiapuskuriin tallennetaan kuitenkin normaalisti vain mittauksen pv kenttä. Näin puskurin nimeksi muodostuu esimerkiksi ”ioPoints/TK01/TE10.pv”.

Samaa pistettä voidaan tallentaa useaan eri tiedostoon. Jokaisella historia-tiedostolla on omat erikseen määritellyt näytteenottovälinsä, ja maksimikokonsa, jonka jälkeen vanhimpia näytteitä aletaan poistaa.

Historiatiedostoja ja puskureita voidaan luoda, poistaa ja asetuksia säätä web-käyttöliittymän ylitse.

Ohjelmisto luo automaattisesti ”quicktrend”-nimisen historiatiedoston, jonka näytteistysväli on (oletuksena) 30 sekuntia, ja koko 3000 näytettä. Tähän tiedostoon luodaan datapuskuri kaikille niille tietokannasta löytyville pisteille, joilla on ”pv”-parametri (eli nykyinen oloarvo).

GET-operaation parametrilla time voidaan määrittää aika, jonka jälkeinen data puskurista halutaan lukea. Aika annetaan n.s. unix epookkina, eli sekunteina ajanhetken 1970.1.1 klo 00:00 jälkeen.

Aika voidaan antaa myös negatiivisena lukuna, jolloin sen tulkitaan tarkoittavan sekuntimäärää ennen nykyhetkeä. Toisinsanoen &time=-86400 tarkoittaa, että halutaan lukea näytteet, joiden aikaleima on alle 24 tuntia vanha.

Esimerkki: Luetaan pikatrendi (tiedosto quicktrend) pisteeltä ”ioPoints/TK01/TE10” ja parametrilta ”pv”, edellisen 5 minuutin ajalta.

/plc.php?db=quicktrend&historybuffer=ioPoints%2ATK01%2ATE10.pv&time=-300

Vastaus:
[{"historybuffer":[["1505743059","1.000000"],["1505743089","21.100000"],["1505743119","21.300000"],["1505743149","21.200000"],["1505743179","21.300000"],["1505743209","21.300000"],["1505743239","21.400000"],["1505743269","21.300000"],["1505743299","21.200000"],["1505743329","21.200000"]]},{"time":"1505743354"}]

Esimerkiksi kulutusmittaukset tallennetaan tavallisesti reports nimiseen tietokantaan, johon oletuksena tallennetaan lukema 30 min välein kellon aikaan sidotusti niin, että näyte tallennetaan tasatunnein, ja puolelta. Alla olevalla kutsulla saa luettua viimeisen 32 päivän lukemat reports puskurista, ja mittarilta mittaukset/HUONEISTO_A10/VM01. 

/plc.php?db=reports&historybuffer=mittaukset%2AHUONEISTO_A10%2VM01.pv&time=-2764800

Vastaus:
[{"historybuffer":[["1505743059","1.000000"],["1505743089","21.100000"],["1505743119","21.300000"],["1505743149","21.200000"],["1505743179","21.300000"],["1505743209","21.300000"],["1505743239","21.400000"],["1505743269","21.300000"],["1505743299","21.200000"],["1505743329","21.200000"]]},{"time":"1505743354"}]