IO-profiilit
********************
IO-profiles kirjasto
********************
Väyläliitäntäisille laitteille on mahdollista luoda valmiita
kuvaustiedostoja, joissa määritellään, mitä asioita mistäkin rekisteristä
tai objektista laitteen väylärajapinnassa löytyy.
Kuvaus tehdään XML muodossa, ja yksi tiedosto voi sisältää yhden laitetyypin
profiilin.
Kun profiili on luotu, voidaan sitä hyödyntää kahdella eri tavalla:
Ensimmäinen tapa on lisätä laitteita auto-create listaan, jolloin
laitetta varten luodaan kaikki väyläliitynnässä (ja profiili tiedostossa)
määritellyt pisteet valmiiksi väyläasetuksineen.
Toinen tapa on viitata jossakin tietokantapisteessä lyhenteellä laitteen
"kanaviin" tai objekteihin. Se yksinkertaistaa huomattavasti dataSource ja
dataTarget kenttien luomista - nämä oikotiet tai lyhenteet ovat muodoltaan
huomattavasti helpommin ihmisten luettavissa ja kirjoitettavissa.
PROFIILI TIEDOSTO
-----------------
Yksinkertainen esimerkki profiilitiedoston XML-kuvauksesta:
Laitteessa on yksi DI kanava, jota kutsutaan nimellä DI1
<ioprofile>
<name>example</name>
<description>This is an example device</description>
<protocol>modbusrtu</protocol>
<iodata>
<DI1 dir="in" autocreate="true">
<ioparams/>
<pointschema>BI</pointschema>
<url>discrete/0</url>
<initdata/>
</DI1>
</iodata>
</ioprofile>
XML-puun muoto:
Kuvauksen juurielementti on aina <ioprofile>
Sen alle tulevat tagit
<name> Tämä on profiilin tekninen tunnus, ja tällä
nimellä siihen viitataan ohjelmassa.
<description> Vapaamuotoinen kuvaus (esim. dokumentaatiota varten)
<protocol> Protokolla jota käytetään. Tätä tekstiä käytetään protokolla
osana kun profiilin pisteille muodostetaan dataSource ja
dataTarget kenttiä.
<iodata> Tämä tagi sisältää laitteen objektit, kanavat - tai
tavallaan tietokantapisteet. Tämän tagin alle lisätään
yksi tagi per laitteen io-datapiste - eli modbus rajapinnan tapauksessa
yksi tagi olisi tavallisesti modbus rekisteri.
IO data tagin nimeä käytetään myös io-datapisteen tai kanavan nimenä, jolla siihen viitataan mikäli
kanavalle ei ole määritelty alias tagia.
jokaiselle kanavalle voidaan määritellä attribuutit
dir arvo joko "in" jolloin kanavasta tehdään source,
"out" jolloin kanavasta tehdään target, tai
"both" tai "mixed" jolloin kanavalla on molemmat (oletus).
autocreate määrittää luodaanko datapisteelle
tietokantapiste automaattisesti vai ei.
arvo joko "true" tai "false", ja false on oletus arvo.
Sen alle voidaan laittaa seuraavat tagit kuvaamaan io-datapistettä:
<alias> Nimi jolla kanavaan viitataan, mikäli haluttu nimi EI ole sallitty XML elementin nimi.
Huomaa!
- Tämä nimi korvaa quick URL:eissa elementin nimen.
- Vain yksi alias sallitty. t.s. viimeinen alias elementti XML dokumenttia lukiessa jää voimaan.
<ioparams> tämän alle tulevat dataSource/Target kentän URL osan
skaalaus parametrit muodossa
<parametri>arvo</parametri>
<pointschema> kertoo mitä scheemaa käytetään tietokantapistettä
luotaessa autocreate ohjelmassa.
<url> dataSource ja Target kentän URL:n loppuosa, joka tulee
väyläosoitteen jälkeen. Kertoo usein rekisterityypin tai
rekisterin/tietueen numeron. Modbus:n tapauksessa
muoto on "rekisteriTyyppi/rekisterinNumero
<initdata> liittyy myös automaattisesti pisteiden automaattiseen
luontiin; tämän tagin alla määritellään
luodun pisteen kenttien alkuarvot (jos niiden halutaan
olevan muuta kuin oletukset).
<terminals> Tässä kentässä voidaan kertoa dokumentaatiota varten,
mitkä liittimet liittyvät tähän datapisteeseen.
LYHENNETYT SOURCE JA TARGET KENTÄT
----------------------------------
Kun laitteesta ja sen väylärajapinnasta on olemassa profiilitiedosto,
voidaan sen yhteydessä käyttää lyhennettyä "io://" alkuista dataSource ja
dataTarget URL muotoa.
Käytämme yllä olevaa esimerkkiä modbus väylän kautta liitettävästä
laitteesta, jossa on 1 kpl DI kanavia.
Pisteen dataSource kenttään voidaan kirjoittaa seuraava URL jolla
kanavan tila voidaan lukea pisteen raw ja pv kenttiin:
io://modbus1/example/10/DI1
Jossa..
modbus1 tarkoittaa sellaista modbus porttia, jonka alias kentän
arvoksi on määritetty "modbus1" (tämä on järjestelmän
oletus modbus portti).
example on käytettävän ioprofiilin nimi
10 on väyläosoite - tässä tapauksessa laitteen modbus-osoite.
DI1 tämä on viittaus profiilin <iodata> osiosta löytyvään
tagiin, josta halutun kanava tai io-datapisteen
kuvaus löytyy.
Näitä lyhennettyjä URL:eja voi käyttää kaikkien sellaisten laitteiden
yhteydessä, joista on saatavilla io-profiili.
** FIN **