HAZAI MŰSZERÚJDONSÁGOK

Az Xmea Linux-alapú adatgyűjtő szoftver

 

1. A mérés: összehasonlítás.

A mérés: összehasonlítás. Szinte elképeszto, hogy az emberiség mi mindent talált ki eddig annak érdekében, hogy egy dolog mennyiségi vonatkozásait megismételhetoen dokumentálni tudja. Talán ennél is változatosabbak azokat a célok és okok, amelyek adatgyujtésre sarkallnak minket. Praxisunkban leginkább két fo adatgyujtési céllal találkoztunk: vagy egy adott folyamatról kellett tanúsítani, hogy a megfelelo módon zajlik le (például: munkadarabok gyártásközi ellenorzése), vagy több-kevesebb bemeno jellemző más, kimenokre gyakorolt hatását kellett tetten érni, rendszerint azért, mert az adott rendszerrol kevés vagy semmiféle információval nem rendelkeztünk (példul: kutatás)

Cégünk, a Meditor Általános Fejleszto Iroda már a '90-es évek elején hozzákezdett saját méréstechnikai rendszerének kiépítéséhez. E hosszú folyamat fontos állomása volt, mikor korábbi tapasztalataink szintéziseként egy követelményrendszer felállításával hozzáláttunk egy általánoscélú integrált méroszoftver kifejlesztéséhez. Ime a kiindulási pont:

A fejlesztési környezet:

  1. legyen 32 bites, stabil, rendszer.
  2. biztosítson szabványos grafikus felületet.
  3. rendelkezzen jól dokumentált eszközmeghajtókkal, és biztosítsa a hardverperifériák alacsonyszintű elérését.
  4. bárki számára legyen könnyen elérhető.


E fejlesztési célok rögzítésével egyidoben több helyrol (egyetemekrol, kutatóhelyekrol) kaptunk jelzéseket, hogy a Windows-os környezetben (Win9x) fejlesztett szoftverekkel gond van. A legtöbb esetben a rendszer váratlan leállásáról, illetve a mintavételezés pontatlanságáról szereztünk híreket. Így esett választásunk az akkor már egyre ismertebbé váló Linuxra.

A Linux létjogosultsága ma már nem kérdéses, különösen a nagy megbízhatóságot igénylo feladatokban. Tipikusan ilyenek a sokszor küldetéskritikusnak tekintheto mérés-adatgyujtési munkák, ahol a mérés csak nehezen, vagy csak nagy költséggel ismételheto meg. Mi is a Linux? A Linux egy teljesértéku, szabadon terjesztheto unix klón, és teljes mértékben kielégíti az (1)-(4) pontokban megfogalmazott követelményeket.

További követelményként fogalmaztuk meg az alábbiakat:

Ezek a gondolatok az Xmea for Linux születésének előzményei.

 

2. Az Xmea rendszer felépítése


Bármilyen méréstechnikai feladat három, időben többé-kevésbé összerendezett mozzanatból áll. Először meghatározzuk magát a feladatot (mit akarunk mérni és miért), ezután összegyűjtjük az adatokat, végül értelmezzük azokat. Mint később látni fogjuk, az Xmea lehetőséget biztosít arra, hogy e mozzanatok bizonyos mértékig átfedjék egymást: adatgyűjtés közben átfogalmazhatjuk a feladatot, illetve a valósidejű kijelzőn (korlátozott mértékű) adatelemzést hajthassunk végre.

2.1. Egy feladat megfogalmazása: az Xmea paramétertáblázatának kitöltése

Az első teendő – legalábbis mérnöki megközelítéssel – mindig a mérni kívánt mennyiségek számbavétele, szélső értékeinek meghatározása. El kell dönteni továbbá azt is, hogy a mérési adatokhoz milyen hardveren keresztül tudunk hozzáférni (mérőkártya, önálló mérőberendezés szabványos felülete, hálózati kártya stb.). Más fontos kérdések is felmerülnek, ezek legtöbbjére, mint látni fogjuk, egyszerű eszközökkel adhatunk választ. 

A mérési feladat megfogalmazása során úgynevezett keretekkel dolgozunk. Összesen 4 különböző keret létezik:

