Beágyazott rendszerek fejlesztése laboratórium VIMIMA12. Virtuális műszerek méréssorozat. LV1: LabVIEW crio ALAPISMERETEK. Mérési útmutató V0.

Hasonló dokumentumok
LabVIEW példák és bemutatók KÉSZÍTETTE: DR. FÜVESI VIKTOR

(BMEVIMIM322) Az NI 9263 DA és NI 9239 AD kártyákra alapuló mérések NI crio-9074 platformon. (BME-MIT-Beágyazott Rendszerek Csoport)

Széchenyi István Egyetem

Helyi (otthoni) hálózat kialakítása (Windows rendszerben)

Bevezetés a QGIS program használatába Összeálította dr. Siki Zoltán

Megoldás. Feladat 1. Statikus teszt Specifikáció felülvizsgálat

ROUTER beállítás otthon

Kameleon Light Bootloader használati útmutató

10. EGYSZERŰ HÁLÓZATOK TERVEZÉSE A FEJLESZTŐLAPON Ennél a tervezésnél egy olyan hardvert hozunk létre, amely a Basys2 fejlesztőlap két bemeneti

Mobil Partner telepítési és használati útmutató

Bemutatás. Elrendezés. Leírás. Műszaki adatok. Funkciók

Beágyazott rendszerek fejlesztése laboratórium DSP fejlesztési technológiák

1. Fejezet Hardver Installálás

Laborgyakorlat: Egy vezeték nélküli NIC beszerelése

Felhasználói leírás a DimNAV Server segédprogramhoz ( )

LabView Academy. 4. óra párhuzamos programozás

Tartalomjegyzék... 1 Az alakalmazás letöltése... 2 Regisztráció... 3 Kapcsolódás (helyi vezérlés):... 4

Rendszerarchitektúrák laboratórium Tárgyfelelıs: dr. Fehér Béla. Virtuális mőszerek mérés sorozat v 0.1

Ismerkedés a MyPal készülékkel. Kezelőszervek a hátlapon

Tájékoztató az 1.10-es labor használatához

Bérprogram vásárlásakor az Ügyfélnek ben és levélben is megküldjük a termék letöltéséhez és aktiválásához szükséges termékszámot.

TvNetTel Internet Kapcsolat Beállítása

Programozás és Digitális technika I. Pógár István eng.unideb.hu/pogari

Nyolcbites számláló mintaprojekt

Mérési útmutató a Mobil Kommunikáció és Kvantumtechnológiák Laboratórium méréseihez

Bluetooth. A Bluetooth kommunikációs adapter beállítása. Microsoft Windows XP/Vista/7 operációs rendszerre. Felhasználói kézikönyv

Mérés, Vezérlés. mérésadat rögzítés CMC - 99 CMC kis és nagytestvér

DI-604 Express Ethernetwork Szélessávú Router. Ethernet (CAT5 UTP/Egyenes) kábel. 5V 2A váltóáram adapter

EDInet Connector telepítési segédlet

Quantometer 2.0 Fogyasztásmérő program és illesztőkészülék

Satel ETHM-1. Ethernet modul.

3.1.5 Laborgyakorlat: Egyszerű egyenrangú hálózat építése

Digitális aláíró program telepítése az ERA rendszeren

Netis vezeték nélküli, N típusú, router

TELEPÍTÉSI ÚTMUTATÓ SW

Kezelési leírás a FEC01/06 típusú programozható és távműködtethető lángeffekt vezérlő készülékhez

CellCom. Szoftver leírás

Új kompakt X20 vezérlő integrált I/O pontokkal

A fényképezőgép-firmware frissítése

4. Példa: Másodfokú egyenlet megoldása (program2_1.vi)

Tanúsítvány feltöltése Gemalto.NET kártyára és Gemalto SIM termékre

Az MSP430 mikrovezérlők digitális I/O programozása

1. mérés - LabView 1

Digitális aláíró program telepítése az ERA rendszeren

FortiClient VPN-IPSec kliens konfigurációs segédlet

15.4.2b Laborgyakorlat: Mappa és nyomtató megosztása, a megosztási jogok beállítása

CMS videó megjelenítő szoftver használata

C2000 Manager 1.02 Verzió Használati Utasítás

