VISION X9 Tutorial Bevezetés az alkalmazás-fejlesztésbe A VISION egy fejlesztő eszköz, amellyel látványos és igényes ipari alkalmazásokat készíthetünk megjelenítés, felügyelet és adatgyűjtés céljából (SCADA). Két rendszer létezik: fejlesztő és futtató. Az előző a kombinált konfigurációs / fejlesztő program, amivel az alkalmazásokat létre lehet hozni, a második ezzel szemben csak futtatni képes. Azonban a fejlesztőrendszer is képes futtatni, mivel a fejlesztőrendszer tartalmazza a futtatót. Az alkalmazásokat ezért egyetlen program hatása alatt lehet létrehozni, módosítani, majd futtatni, vagyis nem kell ahhoz a fejlesztőrendszerből kilépni és a futtatót elindítani, hogy kipróbáljuk, amit csináltunk. Ez az online szerkesztés lényege. Jelen dokumentum a VISION fejlesztőrendszert mutatja be, a rendszer filozófiáját és használatának alapjait. Kérjük, kövesse végig az anyag egyes fejezeteit lépésről-lépésre. Célunk egy új projekt készítése, amiben az alább látható képet rajzoljuk meg – hozzá a szükséges változókkal és komponensekkel: sablon, struktúra, kommunikáció, alarm és adatbázis: Színanimált bárgráf metamorfózis
Menürendszer
Változtatható bárgráf (poti)
Trend-chart Színanimáció (szelep)
Analóg számkijelző és műszer
Kapcsoló animáció
A megvalósítandó alkalmazás viszonylag egyszerű, csak a legfontosabb képelemeket tartalmazza (számkijelző, trend, bárgráf, skála, animáció), de mégis alkalmas a rendszer lényeges elemeinek és használatának a bemutatására. Hogy ne csak képi alapelemekből álljon azonban a példa-alkalmazás, egy érdekes animációs technnikára, a metamorfózisra is kitérünk (színanimált bárgráf). Példaalkalmazásunk tartalmaz továbbá kommunikációt is, valamint esemény- és adatbázis kezelést. Több helyen találhat hivatkozást a részletes leírás fejezeteire. Ezeket a könyv szimbólum jelzi a szövegben.
VISION X9 Tutorial
1/32
Tartalom 1. Általános tudnivalók .............................................................................................................. 3 2. Az első projekt létrehozása .................................................................................................... 4 2.1. Új projekt......................................................................................................................... 4 3. Változók és megjelenítésük.................................................................................................... 5 3.1. Változók .......................................................................................................................... 6 3.2. Analóg változó létrehozása ............................................................................................. 7 3.3. Analóg változó megjelenítése ......................................................................................... 8 3.4. Attribútum tábla létrehozása ......................................................................................... 10 3.5. Diszkrét változó létrehozása.......................................................................................... 11 3.6. Színanimáció diszkrét változó felhasználásával ........................................................... 11 3.6.1. Színanimáció ellenőrzése ....................................................................................... 12 3.7. Diszkrét változó értékének a kiiratása........................................................................... 12 3.8. Analóg trendváltozó létrehozása ................................................................................... 13 3.9. Trend felrajzolása.......................................................................................................... 14 3.10. Bárdiagram felrajzolása, potméter .............................................................................. 15 4. Képszerkesztés alapjai.......................................................................................................... 16 4.1. Normál és skálázázott kiválasztás ................................................................................. 16 4.2. Objektum-blokk létrehozása ......................................................................................... 16 4.3. Képszerkesztő üzemmódjai........................................................................................... 17 4.4. Kép nagyítása és mozgatása.......................................................................................... 17 4.5. Rácshoz igazítás ............................................................................................................ 17 5. Képrajzolás........................................................................................................................... 18 5.1. Képelemek elrendezése ................................................................................................. 18 5.2. Rajzolás kedvenc objektumokkal.................................................................................. 18 5.3. Animáció készítése........................................................................................................ 19 5.4. Fázis-átmenet animáció, metamorfózis......................................................................... 20 5.5. Eseményekről dióhéjban ............................................................................................... 22 6. Sablonok, menürendszer, struktúrák .................................................................................... 23 6.1. Sablon hozzárendelése a képekhez ............................................................................... 23 6.2. Struktúrák szerkesztése ................................................................................................. 24 7. Kommunikáció ..................................................................................................................... 25 7.1. Kommunikáció konfigurációja...................................................................................... 26 7.2. Kommunikáció tesztelése.............................................................................................. 28 7.3. OPC kommunikáció ...................................................................................................... 29 7.3.1. OPC konfigurálása ................................................................................................. 29 Összefoglaló ............................................................................................................................. 32 Gurka Tibor PROVICON Kft. 2006. december
Kapcsolódó dokumentumok:
Kapcsolódó linkek: :
• •
VISION X9 dokumentáció VISION akalmazás-fejlesztés unitokkal
VISION X9 Tutorial
• • •
Képgaléria – folyamatképek Konfigurációs képek Információs adatbázisok
2/32
1. Általános tudnivalók A VISION egy általános, változó-központú megjelenítő rendszer, ahol a taszkok változókon keresztül kommunikálnak egymással. A kommunkációs taszk felelős az adatok beolvasásáért, a képek pedig a kirajzolásukért – különféle grafikus objektumok tulajdonságaihoz való hozzárendeléssel. Például a kétállapotú jelzéseket (ún. diszkrét változókat) hozzárendelhetjük az objektumok színeihez. Ez diszkretvaltozo.attr formában történik (e jelzés a diszkrét változóhoz rendelt attribútum táblára utal, amely egy érték-elnevezés-szín összerendelési lista) –, a numerikus kijelzők, bárgráfok, trendek, stb. ezzel szemben közvetlenül a változókra hivatkonak és így mutatják azok értékét, változásait. Az adatbázisok és az alarmok is hasonlóképpen működnek. A változók alkotják a rendszer ún. működtető adatbázisát. Ugyanazzal a grafikus szerkesztővel készül a rendszer összes grafikus komponense. Azaz nemcsak a képeket, de pl. az adatbázisokat, a kommunikációt és az eseménykezelést is ֱrajzoljuk”. Mindez annak köszönhető, hogy a rendszer-komponenseket is a képekhez hasonló grafikus objektumok írják le; a kommunikáció interfészből, csomópontból és üzenetből, az adatbázis komponens pedig adatbázisból, táblából és mező objektumokból áll – a nekik megfelelő tulajdonságokkal és eseményekkel. Mintha csak vonal, négyszög, vagy szöveg képelemek lennének egy grafikus képen. A komponenseket XSDL (Extensible Structure Declaration Language) szintaktikájú (XML variáns) szövegfájlok deklarálják a VISION-ben. Nincsenek bináris fájlok, csak XSDL fájlok. Egyfajta scripting nyelv ez, azonban a rendszer az XSDL forrásokból futtatható kódot állít elő, s ezért a hagyományos interpertatív rendszereknél sokkal gyorsabb. Tehát minden komponens szövegfájl (konfiguráció, projekt, kép, kommunikáció, stb.) és minden programozható, mivel az XSDL egyben magasszintű programozási nyelv is. A rendszerleíró fájlok tehát egy egyszerű szövegszerkesztővel is módosithatók. Érdekesség továbbá, hogy a VISION rendszerkomponensek is ugyanazon az XSDL nyelven készültek, mint az alkalmazások (önfejlesztő képesség). Az XSDL leíró kódot a rendszer a grafikus szerkesztő segítségével automatikusan készíti el (vizuális programozás), az XSDL nyelv ismerete ezért alapesetben nem szükséges. A fejlesztőrendszer egy konfigurációs eszköz, amellyel grafikusan hozhatjuk létre a rendszer komponenseit (változók, képek, események, alarmok, reportok, stb.), ill. azok XSDL kódját. A komponensek objektumokból állnak, azokat pedig a tulajdonságaik írják le. Az alkalmazás-fejlesztés lényegében ezek beállításából áll. A programnak ebből adódóan három üzemmódja van: • • •
Online vagy alkalmazói mód (futtató) Grafikus szerkesztési mód (fejlesztő) Szöveg szerkesztési mód (szövegszerkesztő)
Ha átkacsoltunk valamelyik állapotba, a rendszer megtartja azt valamennyi komponensre nézve. Még az olyan dialógusok esetén is, mint a rendszer-konfiguráció. Konfigurálni is lehet tehát grafikusan, vagy szövegesen és a konfigurációnak is van online üzemmódja, amikor csak kijelzi a beállításokat.
A toolbar-ban található grafikus- és a szövegszerkesztés nyomógombjai alapvető fontosságúak, ezekkel válthatunk az egyes üzemmódok között:
Szöveg szerkesztés Grafikus szerkesztés
Az egyes üzemmódok között váltanak továbbá az alábbi gyorsító billentyűk is: Ctrl-Alt-E: Ctrl-Alt-T:
Grafikus szerkesztési mód ki- bekapcsolása Szöveg szerkesztési mód ki- bekapcsolása
Ha kikapcsoltuk valamelyik szerkesztési üzemmódot, online (futtató) állapotba kerülünk.
VISION X9 Tutorial
3/32
A gyorsító billentyűk használata olykor az egyetlen lehetőség, mivel a toolbar nem mindig látható a képen (F2). De gondoljunk arra az esetre, amikor egy modális ablakunk van (modális = tiltó, azaz be kell zárni az ablakot mielőtt bármi másra kattintunk) – tehát a toolbar-ra sem tudunk ráklikkelni. De a Ctrl-Alt-E működik. Vagy több ablak közül kell kiválasztanunk, hogy melyiket akarjuk szerkeszteni. Ilyenkor a megfelelő ablakra kell először ráfókuszálni, vagyis rákattintani, azután Ctrl-Alt-E. A következő funkcióbillentyűket kell még ismernünk, mielőtt továbblépnénk: F2: F11: F12:
Rendszer legördülő menü ki- bekapcsolása Projektmenedzser (kép baloldalán látható fastruktúra) ki- bekapcsolása Rendszerüzenetek ki- bekapcsolása
Kérjük, próbálja ki valamennyit. Alapesetben (mentés kilépéskor) a rendszer megőrzi a legutóbbi beállításokat.
2. Az első projekt létrehozása A VISION elsajátításához a legjobb út a gyakorlat. Készítsünk egy kis alkalmazást ezért és nézzük meg rajta keresztül az alkalmazás-fejlesztés legfontosabb lépéseit.
2.1. Új projekt Indítsuk el a fejlesztőrendszert (VPR.EXE) és válasszuk ki az Új projekt menüt. Ezután töltsük ki az Új VISION Projekt formot a név a projekt fájlnév, a cím és a leírás begépelésével. A projekt fájl neve a projekt nevéből automatikusan öröklődik, akárcsak a cím, ezért először a nevet érdemes megadni, majd TAB. Persze más könyvtár is megadható, mint amit a program felkínál. Kérjük, válassza ki a megfelelő felbontást is, mivel – noha vektorgrafius a rendszer – a legjobb minőséget akkor kapjuk, ha ugyanabban a felbontásban futtatjuk, mint amiben fejlesztettünk. Különféle projekt-tipusok léteznek. Ezek a default, az üres, a kliens, a unit, az összevonyt és a szabványos. Válasszunk szabványos profilt az első alkalommal, mivel ez a projekt-tipus tartalmazza már a szokásos komponenseket, de ezen túlmenően pár változót, struktúrát (menüt) és egy szép sablont is. Ha megvan, nyomjuk meg a Rendben gombot és válaszoljunk igen-nel az “Akarja, hogy ez legyen a default peojekt?” – kérdésre. A projektekről bővebbet a VISION projektek című dokumentációban olvashat. Itt
megtalálható a projekt-tipusok részletes leírása és a többi mező jelentése.
VISION X9 Tutorial
4/32
Ezzel a keret-alkalmazás létre is jött, hozzáláthatunk az alkalmazás kifejlesztéséhez. Előtte azonban nézzük végig az alkalmazásunkat. Figyeljük meg, hogy a főkép tartalmaz egy sablont, rajta egy XPstílusú menüvel és pár nyomógombbal, amelyek a legfontosabb rendszerfunkciókra hivatkoznak (trend, adatgyűjtés, események, stb.). A sablon szabadon módosítható a grafikus szerkesztővel.
Sablon
Fontosabb rendszerfunkciók (sablon)
Bővíthető XP menü (sablon) Hasznos képterület: ide rajzolhatunk Projektmenedzser (F11)
Az alkalmazás főképét nézve már érthető, miért érdemes sablon készítéssel kezdeni az alkalmazást: a képtartalom elhelyezését a sablon meghatározza. A szabványos profil két sablont is tartalmaz, és újabbakat is készíthetünk. Ezek – a grafikai stílust és az elrendezést leszámítva – abban különböznek egymástól, hogy a hasznos képterület számára mekkora helyet hagynak. A 4-ik fejezetben megmutatjuk, hogyan lehet sablont váltani és módosítani, most azonban az alapokhoz térünk vissza.
3. Változók és megjelenítésük Amint a rendszer bal oldalán található projektmenedszerből is látszik (F11 hatására jelenik meg / tűnik el), számos komponense van az alkalmazásunknak, úgymint konfiguráció, változók, kommunikáció, struktúrák, adatbázisok, képek, stb. Az alkalmazás-fejlesztés ezek konfigurálásából (megrajzolásából) áll. Minden menüponthoz létezik súgó (információ – bevezetés) – ezeket érdemes is elolvasni a legelső alkalommal. A komponensek létrehozasának és konfigurálásának a sorrendje nem lényeges, ez leginkább attól függ, hogy milyen információ áll a rendelkezésünkre: rajzok, IO lista, stb. Azonban a képek elrendezését és felépítését befolyásolják a sablonok, az objektumok animálásához pedig változók szükségesek. Ezért változók létrehozásával, majd azok megjelenítésével kezdjük a gyakorlatot:
1. Gyakorlatsor • • • • • • • • • •
Változódeklaráció alapjai, váltás online üzemmód és táblázatos szerkesztés között (3.1) Analóg változó létrehozása (3.2) Analóg változó megjelenítése a főképen számkijelző (NU) felrajzolásával (3.3) Attribútum tábla készítése színanimáció céljából (3.4) Kétállapotú változó létrehozása az új attribútum táblával (3.5) Kétállapotú változó megjelenítése a főképen egy szelep (VA) színének a megváltoztatásával (3.6) Diszkrét változó megjelenítése NU objektum alkalmazásával (3.7) Trendváltozó létrehozása (3.8) Trendváltozó megjelenítése trendgráf (TD) formájában (3.9) Trendváltozó megjelenítése bárrgráf (BV) formájában (3.10)
A változók részletes leírását ebben a dokumentumban találja meg: Változók.
VISION X9 Tutorial
5/32
3.1. Változók Menjünk el a projektmenedzserben a Változókhoz és válasszuk ki az egyetlen elemet a listából dupla-klikkel, vagy a jobb egérgomb - megnyit menüopcióval. A következő kép jelenik meg: Ezen a képen vizsgálhatjuk a változók állapotát és módosíthatjuk azok értékét az ún. változólekérdezési ablak által, amely az egyes sorokra való dupla kattintással hívható (az ablak változó-tipusonként különbözik):
Változó lekérdezési ablak (dupla klikk a változó során)
Új változó felvételéhez grafikus szerkesztés állapotba kell mennünk a Ctrl+Alt-E billentyú lenyomásával, vagy a toolbár megfelelő szerkesztő ikonjával. Ennek hatására az ablak egy szerkesztő-listává alakul át a tetején további menüsávokkal (új, töröl, másol, beilleszt, import, export, stb.):
Szerkesztő-lista
Új változóhoz kattintsunk ide
Új változókat azonban csak akkor tudunk felvenni, ha előtte kiválasztottuk a megfelelő változó tipust. Válasszunk Analóg-ot (ld. sárga nyíl). Ekkor a tábla egy sokkal részletesebb listává alakul át (fent, jobb oldalt), amely már tartalmazza az adott változó összes mezőjét (tipus, azonosító[név], dimenzió, minimum, maximum, faktor, offszet, IO, stb.). A változók szerkesztését (új változó felvétele, törlése, meglévők módosítása) ebben az üzemmódban végezhetjük el.
VISION X9 Tutorial
6/32
3.2. Analóg változó létrehozása Megnyomhatjuk az
gombot, mire a következő dialógus lesz láthatóvá: A számos itt látható adat közül a név, a leírás és a változó nyersérték-tipusa – ez a változó tipusa a forrásban, legtöbbször a PLC-ben – a legfontosabbak. Az analóg változókat egy lineáris leképzés alakítja át a nyersértékből fizikai mértékrendszerű adattá (Nyers H-L, ill. Faktor, Offszet), amit a dimenzió jelez. Változtassuk meg a dimenziót is (C). A többi mezővel egyelőre ne törődjünk, hagyjuk default-on. Ha megvan, nyomjuk meg a Rendben gombot.
Az új A1 változó (hacsak át nem neveztük) megjelenik a változólistában. Ezt dupla kattintással ugyanabban a szerkesztő-ablakban módosíthatjuk, vagy másolhatjuk – leggyrorsabban Ctrl-D-vel (ismétel). A változók módosítását le kell menteni: ezt esetleg elfelejtenénk.
, de észrevehetjük, hogy a rendszer rákérdez, ha
Mentéskor a program mégegyszer ellenőrizteti velünk a módosításokat az alábbi ún. todo listában:
Itt négyféle kategóriába sorolva jelennek meg a változótáblán végrehajtott változtatások (módosítások, új-, törlendő- és átnevezett változók), amelyeket egyenként felülbírálhatunk a jobb egérgomb menüvel. Később lesz hasznos, hogy az előfordulásokat is fel tudjuk térképezni vele. Az ellenőrzés végén nyomjuk meg az Alkalmaz gombot.
VISION X9 Tutorial
7/32
3.3. Analóg változó megjelenítése Menjünk el a projektmenedzserben a főképre (a képlistában jelenleg ez az egyetlen sor - main). A kép kiválasztása dupla kattintással, vagy jobb egérmenü és megnyitással történik, ahogy azt a többi lista esetében láttuk.
Dupla-klikk
A főkép jelenleg üres (leszámítva a sablont), ezért menjünk át szerkesztés üzemmódba:
Váltás grafikus szerkesztésbe
Drag-&-Drop
NU objektum
Az analóg változó megjelenítése fölöttébb egyszerű: egy NU ojektumot húzzunk rá a képterületre (drag-and-drop technika). Miután az NU-t letettük, a változóra a rendszer rákérdez:
VISION X9 Tutorial
8/32
Változó-kiválasztás (A1) után a következő animált objektum jelenik meg a szerkesztőben:
Itt az A1 változó aktuális értéket látjuk (=0 C fok), ami azonban online üzemmódban meg is változtatható. Próbáljuk ki. Terminálás a kiválasztott változó során duplaklikkel, vagy szimpla klikk és Alkalmaz
Nyomjuk meg a Ctrl-Alt-E-t és persze mentsük is le a képet, amikor a rendszer rákérdez:
A változó értéke a változólekérdezési ablakban módosítható. Ez ugyanaz az ablak, amit a változók online listájában már megismertünk. A változólekérdezési ablak az online üzemmódba helyezett képen látható objektumra jobb egérgombbal kattintva jelenik meg:
Próbálja ki az opciókat is: Jobb egérgomb az objektumon
Változólekérdezési ablak
Például a Bárgráf stílusát átállíthatjuk Potméterré, hogy könnyebb legyen változtatni. Most kapcsoljunk vissza képszerkesztés üzemmódba (Ctrl-Alt-E) és nézzük meg az NU objektum tulajdonságait. Ez a szerkesztőablak bal alsó felén látszik az ún. tulajdonság-szerkesztőben. Az objektumot persze előtte ki kell választanunk (objektumra rákattintunk). Hozzárendelés megváltoztatása
Vegyük észre, hogy az A1 változó az objektum Változó tulajdonságához lett hozzárendelve, amit azonban könnyedén meg is változtathatunk, ha a változó sorának bal oldalán látható gombjára kattintunk. ) Definíció szerint egy objektum akkor animált, ha egy vagy több tulajdonsága változóhoz lett rendelve. Pontosabban változóhoz, függvényhez, vagy azokból felépített kifejezésekhez. A változó-hozzárendelés a legnyilvánvaló módja az animálásnak. Ami a
VISION X9 Tutorial
9/32
színhozzárendelést illeti, a dolog csak annyival bonnyolultabb, hogy ilyenkor a változó attribútum táblájára kell utalnunk (valtozo.attr) és ahhoz azt meg is kell persze tanulnunk.
3.4. Attribútum tábla létrehozása Mielőtt színanimációt készítenénk, készítsünk attribútum táblát. Az attribútum tábla egy szöveg(név)-érték- szín összerendelési tábla. Mint a következő: Amenyiben a diszkrét változó értéke 0, az NU objetum Inactive-ot fog jelezni (0 helyett!) és a szín szürke lesz. Egyébként Active és zöld. Egy-egy attribútum tábla több diszkrét és többállapotú változóhoz is hozzárendelhető, mivel a bennük megadott információ sokkal általánosabb technológiai előírásokat, megfontolásokat tükröz vissza (pl. a nyitott szerelvény mindig zöld, a zárt mindig piros – az adott alkalmazásban). Ezért hozzuk létre az attribútum táblákat külön és rendeljük azután hozzá az egyedi diszkrét és többállapotú változóinkhoz. Ezt az eljárást nevezzük tipusdeklarációnak. Menjünk most vissza változókhoz a projekt-menedzser segítségével és ott váltsunk szerkesztés üzemmódba, majd válasszuk ki a tipusdeklarációt. (Figyelem: ez a sor csak szerkesztés üzemmódban látszik!).
Új tipus létrehozása
Ezután nyomjuk meg az gombot. Ennek hatására a következő szerkesztő ablak jelenik meg: Itt gépelhetjük be az attribútum tábla sorait: a szöveget (nevet), az értéket és a hozzá tartozó színt (ez utóbbi dupla kattintással választható). Végül adjunk nevet és leírást is a táblának. Ha kész, nyomjuk meg a Rendben gombot, majd mentsük is le a táblát:
VISION X9 Tutorial
10/32
3.5. Diszkrét változó létrehozása A diszkrét és a többállapotú változók attribútum táblához rendeltek. Ezt láthatjuk, ha a változószerkesztőben elmegyünk a diszkrét változókhoz és ott új változót kérünk: Változók B Diszkrét változók B Szerkesztés B Új. Ha most kiválasztjuk az épp létrehozott attribútum táblát (MyType), annak sorait meg is jeleníti nekünk a program (itt nem tudjuk szerkeszteni!). Ne felejtsünk nevet adni az új diszkrét változónak (pl. MyDisc) és ugyancsak töltsük ki a leírás sorát (My discrete variable). Ha kész, nyomjuk meg a Rendben gombot. Azután mentsük le a változók módosítását a szokásos módon: (ment B todo lista B alkalmaz)
Attribútum táblák benne az új tipussal
3.6. Színanimáció diszkrét változó felhasználásával Menjünk most vissza a főképre és szerkesztés üzemmódban rakjunk fel egy VA (szelep) objektumot a szokásos drag-and-drop technikával. Ennek kell látszania: A VA default tulajdonságai a következők: A színt a legördülő menü segítségével változtathajuk meg a szín tulajdonság sorának jobb oldalán található gombbal. Ez a konstans színhozzárendelés színlistából.
Konstans hozzárendelés
Az animáció ezzel szemben változóhoz rendelést jelent, ami a szín tulajdonság sorának bal oldalán található gombjával eszközölhető. Rögzítenénk, hogy a konstans hozzárendelés mindig a jobb, a változóhozzárendelés pedig mindig a bal oldalon található nyomógombokkal történik.
Változó hozzárendelés
Maga a színanimáció, vagyis a változó hozzárendelése a színtulajdonság sorához, hasonló az NU objektumnál látottakhoz, csak most a rendszer automatikusan a diszkrét és a többállapotú változókat listázza (valamint a szinfüggvényeket) és ugyancsak automatikusan hozzáfűzi az ATTR hivatkozást, mivel tudja, hogy színanimációról van szó, tehát a változó színhivatkozását kell használni. A változót az előkészített, szűrt listából - dupla kattintással – kell most is kiválasztani. Pontosan ugyanúgy, mint az NU objetumnál.
VISION X9 Tutorial
11/32
Alternatívaként szimpla egérkattintás és Alkalmaz-t választhatunk még. A szín tulajdonság sora a következőképp fog megváltozni:
Ha elrontottuk, az eljárás megismételhető a bal oldali gombra való ismételt rákattintással. A színváltozók hozzárendelését tehát megváltoztathajuk, vagy ismét konstans színt állíthatunk be a jobb oldali legördülő menü segíttségével.
3.6.1. Színanimáció ellenőrzése Kapcsoljunk most vissza online üzemmódba (és persze mentsük is el a módosításokat), majd vizsgáljuk meg a színanimált szelep-objektum viselkedését.
A szelep jelenleg “reszet”-ben van
A szokásos változólekérdezési ablak a jobb egérgombbal hívható most is elő, benne az attribútum táblával: két gomb és mellette egy színmező: Az állapot egyszerűen a nem szürke gombra kattintva változtatható meg (mindig az a sor szürke, amelyik érték épp fennáll). Az objektumok tulajdonságai számos változóhoz hozzárendelhetők ezzel az eljárással (valamennyi tulajdonságsor, amelynek a bal oldalán gomb látható). Néhányuk a színeket, mások a kijelzett értéket, vagy a pozíciót, esetleg a méretet befolyásolják. Így valósul meg a VISION-ben az animáció.
3.7. Diszkrét változó értékének a kiiratása “Épp most csináltuk” – mondhatnánk. Csakhogy az előbbi példa a színt animálta, magát az értéket – ami a diszkrét változó esetében nem más, mint az attribútum tábla adott értékhez tartozó szövege – csak a változólekérdezési ablakban láttuk. A képre azonban ez is kiírható az NU objektummal, mint az analóg változó számszerű értéke. Képszerkesztés üzemmódban dobjunk fel egy új NU objektumot a képre, majd a listából válasszuk ki a diszkrét változónkat (MyDisc). Az eredmény:
VISION X9 Tutorial
12/32
3.8. Analóg trendváltozó létrehozása Analóg trendváltozót ugyanúgy készítünk, mint analóg változót. Azt kell észrevennünk, hogy a trend tulajdonságot a változó tipusa határozza meg. Azaz aszerint készül egy változóról hisztorikus adattár, hogy az trendváltozó-e. Vegyük észre azt is, hogy az összes skaláris tipusnak létezik trend változata (analóg trend, lebegőpontos trend, diszkrét trend és többállapotú trend). Válasszuk ki az analóg trendek listáját és szerkesztés üzemmódban készítsünk a szokásos módon új trend változót: Változók B Analóg trend B Új
Új trendváltozó gomb
Az analóg trend szerkesztő ablaka ugyanolyan mezőkből áll, mint az analóg változóé, csak kiegészül a trend mintavételezés adat-csoportjával (totál, ablak, faktor). Ezek értelme a magyarázat gomb megnyomásával megjelenő ablakban elolvasható. A trendkészítés lényege, hogy az adatokat Trend adatai egy körbenforgó pufferben tároljuk el, azaz mindig az utolsó x számú minta – pl. az utolsó 1 hónap adata – található benne. A trend hisztorikus adattára tehát automatikusan karbantartott, lévén a régi minták abból automatikusan “kicsúsznak”. A totál határozza meg, hogy hány adatot tároljon a trend maximálisan. Ebből az éppen képen látható adatmennyiséget határozza meg az ablak, ami a teljes tárolt mintaszám mentén az időben visszagörgethető, a mintavételezési faktor pedig a mintavételezési időt határozza meg – melette olvasható a tényleges másodperc érték. A program által felkínált 86400 totál érték 1 másodperces mintavételi idő mellett 1 napnak felel meg, a 3600-as ablakméret pedig azon belül 1 órának. Ezt módosíthatjuk. Állítsunk be most 1000-et a Max, HH értékére az alapértelmezett 100 helyett és adjuk meg ugyanezt az 1000-et a H értékére is (később a kommunikációnál lesz ennek jelentőssége). Ha kész, nyomjuk meg a Rendben gombot és a szokásos módon (Ment B Todo lista B Alkalmaz), mensük le az új trendváltozót.
VISION X9 Tutorial
13/32
3.9. Trend felrajzolása A létrehozott trendváltozó lényegében ugyanolyan egyszerűen, egyetlen drag-and-drop mozdulattal rajzolható ki, mint az analóg változó, csak ezúttal a TD objektumot érdemes inkább használni, nem az NU-t. Menjünk vissza a főképre és szerkesztés üzemmódban dobjunk fel egy TD-t a képre, Amint a TD-t letesszük, a program a trendváltozókra rákérdez:
Kiválasztott trendváltozók listája
A listában az AT1 változó sorára kell duplán kattintanunk, hogy a változó a kiválasztott trendváltozók listájába (alul) bekerüljön. A dupla klikk most nem terminálja a bevitelt – mint az egyszeri változó-kiválasztás esetében (NU) –, mivel most egy trendablakban több változót is megmutathatunk. A kiválasztásnál használhatjuk még az Ins gombot, vagy a jobb egérgomb menüt, az alsó listában pedig a Del-t, ha törölni akarunk. Befejezéshez kattintsunk az Alkalmaz gombra – ezzel termináljuk a rajzolást. Íme az eredmény (kimentés után, online üzemmódban): A trendet most is online üzemmódban próbálhatjuk ki, de egyelőre hiába mozgatjuk vissza a gördítősávot a teljes tárhossz mentén, még Mintavételezés nincs adatunk. Trend névlista Ablak bal szélének ideje
Érdemes ezért előhívni a változók online listáját és abban az AT1 változó értéket megváltoztatni, hogy lássuk, hogyan változik a trendablak tartalma. Várjunk pár percet, hogy a mintavételezést megfigyelhessük.
A trend bal oldalán mindig az épp kiválasztott trendváltozó skálája látszik (a változó méréstartománya min-max között), a jobb felső sarokban pedig annak dimenziója (d). A változó nevek bal felső sarokban látható listája mellett olvasható a trendablak bal szélének pontos ideje. Ennek kiszürkített része van az időskálára vetítve, hogy ne kelljen oda mindig az egész dátumot írni. A görbéket kijelölő négyszöggel, majd az egér görgetőjével nagyíthatjuk, kicsinyíthetjük, a képterületre való kattintás pedig az eredeti állapotot adja vissza. Figyeljük meg a pásztázó kurzor használatát is. VISION X9 Tutorial
14/32
3.10. Bárdiagram felrajzolása, potméter A bárdiagramm felrajzolása semmivel sem bonyolultabb az eddigieknél. Képszerkesztés üzemmódban ezúttal egy BV objektumot dobjunk fel a képre és rendeljük hozzá ugyanazt az AT1 változót: Az eddigi képelemekkel és az új BV objektummal együtt képünk a következőképp alakul: Nézzük a BV fulajdonságait.
A BV tulajdonságainál keressük meg a Mód tulajdonságcsoportot és azon belül a Grafikus mód-ot. Ez egy összetett tulajdonság, ami a [+] gombbal kibontható. Így a grafikus mód összetevői láthatóvá válnak és a Változó bár legördülő menüjéből Potibár-t választhatunk. Ezáltal a bárdiagramm változtathatóvá válik:
A bárgráf (BV) potméterré alakítása:
Látható, hogy a bárgráfot meg is fordítottuk a felrajzolási állapotához képest, hogy ezáltal a trend jobb oldalához illeszkedjék. Ezt a legegyszerűbben a szerkesztő toolbarjában található flippelő gombokkal valósíthatjuk meg:
Az objektumot persze a szokásos átméretezéssel is átforgathatjuk, tükrözhetjük, de ehhez először a képszerkesztés alapjait kell megismernünk.
VISION X9 Tutorial
Horizontális tükrözés
Vertikális tükrözés
15/32
4. Képszerkesztés alapjai Miután felraktunk pár objektumot a képre (drag-and-drop), a képszerkesztőt is érdemes valamellyest megismerni. Annyira legalábbis, hogy a képünket rendezni tudjuk. Váltsunk ezért most vissza képszerkesztés üzemmódba.
4.1. Normál és skálázázott kiválasztás Amikor rákattintunk egy objektumra – próbáljuk ki ezt a VA-val –, egy vastagabb fekete színű négyszög veszi azt körül. Ez jelzi a normál kiválasztást. Normál kiválasztás állapotban azonban nem lehet megváltoztatni az objektum pozícióját, nem lehet véletlenül sem elmozdítani, sem átméretezni, csak az ún. skálázott kiválasztás üzemmódban, amit egy vékonyabb kijelölő négyszög jelez (szélein a szokásos átméretező boxokkal): Skálázott kiválasztás üzemmódba a jobb egrégomb rövid idejű megnyomásával válthatunk át, majd ugyanazzal vissza normál kiválasztásba. A jobb egérgomb tehát a két üzemmód között vált. Amennyiben az objektumaink átfedő (overlapping) területen vannak, vagyis a mélyebben fekvő objektumokat csak egy másik, fölötte elhelyezkedő objektumon keresztül lehet elérni, a normál kiválasztás üzemmódban addig kell kattintanunk, amíg a kérdéses objektumot ki nem választjuk. A jobb egérgomb megnyomása ilyenkor nemcsak a skálázást / mozgatást engedélyezi, de egyben fixálja is a kiválasztást. Azaz a bal egérgomb felengedése és ismételt lenynomása nem választ ki újabb objektumokat (ahogy történik az számos képszerkesztőben a bosszantásunkra), vagyis nem lehet véletlenül más objektumot elmozgatni / átméretezni. Ezért különböztetjük meg ezt a két üzemmódot a VISION-ben. A skálázott kiválasztás üzemmódba ezenkívül akkor is átvált a program, ha a kiválsztott objektumot legalább 6 pixel-el elmozdítottuk. Így az akaratlan elmozdítást kivédjük, de a kép átrendezése egyszerűbbé válik, amint az objektumokat a kép egyik feléből a másikba mozgatjuk, hiszen nem kell nyomkodni a jobb egérgombot. Próbájuk ki ezeket az funkciókat és közben figyeljük meg, hogy a VA (szelep) objektum méretezése hogyan befolyásolja a szelep alakját.
4.2. Objektum-blokk létrehozása A másik lényeges képszerkesztő funkció az objektum-blokk, vagyis az objektumok összeválogatása. Gyakran szükséges, hogy az objektumokat együtt mozgassuk, vagy csoportosan állítsuk bizonyos tulajdonságait. A blokk kijelölése a szokásos módszerekkel történik: 1. Kijelölő négyszög: adott területen található (teljesen befoglalt) objektumok összeválogatása 2. Lenyomott shift billentyűvel egyedi objektumok összeválogatása Itt is az átfedő területen elhelyezkedő objektumok blokkba rendezése érdemel külön figyelmet. A kijelölő négyszög használatához ui. olyan területre kell letennünk az egeret, ahol nincs objektum, mert különben az ott kiválasztott objektumot mozgatnánk el. Ez azonban nem mindig lehetséges. Képzeljük el, hogy a kép háttere egy nagyméretű bitmap, amit nem tudunk kikerülni. Ezen segít a toolbárban található forszírozott blokk kiválasztó gomb: Ha ezt megnyomjuk, a kijelölő négyszög sarkának a leszúrásakor biztosan nem választunk ki objektumot, s így a blokkba rendezés bármilyen kiinduló pontból elvégezhető. Az összeválogatott objektumok körül egy sárga színű négyszög jelzi, hogy mely objektumok vannak a blokkban. A blokkijelölés egyszerűen úgy törlődik, hogy a blokkon kívülre kattintunk (egy másik objektumra, vagy a háttérre).
VISION X9 Tutorial
16/32
4.3. Képszerkesztő üzemmódjai Kiválasztás
A képszerkesztőnek három üzemmódja van: 1. Kiválasztás (normál vagy skálázott) 2. Bevitel (insert mód) 3. Blokk
Bevitel
Blokk
Az elsővel és az utolsóval már foglalkoztunk, most csak jeleznénk, hogy a toolbár ezeket az üzemmódokat is megmutatja nekünk. Azonban a bevitel mód is érdemel némi figyelmet, lévén nagyban megkönnyíthetí az új objektumok felrajzolását. Nem célszerű ui. a kép összes objektumát drag-and-drop technikával felrajzolni, mivel az így elhelyezett objektumok tulajdonságait később meg is kell változtatnunk. Persze – mondhatnánk – Ctrl-C Ctrl-V technikával kell másolni. Azonban ekkor meg az objektum vezérparamétereinek a módosítása (ilyen az NU, BV, TD esetében a változónév) okoz némi többeltmunkát, de arra is emlékeznünk kell, hogy melyik objektumról van szó egyáltalán. Egyszerűbb és gyakorlatiasabb, ha a képen keresünk ki egy olyan objektumot, amihez hasonlót szeretnénk készíteni, vagyis a vezérparamétert leszámítva az összes tulajdonságát szeretnénk megtartani. Erre szolgál a bevitel üzemmód: •
Kiválasztjuk az objektumot, amihez hasonlót szeretnénk felrajzolni
•
Majd megnyomjuk a plusz gombot:
•
Letesszük az új, régihez hasonló objektumot
4.4. Kép nagyítása és mozgatása A kép nagyítása legegyszerűbben a görgetővel lehetséges. Ezzel a kurzor környezetének a nagyítását végezhetjük el. Maximálisan 20-szorosára lehet nagyítani az ábrát. Amennyiben nincs görgető az egerünkön, a toolbárt kell használni: A kép mozgatása szokás szerint a görgetősávokkal történik. Ez azonban nem a legkényelmesebb mód, mivel az egeret a gördítősávokra kell mozgatni. Azonban a lenyomva tartott jobb egérgombbal is mozgathatjuk a képtartalmat – egyszerűen arrébb lökhetjük a képet. Végül az egér görgetőjével és a jobb egérgombbal kényelmesen pozícionálhatunk a kép bármely részére. Jobb egérgomb használata: A jobb egérgombnak tehát van egy újabb funkciója, de van még további is. Foglaljuk össze: - Rövid idejű megnyomás (<400ms): váltás normál és skálázott kiválasztás között - Hosszabb idejű megnyomás: jobb egérgomb menü (benne a fontosabb objektum-opciókkal) - Mozgatás nyomvatartott állapotban: képtartalom mozgatása
4.5. Rácshoz igazítás Végül a rácshoz igazítás funkcióról kell még megemlékeznünk, lévén ezzel lehet a legkönnyebben egy vonalba / sorba rendezett objektumokat rajzolni. A rácshoz igazítás értéke a nagyítás mellett található a toolbárban, alapértéke: 0.5 A rácsméret a felhasználói koordinátarendszer 1 egész értéke, ami 8 pixelnek felel meg. A rácshoz igazítás konkrét értéke pedig ennek a 2 egész hatányával való szorzással, ill. osztással keletkezik: 0.125 (=1pixel), 0.25, 0.25, 1, 2, stb.
VISION X9 Tutorial
17/32
5. Képrajzolás A képszerkesztő alapfunkcióinak a megismerése után könnyen elvégezhetjük az eddig felrajzolt objektumok rendezését és a kép véglegesítését. Ez tartogat még érdekességeket a számunkra (animáció, metamorfózis, események). Végezzük el a következő gyakorlatokat: 2. Gyakorlatsor • • • • •
Eddigi képelemeink elrendezése a főképen (5.1) Kedvenc objektumok használata, műszer megrajzolása formázott polygonnal (5.2) Animáció készítése kapcsoló (switch.ani) felhasználásával (5.3) Folyamatos fázis-átmenet animáció kulcspozíciók között, metamorfózis (5.4) Képváltás esemény létrehozása (5.5)
5.1. Képelemek elrendezése Az előző fejezetben ismertetett skálázott kiválasztás funkcióval rendezzük át a képünket úgy, hogy nagyjából a következő elrendezést kapjuk: Képünk az eddigiek alapján egy trendgráfból (TD), két számkijelzőből (NU) - egyikük az A1, a másik a MyDisc változó értékét mutatja -, egy szelepből (VA) és egy potméterré átalakított bárgráfból (BV) áll, ami ugyanazt az AT1 változót mutatja, mint a trend. Ezek láthatók a bal oldali ábrán.
5.2. Rajzolás kedvenc objektumokkal Most a rajzunkat egy műszer szimbólummal egészítjük ki, de ehhez először ismerkedjünk meg a kedvenc objektumok fogalmával. Amennyiben az objektum-listán belül jobb egérgombbal kattintunk egy objektumra, megkapjuk a kedvenc objektumok listáját. Néhány példa kedvenc objektum-listákra: LF (polygonok)
Domború négyszög, ezt választjuk majd
VISION X9 Tutorial
LD (bitmap-ek, animációk):
SY (szimbólumok):
Érdemes megnézni a többi objektum kedvenceit is (már amelyiknek van).
18/32
A kedvenc listából ugyanúgy drag-and-drop-pal vehetjük ki a kívánt objektumot. A polygonok (LF) közül válasszuk most ki a kék színű négyszöget (bal oldalt alul) – ez lesz a műszerünk kerete. Azért polygont választottunk, mert abban az esetben, ha ennek az objektumnak a keretét Reliefln-re állítjuk, a vastagságát pedig >1-re, valamint a keretszínt ugyanarra, mint az alapszín, akkor egy érdekes, domború négyszöget kapunk. Ennek belsejébe helyezzük most el a sűllyesztett világosszükre négyszöget – ugyanúgy a kedvenc listából kihúzva – és rendezzük el úgy, hogy egymásba ágyazódjanak, ahogy azt jobb oldalt látjuk. Végül dobjunk fel ennek belsejébe egy ES objektumot is (elliptikus skála). Így áll össze a jobb oldalt látható műszer szimbólum: Rendeljük most hozzá az ES-hez az A1 változónkat a szokásos módon (bal oldali gomb). Ezzel a műszer az A1 változó értékét mutatja.
Változó hozzárendelés
Mozgatás legfelülre
á
Végezetül mosgassuk a mutató alá a már felrajzolt NU objektumot (A1). Ezt azonban a kép tetejére is kell mozgatunk, mert különben a műszer alá kerül. Használjuk e célból a toolbar rendezés gomjait: Meglévő számkijelzőnk
Nézzük végig a kedvenc objektumok tulajdonságait is, elsősorban az LF-et (szín, keretszín és keretstílus) és nézzük meg, hogy jött létre maga a dombor. A kedvenc objektumok tulajdonképpen azokat a leggyakrabban használt tulajdonság-kombinációkat tartalmazzák, amiket a gyakorlatban fel szoktunk használni. A képrajzolást gyorsíthatják.
5.3. Animáció készítése Következő gyakorlatunkban egy egyszerű animációt készítünk: egy kapcsolót, ami folyamatosan fog ki- és bekapcsolni, amint a hozzárendelt kétállapotú változó értéke megváltozik. Képszerkesztés üzemmódban most ne a drag-and-drop technikát használjuk, mert ezzel – mint láttuk – valójában csak a kedvenc objektumokat rajzolhatjuk fel, hanem a normál rajzolást: kiválasztjuk a kívánt objektumot – ez esetben az LD-t (load bitmap) –, majd a szálkeresztet a kívánt helyre mozgatva tegyük le az objektumot (tehát most ne tartsuk nyomva az egér bal gomját!). Ha ez sikerült, a rendszer rákérdez a bitmap-re, mi pedig végignézhetjük, milyen sokféle előre gyártott bitmap, animáció és clipart felrajzolására alkalmas a program. Vegyük észre tehát, hogy az LD nem egyszerűen bitmap rajzolása, hanem mindenféle további képeké (BMP, JPG, ANI, GIF, WMF). A képlistában válasszuk ki az animációkat és keressük meg abban a kapcsoló (switch) szimbólumot:
VISION X9 Tutorial
19/32
Animációk listájának a kiválasztása
Kiválasztott képelem
Fontos, hogy mindent úgy állítsunk be, ahogy itt látszik: pingpong-lejátszást és végálljt! Az animáció módja ui. a lejátszás módjából következik. Mivel a kapcsolót oda-vissza szeretnénk lejátszani, ezért kell választanunk a pingpong-lejátszást, mivel pedig nem szeretnénk, hogy a kapcsoló folyamatosan billegjen, ezért kell a végállj. Ha mindezt beállítottuk, nyomjuk meg végül a Rendben gombot. Az objektum azonban még nincs teljesen kész, mivel hozzá kell ahhoz rendelni magát a vezérlő változót is. Az eljárás most is ugyanaz, mint minden eddigi esetben (bal oldali gomb, majd változó kikeresése a felkínált listából). Rendeljük hozzá a MyDisc változónkat.
Próbáljuk ki végül az animációt online-ban: jobb egérgombbal előhívjuk a változó lekérdezési ablakot és billegtetjük a változót. A kapcsoló pontosan azt a mozgást végzi, amire számítottunk. Megjegyezzük, hogy a másik tipikus animáció-vezérlés a keverőlapát, vagy a szivattyú (ventillátor, stb.) esete. Ilyenkor nem kell a végállj, a lejátszás pedig: normál. A szivattyú, ventillátor, keverő, stb. vagy forog, vagy nem – a diszkrét változó (vagy bool kifejezés) értékétől függően. 5.4. Fázis-átmenet animáció, metamorfózis Végül az egyik legérdekesebb animációs technikába is betkintést adunk azok számára, akik bonyolultabb mozgásanimációkat szeretnének készíteni, vagy ún. slider-eket. A programnak ez a funkciója nagyon hasonlít a 3D stúdió programban, vagy akár a Flash-ben megismert módszerekhez. Ahogy az említett programok, a VISION is kulcspozíciók között készít folyamatos fázis-átmenetet. Így változhat egy objektum pozíciója, mérete, színe, vagy más tulajdonsága. Az eljárást azért nevezzük metamorfózisnak, mert a VISION valójában különböző objektumok között végez átmenetet, vagyis az animáció során egy adott méretű, színű, stb. objektumból egy másik méretű, pozíciójú, színű, stb. objektumot készít. Nézzük, hogyan valósul meg mindez a gyakorlatban.
VISION X9 Tutorial
20/32
Dobjunk fel a képünkre egy TLN (Timeline = idővonal) objektumot. Használhatjuk a drag-and-drop technikát.
Állítsuk ezt függőlegesre, mert a bárgráf, amit készíteni fogunk, így lesz könnyebben hozzáigazítható. Most pedig dobjunk fel egy BR (bár) objektumot is, majd a BR tulajdonságainál rendeljük hozzá a kapcsolat tulajdonság-csoporton belül az idővonal tulajdonsághoz a TLN1-et (ez az objektum neve, a hozzárendelés pedig automatkusan eléfűzi a pointert jelző @ karaktert). Ez az egyetlen elem a listában, nem hibázhatunk. Azt figyelhetjük meg, hogy a hozzárendelés pillanatában megjelenik még egy sor a szerkesztő toolbárban, az idővonalé:
Idővonal
Most 1000-ig három különböző kulcskockát készítünk. Először kicsinyítsük le a BR-t és színezzük világos zöldre, ahogy az alább a bal oldalon látszik (1. kulcs). Helyezzük a függőlegesre állított idővonal objektum mellé. Majd húzzuk el az idővonalat a 700 közelébe és nagyítsuk az idővonallal arányosan a BR-t (2. kulcs). Figyelem: az idővonalat a toolbárban változtatjuk, nem a képen! Egyidejűleg rendeljük hozzá az új kulcselemhez a sárga színt. Végül vigyük az idővonalat 1000-re, nagyítsuk ennek megfelelően tovább a BR-t és színezzük világos vörösre (3. kulcs). A folyamatot az alábbi ábrasor szemlélteti: 1. kulcs
2. kulcs
3. kulcs
Közbülső fázis:
Kiindulási állapot (BR)
Ezzel az animáció kész. Ha most az idővonalat visszamozgatjuk, láthatjuk, hogyan változik folyamatosan a BR magassága és színe ( jobb oldalt épp egy zöld – sárga átmenet lászik). Még hozzá kell rendelni a TLN objektum Slide vezérléséhez az AT1 változót, mivel azt szeretnénk, ha a bár magasságát nem az idő, hanem egy analóg változó befolyásolná. Kattintsunk ezért vissza az idővonal objektumra és a szokásos módon animáljuk a Slide vezérlés tulajdonság sorát. Azután kapcsoljuk false-ba a láthatóságát. Ezzel elérjük, hogy a már felrajzolt potméterrel vezéreljük az új animációnkat és az idővonal online-ban nem látszik.
VISION X9 Tutorial
21/32
Ezzel az animációs technikával bármely két tulajdonság között készíthető folyamatos ámenet. Lehet az méret, szög, pozíció, szín, sőt még láthatóság is. Készíthetünk például egy kis slideshow-t, ahol szövegek jelennek meg időben pár másodperce eltolva egymástól és ráadásul e szövegek megjelenítését is hozzárendeljük különféle effektekhez (scrollleft, zoomin, explode, fade, stb.). Ez a megjelenítés vezérlése, ami a láthatósághoz kapcsolódik közvetlenül. A VISION-ben ui. nemcsak egyszerűen megjelennek, vagy eltűnnek a feltételesen felrajzolt objektumok, de folyamatosan úsznak be jobbról, balról, nagyítódnak, áttűnnek, stb. Ezek az eljárások az ún. objketum fading technikák. Minderről bővebbet (képrajzolás, objektumok, tulajdonságok) a Képek dokumentumban olvashat.
5.5. Eseményekről dióhéjban Rajzoljunk próbaképpen egy BM objektumot a képünkre (Button menu), ami egy ikont és egy szöveget tartalmazó nyomógomb, majd válasszuk ki ezúttal a tulajdonságszerkesztő Események fülét: Itt állíthatók be az obketumhoz tartozó kiszolgálások – eseménytipusok szerint. Például az, hogy kattintás hatására mi történjen.
Szervíz varázsló
Próbáljunk eszerint képváltás eseményt hozzárendelni a nyomógombhoz az ún. szervíz varázsló segítségével. Ha ezt meghívjuk, az ún. utasítás modellek közül választva mondhatjuk meg a programnak, hogy mit csináljon – a program pedig legyártja számunkra a szükséges XSDL parancskódot.
A képváltás a 15-ös utasítás modell kiválasztásával (képváltás, taszkváltás) oldható meg. A varázslóban a szokásos módon majd előre-t választunk, kikeressük a kívánt képet a képlistából:
… ami most csak egyetlen operátori képet tartalmaz, a főképet (main). Ezt választjuk. Végeredményben a program egy exec “main” parancsot hoz létre:
Azonban a menürendszer kialakításának nem ez a legcélravezetőbb módja. Leginkább azért, mert a képváltást eleve nem célszerű az operátori képekre tenni, hiszen abból sok van, s így a képváltó gombokat végül az egész programban szét kellene másolni, másrészt eléggé fáradságos ezzel az eljárással létrehozni a teljes menürendszert. Szükségünk van tehát olyan képrészekre, sablonokra, amelyek bármely képre egyetlen mozdulattal feltehetők, és szükségünk van egy menürendszerek létrehozására alkalmas technikára is. VISION X9 Tutorial
22/32
6. Sablonok, menürendszer, struktúrák Alkalmazásunk már tartalmaz egy saját sablont és egy saját menürendszert, hiszen pont ezért választottunk szabványos profilt. Ebben két sablon van:
Sablon XP menüvel
Sablon bitmap nyomógomb menüvel (Glyph)
Szerkesztés üzemmódban azt láthatjuk, hogy a sablon részei pontosan ugyanolyan grafikus VISION objektumok, mint az eddigiek. A bal oldalon látható XP menü sablonban egy speciális objektum kapott még helyett: egy XP menü. Ez az MNU objektum egy változata a 7-ből (ld. Menü tipus), és úgy működik, hogy hozzárendelünk az objektumhoz egy struktúrát. A struktúra tartalmazza a hierarchikus menürendszert, egy fa struktúrát, amit azután változatos módokon jeleníthetünk meg: XP menü, pull-down, toolbar, Menü XSDL glyph menü, fa struktúra (ez a leíró kódja természetes nézet), akciósáv, stb. A struktúrát a Struktúra neve tulajdonságnál rendeljük az objektumhoz (FIMENU). A menürendszert egyszerűen a struktúra bővítésével, átalakításával tarthatjuk karban, nem kell tehát emiatt a képeket folyton átrajzolni. 6.1. Sablon hozzárendelése a képekhez Ez egyszerűen úgy történik, hogy képszerkesztésben a kép tulajdonságaihoz rendeljük a kiválasztott sablont. Ehhez persze az szükséges, hogy a tulajdonság szerkesztőben a kép tulajdonságai jelenjenek meg, ne valamelyik objektumé. Ezt úgy érjük el, hogy nem választunk ki egyetlen objektumot sem (egyszerűen a háttérre kattintunk), de ez a helyzet akkor is, amikor képszerkesztésbe váltunk. VISION X9 Tutorial
23/32
6.2. Struktúrák szerkesztése A struktúrák önálló VISION komponensek. Segítségükkel menürendszereket, valamint strukturált trend-, adatgyűjtés- és esemény kezelő rendszert hozhatunk létre. Jelen dokumentumban csak a menürendszerrel foglalkozunk, részletes leírást a Struktúrák fejezetben talál. Főmenü struktúránk szerkesztő üzemmódban a következőképp látszik:
Jobb egérgomb menü a struktúra kiválasztott során
Struktúra
Szerkesztésük egyszerű dialógusokkal történik. A struktúra topikból és elemből (item) áll, amit a jobb egérgomb menüvel (ld. bal oldalt) hozhatunk létre. A topik / elem attól függően alárendelt (sub), hogy az adott szinten, vagy eggyel lejjebb elhelyezkedő szinten jön létre.
Az egyes topikok / elemek megadása azonosítóból (ID) és egy szövegből áll. Az azonosítónak a menürendszerek esetében nincs különösebb jelentősége – írhatunk bele bármilyen rövid mnemonikot, vagy számot – csak a szövegnek. Ez jelenik meg ui. a menüben. A szöveg elejére írt @ karakter a többnyelvűségre utal, ezáltal a program a szövegeket egy Excel táblába helyezi (language.xls). A struktúra elemek tartalmazzák a szükséges funkciót, ami háromféle lehet: • Képváltás (kép neve és a képváltó effektus) • Rendszerfunkció hívása (trend, alarm, adatgyűjtés, felhasználó kezelés, kilépés, nyomtatás, stb.) • Bármilyen külső program, vagy link (URL)
VISION X9 Tutorial
24/32
Új képhívó menüsort tehát rendkívül egyszerű beszúrni a struktúrába. Ha a pozícióját elrontottuk, drag-and-drop technikával megváltoztathatjuk a sorok sorrendjét, de átrakhatjuk a menüt bármely más topik alá. Végül rendelhetünk az egyes menüsorokhoz ikonokat is – a VISION bőséges kínálatából, vagy az általaunk készített, letöltött bitmap-ek közül választva.
7. Kommunikáció A kommunikáció a képekhez hasonlóan grafikusan szerkeszthető, az összes kommunikációhoz szükséges objektumot ugyanabban a taszkban adjuk meg. A kommunikáció alapelvét a következő ábrán látható négyes összerendelés adja:
A fizikai kapcsolat (zöld) objektumai írják le a valódi összeköttetést a számítógép interfészei (sorosés parhuzamos vonalak, USB, TCP/IP, stb.), valamint a csomópontok (sárga) között, amelyek a legtöbb esetben a külső fizikai eszközöket, pl. PLC-ket reprezentálják. A PLC konkrét tipusát annak kommunikációs protokollja adja meg, vagyis a logikai kapcsolat (piros). Az adatokat adatcsoportokhoz rendeljük és csoportosan írjuk, olvassuk – külön a bejövő és külön a kimenő adatokat (kék). Ez a két csoport adja a négyes összerendelés másik két pólusát. Ha most megnézzük alkalmazásunk kommunikációs taszkját, pontosan ugyanezt az összerendelést láthatjuk a hattérben. Készítsünk egy egyszerű konfigurációt MODRTU teszt driverrel.
3. Gyakorlatsor • Kommunikáció konfigurációja MODRTU teszt driverrel (7.1) • Kommunikáció tesztelése, driver üzenetek és monitor (7.2)
Részletes információt a kommunikáció dokumentációban talál.
VISION X9 Tutorial
25/32
7.1. Kommunikáció konfigurációja Menjünk el a projektmenedzserben a kommunikáció komponenshez és válasszuk ki az egyetlen elemet a kommunikációs taszkok listájából (a szabványos profil tartalmaz egy üres kommunikációt). Majd szerkesztés üzemmódban dobjuk fel arra a következő négy objektumot:
Soros vonal Driver
Csomópont Bejövő üzenet
Használhatjuk a drag-and-drop technikát. Az egyes objektumok ikonjai a következők (minden kategóriában a legelső objektum): Soros vonal;
Driver;
Csompópont;
Bejövő üzenet
Ezután huzalozzuk össze az egyes objektumokat. Ez a legegyszerűbben a csomópont objektumból végezhető el: mozgassuk az egeret a csomópont vonalcsonkjához és a megfelelő irányban húzva kössük azokat össze a soros vonallal, a driverrel, végül a bejövő üzenettel. A következő ábrát kell kapnunk:
VISION X9 Tutorial
26/32
Tulajdonság-sor kinagyítása
Ezután a tulajdonságok beállítása következik:
a) A drivernél egyedül a Driver név magadása szükséges, ami vagy a legördülő menüből, vagy a tulajdonságsor kinagyításával megjelenő listából történik (ez utóbbiból dupla kattintással). Válasszuk ki a Modbus RTU tesztdrivert.
Driver lista
b) A csomópontnál állítsuk be az 1-es csompópont számot. Mivel busz rendszerű kommunikációt választottunk, az eszközöket a buszon meg is kell különböztetnünk egymástól. Erre szolgál a csomópont szám (NodeNumber). c) A soros vonalnál legtöbbször a baud sebességet szoktuk beállítani, valamint a kommunikációs portot (név). Azonban most ennek nincs jelentőssége, mivel a teszt driver valójában nem kommunikál. Azaz tetszés szerint változtathatjuk. d) A bejövő üzenet beállításánál először az adat tipusát és címét kell meghatároznunk. Az adattipusok legördülő listájából 3(RR)-t választva (Read Register), a teszt driver regisztereihez férünk hozzá, amelyek egy része digitális egy része analóg adatokat tartalmaz (ezt a tesztdriver nemsokára meg is mutatja nekünk). Az adatok hozzárendelése az utolsó lépése a konfigurációnak. Ez úgy történik, hogy az Adat tulajdonságsorán a változóhozzárendelés szokásos gombjára kattintunk (vagy az objektumra duplán). Ekkor jelenik meg az ún. Bitstream editor, ami az adattipus és a kezdőcím által kijelölt PLC címterület bitfolytonos konfigurálására szolgál.
PLC adatterület
VISION változók
Használata rendkívül egyszerű: a változókat az alsó listából a felső bittérképre dobjuk dragand-drop technikával. A felső térkép nem más, mint a PLC adott regiszter területe bitekre szétbontva. Ebben a változók tipusuknak megfelelő helyet foglalnak el. Dobjuk fel ide az AT1 analóg változónkat a 2-es regiszter címre, a MyDisc diszkrét változót pedig 1.0-ra.
VISION X9 Tutorial
27/32
Konfigurálás után a bitszerkesztő a következőképp alakul: Hogy jobban megértsük ezt a konfigurációt, mentsük most le a módosításokat és nézzük meg az elinduló tesztdriver monitorát (Megjegyezzük, hogy ilyen monitora a normál kommunikációs drivereknek nincs, csak a tesztdrivernek): A monitor tulajdonképpen magát a PLC-t reprezentálja. Az látható rajta, hogy a 0-ás regiszter 16 db digitális inputot, az 1-es regiszter 16 db digitális outputot, a 2-9 regiszterek pedig 8 db analóg input / outputot tartalmaznak. Pontosan ezt a címkiosztást tükrözi a bitszerkesztő is:
MyDisc AT1
Az AT1 változó az R2 analóg regiszterrel, a MyDisc változó pedig az R1.0 digitális outputtal lett összerendelve.
7.2. Kommunikáció tesztelése A kommunikáció ellenőrzésére számos lehetőségünk van. Online állapotban a kommunikáció komponensei a driver üzenetek és a driver monitort kínálják fel. Ezeket a szervízablakokat a driver objektum, ill. az üzenet objektumok szélén található gombra kattintva hívhatjuk elő:
A driver üzenetek a kommunikációs táviratok áramlását, a driver monitor pedig a beolvasott / kiküldött adatok tartalmát mutatják. Ez utóbbi egy adat-dump, ami különféle méretű és formájú adatsorokat kínál. Az adatok természetes tesztelése persze maga a folyamatkép, ami adatainkat az objektumok tulajdonságain keresztül ábrázolja. A random analog simulation checkbox kikapcsolása után a regiszter értékét szabadon változtathatja, az pedig bekerül az AT1 trendbe és a bárgráfba. A MyDisc változót pedig az ON-OFF nyomógombok billegtetik, s velük azt a kapcsolót, amit a képre korábban rajzoltunk.
VISION X9 Tutorial
28/32
7.3. OPC kommunikáció Az OPC (Ole for Process Contgrol) a legelterjettebb kommunikációs szabvány a külső eszközökkel való kommunikációra. Úgyszólván valamennyi PLC-hez és elterjedt mérőeszközhöz, szabályozóhoz, átfolyásmérőhöz, stb. készít a gyártó OPC szervert is, hogy megkönnyítse ezzel az adatok elérését. A legelterjedtebb eszközökhöz független gyártótól is beszerezhetjük a szükséges OPC szervert. A legismertebb független OPC szolgáltató a Softing és a Matrikon. Kérjük, látogassa meg ezen cégek honlapját. Bővítsük most az alkalmazásunkat OPC kommunikációval. Látni fogjuk, hogy ez még egyszerűbb, mint az eddigiek. Mindehhez azonban OPC szerverre is szükségünk van. Töltsük le ezért a Matrikon honlapjáról (http://www.matrikon.com) az OPC szimulációs szervert és installáljuk fel a számítógépünkre. A navigáció: Matrikon startlap -> Products -> OPC -> OPC simulation server -> Download. Dokumentumunk megírásakor ez az ingyenes termék a http://www.matrikonopc.com/products/opc-drivers/opc-simulation-server.aspx linken található. Ezután installáljuk fel a szimulációs szervert úgy, hogy a telepítő program kérdéseire default válaszokat adunk. 7.3.1. OPC konfigurálása Menjünk most ismét szerkesztés állapotba és dobjunk fel egy ún. OPC csomópontot az ábránkra:
Ehhez a csomóponthoz nem kell interfészt és drivert kötni, mivel OPC esetén mindezek magától az OPC szervertől függnek. Ezért is egyszerűbb a konfigurációja. Az OPC szerver tulajdonságainál az OPC szerver megadása szükséges, ez a legfontosabb tulajdonság, ami a sárga nyílnál látható nyomógomra kattintva állítható be. Ha ezt kiválasztjuk, a következő dialógus lesz láthatóvá:
VISION X9 Tutorial
29/32
Kapcsolat felvétele az OPC szerverrel
OPC szerver kiválasztása
OPC adatbworser
Miután a kép bal felső sarkában található listából kiválasztottuk a Matrikon.OPC.Simulation.1 szervert, megjelenik az OPC szerver tallózója és azok ágaira kattintva az OPC adatelemek (item-ek). Ezek lesznek azok az adatpontok, amihez változót fogunk rendelni. Érdemes megnézni a távoli kapcsolat és azon belül az XML adatkommunikáció lehetőségeit. Bejezéshez kattintsunk a Ment (alkalmaz) gombra. Ezután helyezzünk el a képünkön egy OPC DA input adatcsoportot, majd huzalozzuk össze a szokásos módon az OPC szerverrel a bal oldalon látható módon. Ezzel létre is jött az adatlekérdezési objektum, amihez már csak az adatok hozzárendelése szükséges. Ez ugyanúgy történik, mint az input adatcsoport esetén, vagyis az adat sorára kell kattintani (vagy az objektumra duplán): Ekkor jelenik meg a következő ábrán látható OPC adatkonfigurációs panel. A kép felső része a bekonfigurált OPC elemeket, alsó része pedig a VISION változókat tartalmazza, a jobb felső sarok pedig az összerendelt elemeket. Itt látható tehát az eredmény. Először itt is fel kell venni a kapcsolatot az OPC szerverrel, majd a tallózóból kiválasztani a szükséges adatcsoportot. Válasszuk ki a “Triangle Wave” adatcsoportot, majd az Item-listából – például – az Int2-őt. A kiválasztás dupla kattintással történik, akárcsak a VISION változó hozzárendelése. Azonban ez utóbb csak akkor lehetséges, ha az OPC elemek kiválasztott adatlistájában kijelöljük (fókuszáljuk) a megfelelő elemet. Végül az elemeket ezzel a dupla kattintásos módszerrel választhatjuk ki és rendelhetjük össze.
VISION X9 Tutorial
30/32
OPC elem kiválasztása dupla kattintással
Eredmény: OPC összerendelési lista
VISION változó hozzárendelése dupla kattintással
Ha kész, Ment (alkalmaz) (ld. sárga nyíl). Ezzel az INT változó hozzárendelése az OPC szerver Triangle Waves.Int2 eleméhez megtörtént és Online üzemmódban tesztelhetjük az eredményt. Mentsük ki ezért a módosításokat és nézzük meg, hogy sárgára vált-e az OPC szerver csomópontja (ekkor indul el a kommunikáció az OPC szerverrel). Amint a normál kommunikációnál, most is az adatcsoport bal oldalán látható szürke nyomógombra kattintva kérdezhető le az OPC monitora. Ez azonban némileg eltér a kommunikáció adatmonitorától. A monitoron jól látszik, ahogy az OPC szerver háromszögjelet (triangle wave) szimulál. Végül az eredményt a változólistában az INT változót tesztelve is ellenőrizhetjük: Abban az esetben, ha OPC output adatokat is készíteni kíván, ügyeljen arra, hogy az output adatcsoportot feltétlenül állítsuk módosítás érzékenyre, hogy csak a változások menjenek az OPC szerver felé, különben feleslegesen nagy lesz az OPC szerver terhelése. VISION X9 Tutorial
31/32
Összefoglaló Ebben a dokumentumban a VISION fejlesztőrendszer alapjait ismerhettük meg. Láttuk, hogyan váltogatunk a fejlesztőrendszer és a futtatórendszer között, amikor az egyes szerkesztési fázisok eredményét leellenőrizzük (online üzemmód). Légyegében ez a gyakorlat képezi alapját a VISION rendszer használatának – azzal az apró különbséggel, hogy a valóságos alkalmazásokban nem váltunk ilyen gyakran a szerkesztő és a futtató állapotok között, hiszen egyszerre több változót viszünk be, és komplex képeket rajzolunk. A dokumentum módott adott továbbá arra is, hogy a VISION legfontosabb komponenseit – a változókat, képeket, sablonokat, struktúrákat, kommunikációt, alarmrendszert és az adatbázisokat – megismerjük, használatukat megtanuljuk. Láttuk, hogy az objektumok konfigurálása ugyanazt az objektum-modellt követi, legyen szó bár képekről, kommunikációról vagy eseménykezelésről (tulajdonságok, események). Habár a valóságos alkalmazás-fejlesztés során az itt bemutatott egyszerű objektumoknál és alapkomponenseknél lényegesen többre van szükségünk, az animáció, vagyis a tulajdonságok változókhoz rendelése a valóságban sem bonyolultabb, tipikusan változóhozzárendelésből és attribútum táblára épülő színmegadásból áll.
VISION X9 Tutorial
32/32