Az "Általános" keret a minden csatornára vonatkozó jellemzőket (paramétereket) tartalmazza. Ilyenek: a mérés típusa, a mintavétel sűrűsége, az adatokat tároló adatállomány neve és még néhány olyan dolog, amit nem használunk túl gyakran.

A "Csatornák" kereten belül az egyes mért mennyiségekhez a számunkra leginkább megfelelő szöveges ismérveket rendelhetjük. Például megadhatjuk a mérőcsatornán mért mennyiség nevét (pl: hőmérséklet), mértékegységét (Kelvin fok), hogy csak a legfontosabbakat említsük.

Az "Események" keret megértése alapvető a hatékony munkához. Itt adhatjuk meg ugyanis, hogy a mérési folyamat során bekövetkezett eseményekre milyen válasz következzen. Esemény lehet egy csatornán megjelenő jelszint (pl.: elértünk egy meghatározott nyomásértéket), lefutott egy időzítő, elértünk egy megadott dátumot (pl. 2002.02.12. 14:30:16), egy operátori beavatkozás (egérkattintás) vagy üzenet érkezése egy másik Xmea rendszertől. A válaszok közül a legfontosabbak: adatok naplózása elindul/megáll, figyelmeztető jelzés vagy, szabályozó jel kiadása, de ilyen válasz lehet egy másik paramétertábla betöltése is.

Ez utóbbinál álljunk meg egy pillanatra. Ez az ártatlannak tűnő dolog a mérési folyamatot egészen új utakra terelheti. Segítségével menet közben méréshatárt válthatunk, a legkülönbözőbb burkológörbéjű szabályozó köröket építhetjük fel, ciklikus méréseket hajthatunk végre, fontossági sorrendet (prioritásokat) cserélhetünk fel. Még felsorolni is nehéz volna mi mindenre ad lehetőséget ez az egyszerű eszköz. Annyit érdemes ebből elsőre átlátni, hogy a bekövetkező események a mérési folyamat elágazási pontjai lehetnek.

A "Töréspontok" keret segítségével egy adott mérőjel karakterisztikáját határozhatjuk meg. Egy 9 lépcsős táblázatban megadhatjuk, hogy egy adott digitális értékhez milyen természetes mértékegységben megfogalmazott menynyiség tartozik. Ez tulajdonképpen egy kalibrációs lehetőség is.

 


2.2. A mérési adatok kijelzése 

Érthető az embernek az a törekvése, hogy a mérési adatokat keletkezésük pillanatában látni akarja, bár eddigi tapasztalataink szerint a valósidejű kijelzésnek nem sok értelme van. Ha a mérési adatok beavatkozást tesznek szükségessé (szabályozás, riasztás), ezt sokkal gyorsabban és biztosabban megteszi helyettünk a számítógép, az utólagos adatelemzés pedig sokkal megfontoltabb döntést tesz lehetővé, mint egy múló pillanat során szerzett információ. Mégsem jutna eszébe senkinek mérés-adatgyűjtő programot készíteni úgy, hogy az nem tartalmaz valamilyen formában valósidejű adatkijelzést is.

Az Xmea kijelzője többféle módon segíti a megfigyelőt. Nemcsak az adatok változását követhetjük nyomon, hanem bizonyos mértékű felhasználói beavatkozásokra is lehetőséget ad. Fő funkciója természetesen a kijelzés. A lehetséges 128 csatornából (lásd még: specifikáció) egyszerre 16 tetszőlegesen választottnak a pillanatnyi értékét olvashatjuk le és két csatorna 600 mintás előéletét is nyomonkövethetjük egy grafikonon. 

Felhasználói beavatkozások segítségével a mérési folyamatot teljesen kézbentarthatjuk. Egyrészt megváltoztathatjuk néhány adatmező tartalmát (pl.: név és hely), új paramétertáblát tölthetünk be (a mérés a továbbiakban ezzel a paramétertáblával folyik tovább), beállíthatjuk a kijelző típusát (pl.: normál, harmonika), elindíthatjuk/megállíthatjuk a naplózást (start/ stop) vagy kiválaszthatjuk, hogy a távoli rendszerek közül melyiknek az adatait akarjuk a képernyőn megjeleníteni.