Bosch Video Client. Kezelési útmutató

Intellio Video System 2. Csatlakozási útmutató a demószerverhez

Külső kártyaeszközök Felhasználói útmutató

Diva 852 ISDN T/A. Gyorstelepítési útmutató.

U42S Felhasználási példák Gitárjáték rögzítése

MPLAB ICD használata

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05 Geodéziai Feldolgozó Program

SSL VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

(1) 10/100/1000Base-T auto-sensing Ethernet port (2) 1000Base-X SFP port (3) Konzol port (4) Port LED-ek (5) Power LED (Power)

DSL Internet telepítése opensuse-ra (Tesztelve: opensuse 10.0-tól 10.3-ig)

Előadás témája: DVR-ek és hálózati beállításuk Szentandrási-Szabó Attila Műszaki és kereskedelmi igazgató

T Bird 2. AVR fejlesztőpanel. Használati utasítás. Gyártja: BioDigit Kft. Forgalmazza: HEStore.hu webáruház. BioDigit Kft, Minden jog fenntartva

1. BEVEZETÉS A RENDSZER ELEMEI, ARCHITEKTÚRÁJA... 5

1/9. Sunell IP kamerák webes felületének használati útmutatója. Élő kép (Live Video)

Gyors üzembe helyezési kézikönyv

munkafüzet open eseményéhez

A nyomtatókkal kapcsolatos beállításokat a Vezérlőpulton, a Nyomtatók mappában végezhetjük el. Nyomtató telepítését a Nyomtató hozzáadása ikonra

Yottacontrol I/O modulok beállítási segédlet

Programozó- készülék Kezelőkozol RT óra (pl. PC) Digitális bemenetek ROM memória Digitális kimenetek RAM memória Analóg bemenet Analóg kimenet

Dokumentum létrehozása/módosítása a portálon:

Selling Platform Telepítési útmutató Gyakori hibák és megoldások

Netis vezeték nélküli, N típusú Router Gyors Telepítési Útmutató

A GeoEasy telepítése. Tartalomjegyzék. Hardver, szoftver igények. GeoEasy telepítése. GeoEasy V2.05+ Geodéziai Feldolgozó Program

RUBICON Serial IO kártya

GIRO GSM MODEM/VPN KAPCSOLAT TELEPÍTÉSI ÚTMUTATÓ

Villamos jelek mintavételezése, feldolgozása. Mérésadatgyűjtés, jelfeldolgozás 9. előadás

3.5.2 Laborgyakorlat: IP címek és a hálózati kommunikáció

Magyar Gyors felhasználói útmutató A GW-7100PCI driver telepítése Windows 98, ME, 2000 és XP operációs rendszerek alatt

Intelligens biztonsági megoldások. Távfelügyelet

1. Használatba vétel. 1.1 Biztonsági előírások. 1.2 Rendszerkövetelmények. 1.3 A csomag tartalma

Intelligens Autonom Kamera Modul (IAKM)

Esri Arcpad Utó- feldolgozás. Oktatási anyag - utókorrekció

6.2. TMS320C64x és TMS320C67xx DSP használata

1. DVNAV letöltése és telepítése

DI-624+ AirPlus G+ 2,4GHz

Tanúsítvány feltöltése Micardo kártyára

SR mini PLC Modbus illesztő modul. Modul beállítása Bemeneti pontok kiosztása főmodul esetén Bemeneti pontok címkiosztása kiegészítő modul esetében

Gyors telepítési kézikönyv

Telepítési útmutató. Ver 1.0

16/8/4 CSATORNÁS Real Time MPEG-4DVR. 16/8/4 CSATORNÁS beépített DVD-RW íróval vagy CD-RW íróval

A LOGSYS GUI. Fehér Béla Raikovich Tamás, Laczkó Péter BME MIT FPGA laboratórium

1. A berendezés programozása

POLAR WEBSYNC POLARGOFIT.COM FELHASZNÁLÓKNAK

Tanúsítvány feltöltése Oberthur kártyára és Oberthur SIM termékre

SYS700-A Digitális szabályozó és vezérlõ modul DDC rendszerelemek, DIALOG-III család. Terméktámogatás:

Internetkonfigurációs követelmények. A számítógép konfigurálása. Beállítások Windows XP alatt

