Az olyan alkalmazások esetében, ahol a kezelők gépekkel dolgoznak, természetes igény van egy mechanizmusra, amelyen keresztül a kezelő konfigurálhatja és figyelemmel kísérheti a gépet. Egy ember-gép interfész (HMI) általában eleget tesz ennek az igénynek. A National Instruments érintőképernyős számítógépei (touch panel computer, TPC) integrált processzort, robusztus kivitelű érintőképernyős interfészt és egy sor integrált I/O portot tartalmaznak, valamint natív LabVIEW támogatást a LabVIEW Touch Panel Module (érintőképernyős modul) segítségével. Ezek a jellemzők az NI TPC-ket ideális HMI-kké teszik vezérlőrendszerekkel való kommunikációra.
Egy tipikus HMI alkalmazás architektúrája megvalósítható NI TPC-hez a LabVIEW Touch Panel Module használatával. A HMI architektúrát alkotó komponensek többsége megtalálható referencia-könyvtárakban és a referenciaminták között, ezáltal csökkenthető a fejlesztési idő és a legjobb megoldásokat alkalmazhatjuk.
Tipikus HMI architektúra
Az ábrán egy tipikus HMI architektúra blokkdiagramját láthatjuk, a különböző szoftverkomponensek közötti kapcsolatokkal.
Lapozható kijelzőrendszer A tipikus gépvezérlő alkalmazás változók vagy azonosítók százait tartalmazza. Ezen azonosítók egy része vezérlő I/O-khoz és a vezérlő állapotához kapcsolódik, de számos belső azonosító is található közöttük, amelyek a rendszer állapotának kezeléséhez, konfigurációjához, kalibrációhoz stb. használhatók. Egy HMI alkalmazás rendszerezi az azonosítók értékeit és az összetartozó elemeket csoportosítva, egy oldalon jeleníti meg a kezelőnek. A változók adatain túl minden oldalon navigációs gombok is találhatók, amelyek lehetővé teszik a kezelőnek, hogy más oldalakat is megnézzen. A színfalak mögött egy navigációs motor (Navigation Engine) kezeli a megjelenítendő oldalak közötti átmeneteket.
Megjelenített objektumok Használhatunk standard indikátorokat analóg, string és digitális azonosítók értékének megjelenítésére. A riasztások megfelelő megjelenítéséhez további szoftveres támogatás szükséges. Gyakori módszer riasztás jelzésére például az összefoglaló a riasztásokról vagy a riasztási lábléc. A riasztások összefoglalója tipikusan egy önálló oldal, amelyen a kezelő a riasztások teljes listáját láthatja. A riasztási lábléc pedig egy olyan egysoros kijelző, amelyet bármely oldal aljához hozzáadhatunk, hogy a kezelő figyelmét azonnal felhívjuk egy riasztásra. A riasztásmegjelenítő motor (Alarm Displays Engine) felelős a riasztások megjelenítésének működéséért.
Adatbeviteli objektumok A HMI-n az adatbevitel több erőfeszítést kíván, mint egy tipikus asztali számítógépen, különösen akkor, ha a HMI egy érintőképernyős gépen fut, ahol egér és billentyűzet nem áll rendelkezésre. Az adatbeviteli objektumokat különösen nagyra kell méretezni, és egyedi billentyűzeteket kell létrehozni a legtöbb adattípus beviteléhez (szám, dátum, jelszó, felsorolás stb.).
Azonosító kezelőmotor Az azonosító kezelőmotor (Tag Engine) működése megvalósítja a változók aktuális értékeinek tárolását és lekérdezését. Ez az a központ, amit a többi komponens az adatok cseréjére használ a következők szerint: • az UI (felhasználói felület) oldalai kiolvassák és megjelenítik az értékeket • a kezelők az adatbeviteli objektumokon keresztül változtatják meg az azonosítók értékeit, amelyeket a rendszer többi része kap meg • az eseménymotor (Event Engine) a változók értékeire vonatkozó feltételek teljesülését figyeli • az adatmotor (Data Engine) azonosító értékeket küld és fogad a gép vezérlőjével kommunikálva.
Eseménymotor Az eseménymotor (Event Engine) összehasonlítja az azonosítók értékeinek egy részhalmazát egy sor előre definiált feltétellel (érték egyenlő X-szel, érték a tartományon belül vagy kívül van stb.) és egy eseményt naplóz, ha egy érték valamely hozzá definiált eseményfeltételt teljesít. Bizonyos eseményeket csak egyszerűen naplóz, míg más eseményeknél kezelői beavatkozás szükséges és riasztásnak számítanak. A riasztási esemény adatait megkapja a riasztásmegjelenítő motor, amely meghatározza, hogyan jelenik meg a riasztás a kezelőnek. Ha a változó értéke visszatér a riasztási állapotból, akkor az eseménymotor küld egy riasztást törlő üzenetet a riasztásmegjelenítő motornak.
Webszerver A HMI interneten keresztül is tud elérést biztosítani a riasztási és eseménynaplóihoz, ezáltal lehetővé téve, hogy távoli felhasználók böngészővel olvashassák a naplófájlokat.
Adatmotor A HMI adatmotorja (Data Engine) azonosítóértékeket cserél a gép vezérlőjével, egy, a kontroller által támogatott kommunikációs protokollon keresztül. A PLC-k tipikusan valamilyen saját protokollon vagy szabványos ipari protokollon, például Modbuson kommunikálnak. A programozható automatizálási vezérlők (PAC) kommunikációja is alapulhat ezen, de gyakran kihasználja az Ethernet alapú protokollok előnyeit is.
Azonosítószerkesztő Az azonosítószerkesztő (Tag Configuration Editor) eszköz használatával a fejlesztők létrehozhatják, konfigurálhatják és karbantarthatják az alkalmazás azonosítólistáját. Az eszköz egy konfigurációs fájlt hoz létre, amely alapján inicializálja a HMI az azonosítókezelő motorját.
Megvalósítása érintőpaneles modulon
A LabVIEW Touch Panel Module grafikus fejlesztőfelületet biztosít, amelynek segítségével elkészíthetjük a HMI alkalmazásunkat Windows-alapú fejlesztőkörnyezetben, majd telepíthetjük az elkészült futtatható állományt egy NI TPC-re. Egy jobban érthető struktúra érdekében felbonthatjuk a HMI architektúránkat navigációs, szkennelő és háttérfolyamatokat végző ciklusokra.
A navigációs ciklus tartalmazza a HMI oldalakat, és ez felel az oldalak kezeléséért és a közöttük való navigációért. A szkennelő ciklus magában foglalja az adatmotort, a riasztáskezelő motort és a hardver I/O kommunikációs driver-eit. Ezek felelnek a HMI és a gép vezérlése közötti adatcseréért és a riasztások figyeléséért. A háttérfolyamatok ciklusa tartalmaz minden más komponenst, amelyeknek párhuzamosan kell futniuk a navigációs és a szkennelő ciklusokkal. A HMI architektúra más komponensei közvetve állnak csak kapcsolatban a HMI alkalmazással. Például mind a webszerver, mind az azonosítószerkesztő fájlokon keresztül áll összeköttetésben az alkalmazással (weboldalakon, illetve konfigurációs fájlokon keresztül).
Navigációs ciklus részleteiben
A navigációs ciklus egy egyszerű állapotgép formájában került megvalósításra egy „while” ciklussal és egy esetkezelő struktúrával. Minden eset tartalmaz egy megjelenítendő HMI oldal VI-t, amely hívás esetén megjelenik a HMI képernyőjén. Az ábrán látható példában a HMI navigációs motor (HMI Navigation Engine, HNE) referencia-könyvtárt használja, amelyet HMI oldalak kezelésére és a közöttük való navigálásra hoztak létre.
Ahogy már szerepelt, a navigációs ciklus tartalmazza az alkalmazás összes HMI oldalát. Minden HMI oldal egy LabVIEW VI, amelyek mindegyikét a gép egy bizonyos folyamatának vagy alfolyamatának felügyeletére és beállítására hozták létre. A leggyakoribb elemek egy oldal frontpaneljén a navigációs gombok, műveletindító gombok, numerikus indikátorok, grafikonok, képek, logikai kontrollok és indikátorok. A ábra architektúrájában a riasztások megjelenítése a navigációs ciklusban található. Ez azért van, mert a riasztások kijelzője gyakran csak egy speciális típusú HMI oldal, amely megjeleníti a legutóbbi aktív és múltbéli riasztásokat. A másik bevett útja a riasztások megjelenítésének a riasztási lábléc. Az érintőképernyős riasztási motor (Touch Panel Alarm Engine, TAE) referencia-könyvtárat a riasztások monitorozására, naplózására, illetve az aktív és múltbéli riasztások megjelenítésére hozták létre.
Szkennelő ciklus, mint folyamatsorozat
A szkennelő ciklust folyamatok sorozataként valósították meg, amely bizonyos gyakorisággal fut. Néhány speciális folyamat az adatmotoron vagy a riasztási motoron belül található. A ciklus ábrán szereplő példája a CVT Client Communication (CCC) referencia-könyvtárat használja az adatmotor, illetve a Touch Panel Alarm Engine (TAE) referenciakönyvtárat a riasztási motor megvalósításához.
A CVT Client Communication (CCC) referenciakönyvtár segít megosztani a változó értékeket a HMI és a gépvezérlő között, hogy a HMI mindig a legfrissebb adatokkal rendelkezzen a vezérlőtől és fordítva. A CCC kiolvassa az új adatokat, majd átküldi őket a HMI helyi adatmotorjának, így az adatok a teljes HMI alkalmazás számára elérhetők. Az érintőképernyős riasztási motor (TAE) referencia-könyvtár segít a monitorozásban, a naplózásban és a riasztások megjelenítésében az azonosítók értékeinek különböző riasztási kritériumokkal történő összehasonlítása alapján. Ha riasztást észlel, akkor az adott azonosítót hozzáadja egy globális riasztási státuslistához aktív riasztásként és naplózza az eseményt a merevlemezre. Ha az érték visszajut a riasztási küszöbszint alá, akkor a riasztás múltbeli riasztássá válik. A TAE-nak a felügyelt címkék új adatokkal való frissítése után kell futni. Ez a szkennelő ciklust ideális hellyé teszi a TAE számára.
Aktuális értékek táblája, azonosítószerkesztő
Ahogy már említettük, az azonosítómotor egy olyan többprocesszoros mechanizmus, amely az aktuális címkeértékek tárolását és elérhetőségét biztosítja a HMI alkalmazás bármely része számára. Az aktuális értékek táblája (Current Value Table, CVT) referenciakönyvtár valósítja meg ezt a működést. A CVT egy központi tárolót hoz létre a HMI-ben létező összes változói adata számára és egy API-t biztosít ezeknek azadatoknak az egyszerű eléréséhez. Mind a CCC, mind a TAE kapcsolódik a CVT-hez a frissített címke adatok elküldése és fogadása céljából. Az azonosítószerkesztő (Tag Configuration Editor) egy kiegészítő eszköz, amely segít a változók létrehozásában és konfigurációjában. Mivel a HMI architektúra megvalósítása a LabVIEW érintőképernyős modul használatával a címkék használatára épül, ezért az azonosítószerkesztőt a tárgyalt referencia-könyvtárakhoz illeszthető módon hozták létre.
| LabVIEW szeminárium |
Tudja meg, hogy használhatja az NI LabVIEW grafikus rendszertervező szoftvert irányítási és ipari automatizálási rendszerekben a National Instruments LabVIEW alapok gyakorlati szemináriumának keretében! Időpont: 2013. április 23., 08:30–15:00 Helyszín: Ramada Resort – Aquaworld Budapest |