A kijelző tartalmaz még néhány segédinfomációt, ezek elsősorban a rendszer helyes vagy helytelen beállításairól tájékoztatják a felhasználót.

2.3. Utólagos adatelemzés


Az adatelemzés során az összegyűjtött adatokat különféle szempontok szerint csoportosíthatjuk. Ábrázolhatjuk őket hagyományos grafikus diagramon (idődiagram), de bármelyik csatorna szolgálhat vonatkoztatási alapként. Vizsgálhatjuk például, hogy változó erő hatására milyen alakváltozások jöttek létre a mintadarabon. Az ábrák érdekes részei kinagyíthatók, adatainkat statisztikai elemzéseknek vethetjük alá, különféle kinyomtatható listákat kérhetünk azokról.


Lehetőségünk van különféle adabázis-műveletekre is. Mérési adatainkat több szempont szerint előkereshetjük, önálló adatállományként elmenthetjük (hordozhatóság!), sőt táblázattá alakíthatjuk át, lehetővé téve ezzel egy külső, általunk megszokott adatelemző program használatát.

 


3. A mintavételezési eljárásról


Egy mérés-adatgyűjtési folyamat során az, hogy a megmért mennyiséget digitális adatként tároljuk, az természetes. Sajnos azonban a mérési adatok ömlesztett tárolása - bár ez a leggyorsabb megoldás, mert a legkevesebb adatmozgatást igényli - rendkívül sérülékennyé teszi az adatbázist. Ezért kidolgoztunk egy olyan adatszerkezetet, amelyben az egyes mérési minták nemcsak mérési folyamatként, hanem önállóan is értelmezhetők. Ez az adatszerkezet a következőket tartalmazza:


Könnyen belátható, hogy ennek az adatszerkezetnek a segítségével a mérési folyamat időbeli lefolyása akkor is újra előállítható, ha a mérési minták bármi oknál fogva (például szervezési okokból) csak külön-külön állnak rendelkezésre.

Külön kell szólnunk az adatszerkezet egyik, előbb nem említett eleméről: lehetőség van minden egyes adatmintához hozzácsatolni az abszolút térkoordinátákat például GPS segítségével. A GPS eszközök ma már hozzáférhető áron állnak rendelkezésre, és velük szabványos módon (soros vonalon keresztül) lehet kommunikálni. A GPS koordinátákkal kiegészített mérési adatok elsősorban a mozgásközben végzett méréseknél jelentenek előnyt. Lehetővé válik különféle bejárási úvonalak kijelzése valós időben, és térképek rajzolása. Jellemzően ilyen adat-rögzítési/jelzési igényeket támaszt a katasztrófa elhárítás, a polgári védelem és a környezetvédelem.

Többfeladatos rendszerben érdekes probléma a mintavétel pontos idejének meghatározása. A gondot az jelenti, hogy az operációs rendszer nemcsak a mérőprogramot szolgálja ki, hanem sok más, a normális rendszerműködéshez szükséges művelettel foglalkozik. Minden feladat kap egy időszeletet és ami ebben az időszeletben elvégezhető, az végrehajtódik, ami nem, az majd akkor, ha legközelebb megint az adott feladatra kerül a sor. Ilyen környezetben tehát a mérőrendszer is egy feladat a soktucatnyi közül. Feloldhatatlannak tűnik az abszolút pontos mintavétel és az időosztásos feleadatvégrehajtás közötti ellentmondás, hiszen egy-egy időszelet hossza akár 20 ezredmásodperc is lehet. E probléma megoldásra fejlesztettük ki a Meditor QuasiRealTime Method (mqrm) nevű eljárást. Az eljárás lényege, hogy közvetlen hardverprogramozással "felpörgetjük" a számítógépet (ezzel a PC számára 8x gyorsabban telik az idő), illetve anélkül, hogy a processzorterhelés jelentősen emelkedne, a mérőrendszer futását gyakorlatilag kizárólagossá tesszük.

Nézzük milyen előnyök származnak ebből: Egyrészt biztosítható, hogy a pontos mintavétel mellett a processzorterhelés a mintavételezési sebességgel arányosan nőjön (266 MHz PII, 1024 Hz-es mintavétel, valósidejű grafikus kijelzés esetén a terhelés <50%), másrészt a rendszer képes marad olyan hálózati kérések kiszolgálására is, amelyek egy többfelhasználós méréstechnikai alkalmazás esetén nélkülözhetetlenek. Később erre mutatunk példát.