1 Rendszerkövetelmények

Külső kártyaeszközök Felhasználói útmutató

Általános soros sín (USB) Felhasználói útmutató Rendszerigény Nyomtatója beépített USB portja az alábbi minimális rendszerkonfiguráció mellett használ

WAGO PLC-vel vezérelt hő- és füstelvezetés

Az Evolut Főkönyv program telepítési és beállítási útmutatója v2.0

Átírás:

Beágyazott rendszerek fejlesztése laboratórium VIMIMA12 Virtuális műszerek méréssorozat LV1: LabVIEW crio ALAPISMERETEK Mérési útmutató V0.1 BME MIT 2018. 1

1. ISMERKEDÉS A COMPACT-RIO RENDSZERREL... 3 1.1 A COMPACTRIO FEJLESZTŐKÖRNYEZET... 3 1.2 FEJLESZTÉS A COMPACTRIO EGYSÉGRE... 5 1.2.1 Kapcsolatfelvétel... 5 1.2.2 Az első projekt - Projektkörnyezet létrehozása... 6 1.2.3 LED-villogtatás... 11 2

1. ISMERKEDÉS A COMPACT-RIO RENDSZERREL 1.1 A CompactRIO fejlesztőkörnyezet CompactRIO A CompactRIO segítségével a különböző mérési beavatkozási funkciókat a megfelelő modulok alapkeretbe való behelyezésével lehet végrehajtani. A rendszer érdekessége nem is a funkciójában, hanem konfigurációjának, programozásának újszerű módjában rejlik. Ugyanis az eszközhöz kötődően három külön helyre lehet programot fejleszteni, de mindegyik programot ugyanabban az integrált LabVIEW alapú környezetben (még ha az eszközkészlet picit változik is). Az első hardver közeli rész ahova a programot írhatjuk a mérőmodulokat összefogó alapkeretben elhelyezkedő FPGA. Erre az eszközre a hardver közeli feldolgozásokat lehet a LabVIEW FPGA modul segítségével leprogramozni (például digitális szűrés, időbélyegezés, pulzusszámolás stb.). A következő szint ahova lehetőségünk van saját programot helyezni az a szintén a CompactRIO hardverben elhelyezkedő Real-Time ipari PC. Erre a modulra a LabVIEW Real-Time modul segítségével tudunk konfigurációt készíteni, tipikusan az ide kerülő konfigurációk tartalmazzák a magasabb szintű vezérlést, például egy PID szabályozást, adattárolás stb.. Az utolsó absztrakciós szint, amit lehetőségünk van kezelni az egy távoli host gépen futó felügyeleti alkalmazás. Erre a helyre a normál LabVIEW-ban készült programok formájában helyezhetjük el az alkalmazásainkat, tipikusan ez a grafikus felhasználói interfészt helye. A CompactRIO egység programozási hierarchiája Bár ez a hármas tagoltság elsőre bonyolultnak tűnhet, a gyakorlatban igen egyszerűen használható egyetlen integrált fejlesztőrendszerből. crio-9074 A mérések során a crio-9074-es CopmactRIO keretet fogjuk használni. Ez 8 mérő kártya fogadására képes, a hátlapba egy 2M ekvivalens kapu komplexitású Xilinx FPGA foglal helyet. A helyi real-time feldolgozást pedig egy 128MiB DRAM-al és 256MiB háttértárral rendelkező 400MHz-es vezérlő biztosítja. A keretbe beépítve két 10/100BASE-Tx Ethernet csatorna található, amelyek közül az 1. sorszámún kapcsolódhatunk a modulhoz fejlesztés közben. Valamint rendelkezik egy Rs232 csatlakozási ponttal is. 3

NI-9401 Az első mérési gyakorlatainkhoz a z NI-9401 8 csatornás TTL szintű, nagysebességű 100ns-es digitális I/O modult fogjuk használni. 4

