LabVIEW 2010 – Minden az időről szól A mérnökök számára az idő minden szempontból értékes.
Az idő nagyon fontos, ha gyorsabban kell adatot gyűjteni, a való világ jeleit szoftverben megjeleníteni, távoli rendszereket szinkronizálni, vagy egyszerűen csak gyorsan be kell fejezni egy feladatot. Az NI LabVIEW szoftver egy grafikus fejlesztőkörnyezet, ami egyedülállóan hasznos eszköz, ha spórolni szeretnénk az idővel. A grafikus megközelítés növeli a felhasználó hatékonyságát, lehetővé téve, hogy az adataira és az azokkal elvégzendő műveletekre koncentráljon, elvonatkoztasson a programozás bonyolult adminisztratív jellegű részeitől, mint például memória kezelés és a programozási nyelv szintakszisa. A LabVIEW fejlett időzítő mechanizmusokat és API-kat (alkalmazásprogramozási interfész) tartalmaz, amelyek segítségével definiálhatók az időzítési feltételek, a hardver és szoftver közötti kapcsolatok. A National Instruments a LabVIEW 2010 fejlesztésénél azokat a tulajdonságait tartotta szem előtt, melyek az időről, sebességről szólnak. A LabVIEW legújabb teljes platformot érintő változata közvetlenül felhasználói igényekből megvalósított új tulajdonságokkal, új FPGA IPintegrációs funkcióval, erősebb időzítő és szinkronizációs képességekkel és továbbfejlesztett back-end fordítóval rendelkezik, amely optimalizált gépi kódot generál, így akár 20 %-kal gyorsabb lehet a valósidejű végrehajtás.
A LabVIEW fordító A LabVIEW fordító egy olyan kulcstechnológia, mely elrejti a programozásnak alacsonyszintű részleteit, ezzel növelve a felhasználó hatékonyságát. Megoldja a memória allokációt, kezeli a programszálakat miközben a blokkdiagram kódjának futtatása nélkül, „szerkesztési időben” visszajelzést ad a felhasználónak. Végül, kifinomult fordítási és optimalizálási lépések sorozatának eredményeként a felhasználó magas szinten megtervezett szoftvere hatékony gépi kóddá válik.
Az évek során a fordító intelligensebbé, és optimalizáltabbá vált, annak eredményeként, hogy az NInál dolgozó fejlesztők egyre több intelligens megoldást építettek be, mint például memóriaműveletek, típus kiterjesztés, virtuális regiszterek, fordító optimalizálás és más folyamatok. Legyen az új tulajdonság hibajavítás vagy a fordító továbbfejlesztése, a fejlődés eredményeként keletkező újabb és újabb verziók a felhasználók kódjának hatékonyságát befolyásoló eszközök. A 2010-es kiadás egyik elsődleges célja a VI futtatás javítása, azaz egy VI végrehajtási idejének csökkentése anélkül, hogy a kód maga változna.
Kód optimalizálás a futási teljesítmény növelése érdekében
Azért, hogy a lefordított kód minél hatékonyabb legyen, azaz, hogy gyors legyen a program futása – anélkül, hogy a fejlesztőnek a blokkdiagramján kellene változtatnia – fordító hierarchiájába az NI fejlesztői két „réteget” építettek be. A LabVIEW 2009-ben jelent meg a DFIR technológia (Dataflow intermediate representation), ami a felhasználó blokkdiagramjából generált adatfolyam magas szintű transzformációját jelenti. A LabVIEW 2010-ben ez a technológia egy LLVM (alacsony szintű virtuális gép, low level virtual machine) alapú back-end réteggel bővült, ami a szokásos fordító optimalizálásokhoz képest új lehetőségeket biztosít. A DFIR és a LLVM együttműködése lehetővé teszi a magas és alacsony szintű közbenső megjelenítést, azt, hogy a fordító szét tudja bontani és optimalizálni a LabVIEW kódot. A közbenső megjelenítés azt jelenti, hogy a fordítóban folyó optimalizálás nem érinti az eredeti blokkdiagramot, de a generált gépi kód optimális lesz, és így a LabVIEW 2010-ben ugyanannak a felhasználói alkalmazásnak a futási ideje akár 20 %-kal is kisebb lehet a korábbi kiadásokkal fordított futtatható állományok futási idejéhez képest. A LabVIEW fordítóról további részletek olvashatók a 26. és 27. oldalakon.
Nagy alkalmazások fejlesztésével járó gondok enyhítése A LAbVIEW 2010 további újdonságai között találunk nagy alkalmazások fejlesztését könnyítő – a forráskód kezelését segítő és a még modulárisabb szoftver architektúra kialakítását lehetővé tevő – eszközöket is. A lefordított objektumok és az aktuális blokkdiagram elkülönítésével a LabVIEW 2010 tovább erősíti a fejlesztők támogatását. Ennek a lehetőségnek a bekapcsolásával egy VI státusa az újrafordítás után sem lesz „módosított”. Ennek köszönhetően csak akkor kell menteni és forráskód ellenőrzésre küldeni a grafikus forrást, ha a felhasználó ténylegesen módosította. Az új, bővített projektkönyvtár modulárisabb szoftvertervezést és fejlesztési folyamatot, rövidebb építési időt és hatékonyabb üzembe helyezést segítő eszközöket kínál. Az új, bővített projektkönyvtárak egy új fájltípusként jelennek meg, amiben a projektkönyvtár és valamennyi hivatkozott VI-je együtt található. Az exportált VI-k a többi, blokkdiagram nélkül mentett VI-hez hasonlóan ebben a fájlban vannak, de a hierarchiájuk teljesen rejtett. Létrehozásukhoz egy létező .lvlib fájlt kell kiválasztani és megadni, hogy melyik VI kerül a projektkönyvtárba és melyik nyilvános/exportált.
A közösség hatása A LabVIEW közösségnek jelentős hatása van arra, hogy egy-egy felhasználó mennyire tud sikeres lenni saját LabVIEW fejlesztését illetően. Az NI Discussion Forum (ni.com/forums) lapjain a tagok segítséget nyújtanak másoknak. Hasonlóan a NI Developer Zone Community (ni.com/community)
lapjaira töltött mintakódok és a vezető felhasználói csoportok is segítik a többiek munkáját. Továbbá, a LabVIEW közösség meghatározó hatással volt a LabVIEW 2010 tulajdonságaira.
LabVIEW Idea Exchange
A National Instruments 2009. augusztusában jelentette be a LabVIEW Idea Exchange létrehozását. A LabVIEW Idea Exchange egy fórum, ahol a közösség és a fejlesztő csapat találkozik és a termék tulajdonságairól érkező visszajelzések segítik az újabb frissítésekbe kerülő tulajdonságok meghatározását. A LabVIEW 2010-ben 14 olyan új tulajdonság van, amit közvetlenül a közösség tagjainak észrevételei alapján építettek be. A 15. oldalon további részletek találhatók a LabVIEW közösségnek köszönhető új tulajdonságokról. A legfontosabb támogatási lehetőségek és területek
Az NI mérnökei naponta értékelik azokat a visszajelzéseket, amelyeket közösség tagjai a támogatási lehetőségek igénybevételével juttatnak el hozzájuk. A National Instruments felismerte, hogy a rendszer telepítése/beállítása az első – és sokszor a legijesztőbb – feladat. A LabVIEW 2010-ben megjelent egy továbbfejlesztett telepítő, amely első lépésben elkéri a felhasználótól a szoftver sorozatszámát, majd az ebből nyert információ alapján meghatározza melyik szoftvert kell telepíteni. Ha a szoftver telepítése megfelelően sikerült, a palette items, help és mintapéldák helyének néha szintén kihívás lehet A NI fejlesztői egy mindenre kiterjedő keresőmotort integráltak a LabVIEW 2010 integrált fejlesztő környezetbe (IDE), ami igen megkönnyíti a felhasználó számára ezeknek az információknak a megtalálását. Választani lehet a keresési helyek között, úgymint keresés a termék helpjében, a paletták között, támogatási fórumokon, a közösségi fórumokon vagy a termék információs helyeken.
Mivel a LabVIEW-t leggyakrabban hardver eszközökkel együtt használják, ezek konfigurációs kérdései a legfontosabb területét jelentik a terméktámogatási témakörnek. Az új Web-Based Monitoring and Configuration eszközzel – mint egy routeren keresztül – egyszerű böngészőből konfigurálhatók az elosztott rendszerben található hardver elemek. A felhasználó láthatja a biztonsági beállításokat, memória adatokat, hozzáfér fájlkezelőkhöz és közvetlenül a valósidejű operációs rendszerhez.
A partnerek hozzájárulása a LabVIEW képességeihez Számos bővítmény jelent meg a LabVIEW 2010-ben, amik a partnerek kiegészítő termékei beépítését és terjesztését segítik. Rendelkezésre áll a LabVIEW Scripting, egy API, amely automatizálja
LabVIEW kódok generálását. Továbbá a licenckezelés és -aktiválás segíti a fejlesztőket, hogy a felhasználók kipróbálhassák valamint hogy legális módon használhassák a LabVIEW-hoz készült kiegészítő alkalmazásokat és eszközkészleteket. Kiegészítések beépítését segíti a JKI Software által fejlesztett VI Package Manager amellyel a licencelés és aktiválás is könnyen megoldható. Bővebb információ a 21. oldalon olvasható erről a témáról.
Nyílt forráskódú FPGA szoftverek integrációja A LabVIEW FPGA Modul IP integrációs funkciójalehetővé teszi a Xilinx Core Generator tervező eszközzel készített .xco fájlok fogadását. A processzor alapú rendszerekhez kifejlesztett DLL importáló funkcióhoz hasonló módon a Xilinx IP-k is könnyedén importálhatók a LabVIEW környezetbe. Ez a funkció az IP blokk modelljét is elkészítni, így a felhasználó az importált blokkot együtt tudja szimulálni azLabVIEW FPGA kóddal. Bár a Xilinx kódok importálásához speciális mechanizmusok tartoznak, az új funkció bármilyen más általános HDL fogadására is képes, ugyanilyen egyszerű módon. Az új NI Labs (ni.com/labs) eszközben megtestesülő koncepció egy újabb lehetőség a Xilinx IP-k és a LabVIEW FPGA további integrációja felé. Beépített időzítés és szinkronizálás A legtöbb számítógépes alkalmazásnak meg kell felelnie a használt hardver időzítési feltételeinek. Ez a feladat nehéz lehet olyan szoftver környezetben, amelyben nincs világos koncepció az idő kezelésére. Szerencsére a LabVIEW-ban számos beépített mechanizmus van, amelyekkel egyedülálló módon könnyedén lehet az idővel, időzítésekkel foglalkozni. Például a Timed Loop (időzített hurok) struktúra egy jól meghatározott API, amelyet időzítési feltételek meghatározására készítettek. Mindezen túl a Timed Loop a prioritások beállítására, processzor használat és időzítő eszközök konfigurálására is használható. A Time Loop-ok egy rendszeren belül és valósidejű elosztott rendszerek esetén azok részrendszerei között is, egymással szinkronizálhatók. A LabVIEW 2010-ben megjelent egy új idő-alapú szinkronizációs technika, amely lehetővé teszi nagy elosztott rendszerekben futó LabVIEW Real-Time modulok szinkronizációját Ethernet hálózaton keresztül. A LabVIEW 2010-ben megvalósult az IEEE 1588 szerinti szinkronizációs mechanizmus, ami ms nagyságrendű felbontást tesz lehetővé. Mindezek mellett a LabVIEW 2010-ben egy belső mechanizmus is létezik az időzítő elemek és a funkcionalitás vezérlésére, ami nagy segítség a felhasználónak többszörösen összetett, eltérő felbontású időzítési feladatok megoldásában. A Time Loop használata lehetővé teszi a felhasználók számára, hogy ugyanazon programozási elvek mentén dolgozzanak,
legyen
szó
ms
nagyságrendű
nanoszekundumokról egy FPGA backplane-n.
időkről
egy
asztali
számítógépen,
vagy
Eljött a LabVIEW 2010 ideje
A LabVIEW 2010 megfelel a legismertebb technikai kihívásoknak is, mint felgyorsított szoftvertelepítés, Web alapú hardver konfiguráció, hatékony keresés. Mindezek mellett az NI fejlesztői felhasználják a felhasználói észrevételeket és kihasználják a partneri kapcsolatok adta előnyöket, hogy a programozók élete még szebbé váljon. A remek támogatás és együttműködés mellett a LabVIEW 2010 egyik legfontosabb eleme a továbbfejlesztett back-end fordító, amely optimalizált gépi kódot generál, így a korábbi változatokhoz képest, akár 20 %-kal gyorsabban futtathatók a programok. A LabVIEW 2010 beépített időzítési mechanizmusai, és egyszerűsített szinkronizációs technológiái minden felhasználó hatékonyságát megnövelik, legyen szó kezdőről, vagy sokéves gyakorlattal rendelkező szakértőről.
Jeffrey Phillips: LabVIEW termékmenedzser a National Instrumentsnél. Az University of Tennessee-n szerzett gépész alapdiplomát.
Joseph DiGiovanni: LabVIEW csoportmenedzser a National Instrumentsnél. A Boston University-n szerzett biomedikus mérnöki alapdiplomát, majd a Gergia Institute of Technology-n villamosmérnök mesterfokozatot.
Látogasson el a ni.com/labview/whatsnew oldalra, ahol a LabVIEW 2010 még több tulajdonságával megismerkedhet.
National Instruments Hungary Kft. H-2040 Budaörs, Puskás Tivadar utca 14. 1. emelet Telefon: 06 23 448 900, Fax: 06 23 501 589 E-mail:
[email protected] Web: hungary.ni.com Ingyenesen hívható telefonszám: 06 80 204 704