Az előbb említett 1 kHz-es mintavételezési sűrűség többnyire bőven elegendő, sőt, tapasztalatunk szerint sem az ipari, sem a tudományos méréstechnikai esetek nem igényelnek néhány tucatnál több mintát másodpercenként. Ennek az oka valószínűleg az, hogy a mérési feladatok megközelítése emberi módon történik: a mintavételezés sűrűségét rendszerint az ember reakcióidejéhez igazítják. Természetesen vannak olyan feladatok is, ahol ez a mintavételi sebesség nem elegendő. Előfordulhat ugyanis, hogy másodpercenként sok tíz- esetleg sok százezer mintát kell feldolgozni. Tipikusan ilyenek azok a vizsgálatok, amelyekben egy rezgést kell rögzíteni, vagy a megfigyelni kívánt állapotváltozás nagyon gyorsan megy végbe.

A kérdés tehát ez: Hogyan vegyünk mintát 10 mikromásodperces pontossággal egy olyan rendszerben, amelyben az időzítés pontossága ennél nagyságrendekkel rosszabb. A megoldás, ha nem is egyszerű, de mégis kézenfekvő, hiszen itt van a szemünk előtt: Amikor hangkártyán keresztül megszólaltatunk egy hangot, másodpercenként akár 40 ezer mintát is át kell juttatni a számítógép belső rendszerén. A "kulcsszó" a DMA (Direct Memory Access). Ez a minden PC-ben meglévő áramkör lehetővé teszi, hogy egy periféria (pl.: mérőkártya) és egy memóriamező között a processzor megkerülésével vigyünk át adatokat. A mérési adatok fogadása ezért, bármilyen gyorsan is keletkezzenek azok, nem terheli a processzort, így minden erőforrás az adatok további feldolgozására (struktúrába ágyazás, kijelzés, tárolás) fordítható. Számításaink szerint a DMA-val áthidalandó idő PC-n 25…40 ezredmásodperc között van. Ezek figyelembevételével és az úgynevezett kettős pufferelést használva (amig az egyik pufferbe érkeznek az adatok, addig a másikból feldolgozzuk azokat) elérhetjük a mérőkártyák képességének fizikai határát. Megjegyezzük, hogy a nagysebességű mérőkártyák egyébként is tartalmaznak egy-két ezer minta átmeneti tárolásához szükséges tárolót (FIFO), pontosan az előbb említett okok miatt.


4. Sokfelhasználós adatgyűjtés


Gyakori eset, hogy hasonló típusú mérési adatok keletkeznek egymástól távoli helyeken, de ezeket az adatokat egy helyen kell fogadni és tárolni. Ez azt is jelenti, hogy az egyes távoli helyeken keletkezett adatokat elkülönítetten kell kezelni mindaddig, amig a mérési folyamat tart, majd annak végén a mérést be kell illeszteni az egységes adatbázisba. Ez a művelet nagyon hasonló más számítógépes hálózatok működéséhez. Az adattároló PC-vel tudatjuk, hogy az egyes mérőhelyekhez milyen azonosító (cím) tartozik. A mérőprogram megfelelő sűrűséggel körbekérdezi a távoli mérőegységeket, és ahol van értelmezhető adat, onnan elhozza azt. Ennek az eljárásnak két előnye is van: egyrészt egyetlen PC számos mérőhelyet képes kiszolgálni, másrészt az adatkezelési munkák egy helyen végezhetők el, ami munkaszervezési szempontból jelent óriási előnyt. 

Az Xmea valódi, TCP/IP alapú mérőhálózat kialakítására is alkalmas. Ebben az esetben a PC-k egymással, ethernet kártyán, vagy modemen keresztül vannak összekötve. Ettől kezdve, a mérési adat keletkezési helye és a valósidejű adatelemzés helyszíne közötti távolság akár nagyon nagy is lehet, és adatátviteli csatornaként az Internet is szóba jöhet.