1.2 Fejlesztés a CompactRIO egységre 1.2.1 Kapcsolatfelvétel Első lépésként a CompactRIO modul használatához ellenőrizni kell a TCP/IP hálózati beállításokat, amelyek segítségével kapcsolatba lehet lépni az eszközzel. Erre az NI Measurement&Automation Explorer programját használjuk. Ez a programcsomag arra szolgál, hogy áttekinthessük, és szükség esetén módosítsuk a PC-khez hozzárendelt mérési adatgyűjtők és beavatkozók beállításait. Itt kerülnek felsorolásra az egyes PCI alapú mérő kártyák, GPIB buszon csatlakozó külső műszerek, valamint a távoli eszközök (Remote Systems) kategóriában az egyes CompactRIO eszközök. Ha szerencsénk van, akkor itt már a méréshez tartozó crio-9074-es modul szerepel a listában. Ha nem, akkor a Remote Systems/Create New menüpont segítségével adhatjuk hozzá a listához (automatikusan kerestessük meg, vagy adjuk meg a modul IP címét direktben). Amennyiben nem tudjuk a modul IP címét akkor lehetőségünk van azt kideríteni úgy, hogy a soros porton keresztül hozzácsatlakoztatjuk az eszközt a PC-hez, bekapcsoljuk az crio-9074 előlapján lévő Console Out switch-et és a soros portra 9600 baud sebességgel elküldött üzenetből megállapítjuk a két Ethernet csatlakozáshoz tartozó TCP/IP beállítást. NI Measurement&Automation Explorer segítségével átírhatjuk az eszköz hálózati beállításait. (Azon ne lepődjünk meg, hogy itt nem jelennek meg a sínbe illesztett modulok és azok tulajdonságai, ezeket csak a LabVIEW projektekből lehet majd látni.) 5

1.2.2 Az első projekt - Projektkörnyezet létrehozása Mint arról a bevezetőben már szóltunk, a CompactRIO modulnál három helyre is lehet programot írni. Az első mintaprojektünkben egy olyan környezetet fogunk varázsló nélkül létrehozni, ahol mindhárom szintre tudunk programot készíteni. Itt érdemes megjegyezni, hogy a beépített varázslók segítségével is lehet projekteket létrehozni, de így nulláról indulva jobban áttekinthető a folyamat. Indítsuk el a National Instruments LabVIEW-t, és válasszuk a Blanc Project opciót! 6

Ennek a hatására megjelenik egy új ablakban a Project Exlorer, amely felsorolja a használt eszközöket (egyelőre ez még hiányzik). Mivel jelenleg egy üres mérőrendszer nélküli környezetet kaptunk, ezért a projekthez hozzá kell adnunk a CompactRIO-t. Ezt a Project: Untitled Project 1 -en jobb egérgombot nyomva a New/Target and Devices menüvel tehetjük meg. Lehetőségünk van már meglévő eszközt hozzáadni a rendszerhez (ezeket automatikusan detektálja a LabVIEW) vagy egy általunk definiált újat. 7

A rendszer felsorolja az automatikusan felismert eszközöket, itt a három crio modult. Válasszuk ki a Real-Time CopmpactRIO menüpontot! Megjegyzés: Nem mindig detektálja a rendszer a Measurement&Automation Explorer-rel megadott eszközöket. Ilyenkor új eszközként kell hozzáadnunk a modult: ki kell választanunk az eszköz típusát (itt crio-9074) és megadni az IP címét. Adjuk hozzá a mérésnél használt crio kártyát a rendszerhez (criomerohely1, 2 vagy 3)! 8

Válasszuk ki a LabVIEW FPGA Interface pontot! Ha korábban már fel volt programozva a crio, és fut rajta program, akkor megjelenhet az alábbi ablak. Kattintsunk a Discover gombra, és várjuk meg az eredményt! Megjegyzés: Amennyiben a rendszer automatikusan nem detektálta a crio-9074-es eszközt, akkor szükség lehet arra is, hogy külön hozzáadjuk az FPGA target-et is a projekthez. (Az FPGA huzalozza össze a RealTime PC-vel az egyes mérőkártyákat, ezért ez szükséges ahhoz, hogy lássuk az egyes mérőmoduljainkat.) Ez hasonlóan történik, mint ahogy a projektindításnál bemutattuk azzal a különbséggel, hogy itt a CompactRIO modulhoz adjuk hozzá az új targetet. Ha jól adtuk meg a crio modul IP címét és végrehajtottuk a Connect parancsot, akkor itt már automatikusan fel kell ismernie a rendszernek az FPGA targetet. 9

Az FPGA target felismerése után a rendszer felderíti a modulhoz csatlakoztatott mérőkártyákat. Megjelennek a projektablakban a crio-9074-es modulhoz tartozó mérő- és beavatkozó csatornák (chassis), valamint az egyes mérőmodulok csatornái. Az ábrán a Mod1 néven az NI-9401 digitális I/O kártya csatornái láthatóak. Ezekkel a lépésekkel a projektkörnyezetet előállítottuk. 10

1.2.3 LED-villogtatás A következőkben megnézzük, hogyan kell működésbe hozni a CompactRIO egyes mérőmoduljait. Első lépésként konfiguráljuk a NI-9401 modul DIO0-DIO3 csatornáját kimenetnek a projektablakban található Mod1 fizikai reprezentációjaként megjelenő ikon Properties menüpontjában! (Ne felejtsük el utána elmenteni a projektet!) 11

12

FPGA szint A vezérlés létrehozásához adjunk hozzá a projekthez egy új FPGA VI-t, ez fogja ellátni az egyes I/O lábak vezérlését, hiszen ez a legalsó hardverközeli réteg (az FPGA Target-en jobb egérgomb, majd New/VI. 13

Az új VI rögtön szerkeszthetővé is válik. Rakjunk a Front Panel-re egy kapcsolót, és a Block Diagram-on tegyünk mellé egy FPGA I/O Node-ot, amely egy mérőkártya-csatornát fog megszemélyesíteni. 14

A lehelyezett FPGA I/O Node szimbólum I/O Item feliratára jobbgombbal kattintva hozzá tudjuk rendelni ezt a grafikus blokkot valamelyik tényleges fizikai csatornához, itt ez legyen NI-9401 modul DIO0 csatornája. Mivel írni szeretnénk az adott portra, váltsuk át a Mod1/DIO Node-ot írhatóvá, a hozzá tartozó jobb egérgombbal elérhető menü Change to Write menüpontja segítségével! 15

Vegyük észre, hogy a Node ikon jobb oldaláról átkerült bal oldalra a kis fekete háromszög, ezzel jelezve, hogy írható a modul. (Emlékezzünk rá, hogy a LabVIEW-ban balról jobbra értelmezik az adatfolyamot, vagyis a dobozok bal oldalán vannak a bemenetek és jobb oldalán a kimenetek.) Huzalozzuk össze a blokkdiagramot, majd helyezzük az egészet egy végtelen ciklusba, célszerűen egy while ciklusba egy leállító control (STOP) gombbal együtt! 16

A Boolean kapcsoló nevét cseréljük le valamilyen beszédesebbre (pl. legyen a neve LEDcontrol), és helyezzünk el a Front Panel-en egy ellenőrző LED-et, pl. LEDfeedback névvel! 17

Mielőtt továbbmennénk, mentsük el az egész projektet és a VI-t valamilyen értelmes néven a diszkre! Indítsuk el a programot (VI-t) a szokásos módon! Ennek hatására generálódik a hátlapban lévő FPGA-hoz tartozó huzalozási bitfile. Ez 4-5 percig is eltarthat. (Közben foglalkozhatunk a dokumentálással.) A programgenerálás végén megjelenik egy státuszriport, ami tájékoztat a fordítás eredményéről. 18

Sikeres fordítás után automatikusan elindul az FPGA VI, és lehetőségünk van kézzel vezérelni az NI-9401 DIO0 kimenetén a LED diódát és vele egyidejűleg a Front Panel-en a LEDfeedback jelző LED-et is. Ezzel megvalósítottuk a LED-villogtatás funkciót. 19

20

RealTime PC szint Következő lépésként bővítsük a projektet úgy, hogy készítsünk programot a CompactRIO-ba integrált valós idejű vezérlőre is! Adjunk hozzá egy VI-t a CompactRIO modul real-time vezérlőjéhez! Rögtön mentsük is el valamilyen értelmes fájlnévvel a VI-t! 21

Ahhoz, hogy a CompactRIO real-time vezérlőjéből használni tudjuk az egyes I/O csatornákat, először kapcsolatot kell teremtenünk a FPGA program és a real-time vezérlő programja között. Ez nem a szokásos VI SubVI kapcsolaton keresztül működik, de annyi hasonlóság van benne, hogy ebben az esetben is az FPGA-hoz tartozó VI Front Panel-jére helyezett bemeneteket és kimeneteket tudjuk mintegy függvényhívási felületként kezelni. RT és FPGA közötti interface Az FPGA-val való kapcsolat megteremtéséhez először meg kell neveznünk azt az FPGA VI-t, amelyet erről a magasabb absztrakciós szintről vezérelni kívánunk. Ezt a Block Diagram palettájában található FPGA Interface/Open FPGA VI Reference blokkal tudjuk megtenni. 22

23

Az Open FPGA VI Reference VI lehelyezése után arra duplán kattintva ki tudjuk választani a projektben használt FPGA VI blokkot. 24

Következő lépésként a szintén az FPGA Interface könyvtárban található Read/Write Control VI-vel tudjuk az FPGA vezérlő VI Front Panel-jére helyezett bemeneteket és kimeneteket kezelni. Ezt lehelyezve, majd a referenciáját összehuzalozva az Open FPGA VI Reference-szel, ki tudjuk választani a számunkra szükséges be- és kimenetet. Kössük össze a két modul megfelelő lábait, majd válasszuk li a LEDcontrol-t! 25

Ezután zárjuk le az FPGA interfészt az FPGA Interface könyvtár Close FPGA VI Reference blokkjával. 26

27

A magasabb szintű vezérlést demonstrálandó, készítsünk egy programot, amely beállítható frekvenciával vagy kézi vezérléssel villogtatja a LED-et. A kész VI-t elindítva (ugyanúgy, mint az FPGA-s esetben) letöltésre kerül a CompactRIO egységre a program, és elindul. 28

PC-s felhasználói felület Már tudjuk, hogy a terepre kihelyezhető modulra hogyan kell programot készíteni. Most az nézzük meg, hogy egy PC-n futó Desktop alkalmazás hogyan tud kapcsolatot tartani a crio-val. Erre az ún. Shared variable módszer használható a legegyszerűbben: megadjuk a compactrio real-time PC-je és az asztali PC-n futó alkalmazás számára is, hogy mely változókat használják közösen, és a LabVIEW a két node közötti adatátvitellel automatikusan szinkronizálja a változók értékét. Shared variable Adjunk hozzá a project CompactRIO részéhez három változót a real-time PC-n futó kezelőszervek (Man/Auto control kapcsoló, a Man control gomb és az Automatic rate [Hz]) kiváltásához (pl. ManAutoControl, ManControl és AutoRate névvel). 29

Az eredmény a projektablakban: 30

Hozzunk létre egy VI-t a Desktop részhez is a felhasználói felület számára. Adjuk hozzá az új VI Front Panel-jéhez a megfelelő kontrolokat. Hozzunk létre egy új osztott változót, a Block diagram Data Communication/Shared Variable/Shared Variable VI-jával. A lerakott ikonra kattintva hozzá tudjuk rendelni a VI-t a projekt egyik osztott változójához (Select Variable). Azt, hogy a változóba írunk vagy olvasunk a jobb egérgombbal elérhető Properties menü Configuration ablakában tudjuk megadni. 31

Ismételjük meg ezt a műveletet az összes többi változóra, valamint a CompactRIO VI-ra is. 32

33

A rendszer működtetéséhez minkét VI-t el kell indítani. 34

35

Tanácsok Bonyolultabb rendszereknél célszerű hibavédelmet is alkalmazni, illetve a real-time rendszeren lévő VI leállítását megoldani a desktop PC-ről. Sok esetben célszerű az ún. ütemezett ciklusokat használni (Timed Loop) mert ezek gyakorlatilag különálló szállakká képződnek le a végrehajtásnál, ezért garantáltan párhuzamosan működnek, illetve jól időzíthetőek. Jelen esetben például, ha a desktopon futó VI-ból kiszedjük a késleltetést, akkor az akár a rendszer fagyásához is vezethet, mert annyira túltömi az osztott változós kommunikációt. Szintén érdemes megjegyezni, hogy a fejlesztés során a hierarchia egyes szintjeit akár át is ugorhatjuk, például nem kötelező a CompactRIO real-time vezérlőjéhez programot írni, lehet közvetlenül a desktop PC-ről vezérelni az FPGA VI-t. 36