Az adagyűjtő helyek hardverköltségeinek csökkentése érdekében fejlesztettük ki saját Linux változatunkat. Célunk az volt, hogy egy minél olcsóbb PC-n, egy nagyon stabil környezet álljon rendelkezésünkre. A végeredmény egy 16 Mbájt méretű Unix alapú operációs rendszer, amely ismeri a legfontosabb hálózati szabványokat, rendkívül rugalmas, hozzá szoftverek olcsón és gyorsan fejleszthetők (mert külön fejlesztési környezetre nincs szükség). Az operációs rendszer és a felhasználói program egy 32 Mbájt méretű úgynevezett szilárdtest-lemezen fut. Alacsony teljesítményű processzort használva (<300 MHz), a processzorhűtés hűtőbordával megoldható, csak a tápegység tartalmaz forgó alkatrészt (ventillátor). Monitorra, billentyűzetre nincs szükség, a PC vezérlése a párhuzamos portra illesztett nyomógombokkal megoldható. Ugyanezzel a porttal LED-eket is meghajthatunk, ezzel közvetlen visszajelzéshez jutunk. Természetesen a gépre bejelentkezhetünk távolról például telnettel és végrehajthatjuk a rendszerbeállításokat. Arra is lehetőség van, hogy az így kialakított mérőállomás közvetlenül a központi kiszolgáló számítógépre gyűjtsön adatokat. Méréseink szerint NFS hálózati protokollt és 10 Mbit-es ethernet kártyát használva 500 Hz-es mintavételezési sebesség érhető el. A kidolgozott eljárás, különösen a mintavételezés sebessége tekintetében, még jelentős tartalékokat rejt.

Könnyen belátható, hogy a felsorolt eszközök és eljárások elérhető áron teremtenek lehetőséget egy jól karbantartható, rugalmas méréstechnikai rendszer kialakításra (például: összetett gyártási folyamatok vezérlése, kiterjedt mérőhálózatok, különleges igényű mérési feladatok).


5. Esettanulmányok


A továbbiakban néhány alkalmazási példán keresztül mutatjuk be az Xmea sokszínűségét.

 

5.1. Egy felhasználós alkalmazás, kereskedelemben kapható mérőkártyával, szabályozással

Egyik ügyfelünk azzal a kéréssel fordult hozzánk, hogy meglévő berendezését (pneumatikus présgép) egészítsük ki úgy, hogy az alkalmas legyen különféle technológiával készült statikai elemek (például: gerendák) terheléses vizsgálatára. A fejlesztési munka eredményeként létrejött eszköz maximum 12 méter fesztávú elemek vizsgálatásra alkalmas. Az alakváltozást 12 ponton rögzítjük precíziós elmozdulásmérők segítségével. Külön mérjük a két ponton átadott terhelést, a levegőnyomást és a berendezés kezeléséhez szükséges kapcsolók állapotát. Az analóg jelek átalakítását Advantech PCL-818L típusú mérőkártya végezi.

A leggyakrabban azt a legnagyobb terhelést kerestük, amelynek hatására a gerendák eltörtek (lásd: 6. ábra). A feladat érdekességét a teherfelfutás fokozatossága adja. A statikai szakértő kérésére a terhelést lépcsőzetesen emeltük, egy-egy lépcsőfokon néhány percet időzve (lásd: 5. ábra). Ehhez az Xmea azon tulajdonságát használtuk ki, hogy mérés közben új paramétertáblát képes betölteni: minden egyes lépcsőfokhoz más, magasabb teherrel egyensúlyt tartó, szabályozókört tartalmazó táblázat tartozott.

 

5.2. Sok felhasználós eset, sajátfejlesztésű adattárolóval

Másik ügyfelünk magas minőségi követelményeknek megfelelő járműalkatrészeket gyárt. Azt a megbízást kaptuk, hogy auditálásra (QS9000) készülő cégüknél a gyártásközi ellenőrzéssel kapcsolatos méréstechnikai (adatgyűjtés, visszajelzés) és statisztikai (SPC, képességvizsgálat) feladatokat oldjuk meg.

A mérési adatok gyűjtése a szokásos munkamenetbe jól beilleszthető volt, mert a gyártott alkatrészek méreteit már korábban is Mitutoyo gyártmányú digitális tolómérővel ellenőrizték. Ez a mérőeszköz rendelkezik megfelelő kimenettel, így csupán az általa szolgáltatott adatokat kellett egy átmeneti tárolóba elhelyezni. Ezeket az egyedi azonosítóval rendelkező tárolókat az Xmea egy soros vonali buszrendszeren keresztül éri el. Ha az ellenőrzött alkatrész valamely mérete a tűréstartományból kilóg, az Xmea jelzi azt, így a mérést végző személynek azonnali beavatkozásra van lehetősége. 

Az egyes alkatrészszállítmányokhoz tartozó jegyzőkönyveket és a nem valós idejű adatelemzést külön PC-n futó Xmeával készítik el. Ehhez az szükséges, hogy az adatgyűjtő rendszer ethernet hálózaton elérhető legyen. Ekkor a Linux rendszer hálózati átlátszóságát használjuk ki: Az adatgyűjtést végző PC egyszerre szolgálja ki a rajta futó Xmeát, és NFS protokollon keresztül a másik, távoli PC-t.

A rendszer 24 órás üzemmódban folyamatosan működik, heti egyszeri, rendszer-ellenőrzési célokat szolgáló újraindítással.

 

5.3. Reaktorvezérlés, összetett, tudományos alkalmazás (tervezet)

Megbízónktól azt a felkérést kaptuk, hogy kémiai folyamatok végrehajtására készült reaktorának vezérlési és adatgyűjtési feladatait tervezzük meg és ez alapján a szükséges műszaki fejlesztéseket valamint illesztéseket végezzük el.

A munka összetettségére jellemző, hogy nyomás- és hőmérsékletszabályozási részfeladatok mellett bonyolult időbeli összehangoltságot kell biztosítani. További bonydalmakat okoz a minták azonosítása, valamint az üzemelés biztonságát felügyelő alrendszer működtetése. Kiderült, hogy mindezt egyetlen Xmea program el tudja látni! 

Érdekesnek ígérkeznek a járulékos fejlesztések is: A drága kereskedelmi mérőkártyák kiváltására fejlesztjük ki a ParAxon nevű önálló egységet, amely a PC párhuzamos portján keresztül az úgynevezett ECP üzemmódot használva továbbítja a mérési adatokat. Hasonlóan fontos berendezés lesz a digitálisan vezérelhető teljesítményszabályozó, amellyel nagy pontossággal lehet adott értéken tartani például a hőmérsékletet.

Ebben a kiépítésben az Xmea közvetlen kapcsolatban áll egy optimumkereső rendszerrel, amely szintén Meditor fejlesztés (Holografisztikus Kutatási Stratégia = HKS). A kapcsolat abból áll, hogy a keletkezett mérési adatok alapján a HKS paramétertáblázatokat állít össze az Xmea számára. A két program együttműködésével létrejött rendszer tehát megfelel egy optimumkereső automatának.

 

6. Összefoglalás, jellemzők, elérhetőség  

6.1. Összefoglalás

Cikkünkben röviden megmutattuk, hogy miként lehet szabad felhasználású szoftverekre alapozva hatékony méréstechnikai megoldásokat felépíteni. Az Xmea for Linux egy olyan szabványos grafikus felülettel rendelkező, mérés-adatgyűjtő és szabályozó program, amelynek továbbfejlesztése és/vagy meglévő környezetbe való beillesztése könnyedén megoldható. Keretrendszerként tág lehetőséget biztosít különféle feladatok megfogalmazására. Kimenetei szabványosak, így jól együttműködik más rendszerekkel.

6.2. Jellemzők

Minimális környezeti igények:

IBM kompatibilis PC:


Operációs rendszer 


Egyéb:


6.3 Elérhetőség

Meditor Általános Fejlesztő Iroda, alapítva 1989-ben.
 
Bemutató terem: 1134 Budapest Csángó utca 8. 
Postacím: 2623 Kismaros, Zrínyi utca 16. 
E-mail: meditor@enternet.hu 
Telefonok: 06-1-412-43-71, 06-60-393-545 
Honlap: www.meditor.hu 


Végvári Lajos*   

*Meditor Általános Fejlesztő iroda      

A laprendszer készítője: UFE