LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
LabVIEW tutorial Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem M´er´estechnika ´es Inform´aci´ os Rendszerek Tansz´ek Budapest
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
1. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
1. Bevezet´ es ´ anos m˝ • Altal´ uszermodell
• Az egys´egek bonyolults´aga a m˝ uszer fajt´aj´at´ol ´es technol´ ogi´at´ ol f¨ ugg˝ oen nagyon elt´er˝ o lehet, de a feldolgoz´o ´es megjelen´ıt˝o egys´eg hasonl´o ⇒ m˝ uszermag • A m˝ uszermag univerz´aliss´a t´etel´evel cs¨okkennek a fejleszt´esi k¨olts´egek ⇒ mikroprocesszoros rendszerek megjelen´ese tette lehet˝ ov´e M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
2. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
• Be´agyazott rendszerek - be´agyazott rendszereknek nevezz¨ uk azokat a processzor alap´ u eszk¨ oz¨ oket, illetve az ezekb˝ ol alkotott rendszereket, amelyek k´epesek a befogad´o (fizikai/k´emiai/biol´ ogiai) k¨ ornyezet¨ uket ´erz´ekel˝ok seg´ıts´eg´evel auton´om m´ odon megfigyelni ´es (amennyiben sz¨ uks´eges) beavatkoz´ ok seg´ıts´eg´evel befoly´asolni – mikroprocesszorok/mikrovez´erl˝ ok fejl˝ od´ese ⇒ komplex funkci´ok el´erhet˝o ´aron – modul´aris HW fel´ep´ıt´es - testreszab´as SW-ben ⇒ gyors egyedi m˝ uszerfejleszt´es SW is modul´aris fel´ep´ıt´es˝ u ⇒ gyors SW fejleszt´es • PC tulajdonk´eppen univerz´alis m˝ uszermag K´esz¨ ul´ekfejleszt´es = alkalmaz´oi SW elk´esz´ıt´ese
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
3. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
1.2. Virtu´ alis m˝ uszerek • PC alap´ u m˝ uszerfejleszt´es 2 ir´anyvonala – Hagyom´anyos ir´anyvonal (ipari PC alaplap ´es perif´eri´ak m˝ uszerdobozban) – Asztali PC kieg´esz´ıtve I/O perif´eri´akkal ´es alkalmas SW-el ∗ Az alkalmaz´oi SW cser´ej´evel sokf´ele m˝ uszer implement´alhat´o ∗ A m˝ uszer funkcion´alisan megegyezik a c´elm˝ uszerrel, de virtu´alis abban az ´ertelemben, hogy fizikai megjelen´ese elt´er azok´et´ol • National Instruments c´eg ´elenj´ar´ o a virtu´alis m˝ uszer koncepci´oban ⇒ A modul´aris ´es univerz´alis hardverelemekhez szint´en modul´aris ´es univerz´alis programoz´asi nyelvre ´es k¨ornyezetre van sz¨ uks´eg ⇒ LabVIEW
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
4. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
1.3. Magasszint˝ u programoz´ as • Procedur´alis nyelvek (Pascal, C) • Objektum-orient´alt programoz´as (C++, Java) • Grafikus programoz´as - LabVIEW ilyen, a sz¨ oveges programoz´asi nyelvekt˝ ol elt´er˝ o gondolkod´asm´ odot k´ıv´an meg • Adatfolyam programoz´as - LabVIEW-ra jellemz˝o – M˝ uszerekre jellemz˝o adatbeolvas´as - feldolgoz´as - kijelz´es tipikus feladatsor – A nyelv szerkezet´et ´es elemeit ennek az adatfolyamnak a min´el egyszer˝ ubb le´ırhat´os´aga hat´arozta meg – A hagyom´anyos procedur´alis, ill. OO programoz´asi elvek ´es konstrukci´ok nem, vagy csak ´att´etelesen, alkalmazhat´ok M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
5. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
1.4. Magas vagy alacsony szint˝ u programoz´ as? • Trivi´alis v´alasz: ki melyiken tud jobban programozni • Bizonyos esetek alapvet˝oen meghat´arozz´ak melyik c´elravezet˝ obb (pl. mikrokontroller sz˝ uk¨os er˝ oforr´asai, melyik k´odr´eszlet fut leggyakrabban, stb.) • Tendenci´aj´aban a magas szint˝ u programoz´as fel´e mozdult el a szakma Okai: – jobb tesztelhet˝os´eg – bizony´ıtottan nagyobb biztons´ag – min´el magasabb szint˝ u egy nyelv, egy utas´ıt´asa ann´al komplexebb funkci´ot tud ell´atni (k´erd´es: mindig j´ o-e ez nek¨ unk) – valamivel gyorsabb fejleszt´es
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
6. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
2. LabVIEW elind´ıt´ asa • A labVIEW-ban a programokat ’virtu´alis m˝ uszernek’, (’virtual instrument’) VI-nak nevezik • Elind´ıtva a programot a k¨ovetkez˝ o ablak jelenik meg: ¨ • Ugyelj¨ unk arra, hogy az ’Execution Target’ mez˝oben a LabVIEW for Windows legyen. Itt lehet be´all´ıtani mire szeretn´enk implement´alni a m˝ uszert (be´agyazott rendszerre → LabVIEW for Embedded)
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
7. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
2.1. A LabVIEW fel´ ep´ıt´ ese ´ VI l´etrehoz´asa a New. . . megnyom´as´aval lehet, de el˝obb vizsg´aljuk meg • Uj egy egyszer˝ u VI fel´ep´ıt´es´et • Az Open. . .-re kattintva megny´ılik a Choose the VI to open ablak:
• Ebben az ablakban v´alaszthatjuk ki a m´ar elk´esz´ıtett VI-rogramot ⇒ legyen ez egy h˝om´ers´eklet konnvert´al´o ◦C→F
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
8. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
• Megjelenik az el˝olap (Front Panel) ´es m´eg n´eh´any egy´eb ablak • Ctrl+E megnyom´as´aval el˝ougrik a blokkdiagram (Block Diagram) ablak is
• Az el˝olapon m˝ uszer’
a
’virtu´alis
• bemenet=controll, kimenet=indicator • Bemenet ´es kimenet ¨osszehuzalozva → adatfolyam u ´tja=program
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
9. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
2.2.1. Adatfolyam programoz´ as • Minden egyes vez´erl˝ ot˝ol (a bemenetekt˝ ol) a huzalok vagy vonalak ment´en egy-egy adat´ ut alakul ki a megjelen´ıt˝okig (kimenetekig) • A blokkdiagram (program) v´egrehajt´as´at az adatfolyam hat´arozza meg ´ aban balr´ • Altal´ ol jobbra haladva szokt´ak felrajzolni az adatfolyamokat (bal oldalra a bemeneti, jobb oldalra a kimeneti blokkokat), de fontos tudni, hogy a v´egrehajt´ast nem a felrajzol´as ir´anya szabja meg • Egy csom´ opont (node) akkor hajt´odik v´egre, ha az ¨ osszes bemenet´en rendelkez´esre ´allnak az adatok • A csom´ opont a v´egrehajt´as ut´an az ¨osszes kimenet´ere kiadja a megfelel˝o adatot
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
10. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
2.3. Futtat´ as • Az eszk¨ ozsorban a jobbra mutat´ o vastag, u ¨res ny´ılra kattintva ind´ıthatjuk el a VI-t. A ny´ıl ikonja ekkor ´atalakul feket´evel kit¨ olt¨ott szaggatott ny´ıll´a. • Ha a blokkdiagramon az izz´ ol´ampa ikon ki van v´alasztva, az adatok ´araml´as´at mozg´o korongocsk´ak mutatj´ak, ´es az ´ert´ekek megjelennek a huzalokon • A m˝ uk¨od´es meg´ert´es´ehez ´es hibakeres´eshez ez a funkci´o nagyon hasznos.
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
11. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
3. Palett´ ak • A VI-k ´ır´as´ahoz, futtat´as´ahoz, hibakeres´es´ehez, jav´ıt´as´ahoz sz¨ uks´eges eszk¨ oz¨ oket u ´n. palett´akba szervezik A blokkdiagram eszk¨ ozei: Az el˝olap panelhez:
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
12. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
4. VI k´ esz´ıt´ es (program´ır´ as) • ◦C→F p´elda ut´an n´ezz¨ uk meg a F→◦C konvert´al´ot, amit elk´esz´ıt¨ unk • A program elind´ıt´asa ut´an v´alasszuk a New. . . men¨ upontot (Blank VI defaultk´ent j´ o lesz⇒OK) ¨ • Ures el˝olap ´es u ¨res blokkdiagram (Ctrl+E ha nem) megjelenik • Az el˝olap (Front Panel) Window men¨ uj´eb˝ ol v´alasszuk ki a Show Controls Palette, majd a Show Tools Palette pontokat • A blokkdiagram panelen (Block Diagram) a Window / Show Function Palette kiv´alaszt´as´aval jelen´ıts¨ uk meg a Function palett´at is • Ellen˝ orizz¨ uk, hogy a Controls (vagy a Functions) palett´an´al az Advanced k´eszlet van-e kiv´alasztva (eml´ıtett panelek ’Search’ melletti gombja) M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
13. oldal
LabVIEW tutorial
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
VIMIA312
14. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
4.1. El˝ olap • L´etre kell hozni a virtu´alis m˝ uszer el˝olapj´at – van egy vez´erl˝ onk (bemenet: Fahrenheit fok) – van egy megjelen´ıt˝onk (kimenet: Celsius fok) • V´altoz´ ofogalom: hagyom´anyos ´ertelemben k´et v´altoz´ onk van, egyik a Fahrenheit ´ert´eket, m´ıg m´asik a Celsius ´ert´eket tartalmazza. A LabVIEW-ban nem v´altoz´ okkal, hanem adatforr´ assal, megjelen´ıt˝ ovel ´es adatfolyammal dolgozunk. V´altoz´ okkal akkor kell foglalkozni, ha az adatfolyam koncepci´oval nem feloldhat´ o a probl´ema. • A bemenet l´etrehoz´asa: – A Control palett´an click a Numeric alpalett´ara – Click Numeric control ikon – Click a VI el˝olapj´ara (megjelenik az ikon az el˝olapon, ´es jobb eg´errel a tulajdons´agok be´all´ıt´as´ara ny´ılik lehet˝ os´eg) – A blokkkdiagramon is megjelenik a megfelel˝o szimb´olum M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
15. oldal
LabVIEW tutorial
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
VIMIA312
16. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
• A Control (bemenet) mint´aj´ara az Indicator (kimenet) is l´etrehozhat´o – A Control palett´an click a Numeric alpalett´ara – Click Numeric indicator ikon – Click a VI el˝olapj´ara • A semmitmond´ o feliratokat azokra r´akattintva k¨onnyed´en ´atnevezhetj¨ uk • Az el˝olap ´es blokkdiagram a k¨ovetkez˝ ok´eppen n´ez ki:
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
17. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
• Az ´atalak´ıt´ashoz ismerni kell az algoritmust ami: ◦C=(F-32)/1.8 – Sz¨ uks´eg van egy kivon´as m˝ uveletre, – egy oszt´as m˝ uveletre, – ´es k´et konstansra.⇒Functions paletta Numeric alpalett´aja • Az elemket a blokkdiagram ablakba kell lehelyezni
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
18. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
• K¨ovetkez˝ o l´ep´es a blokkdiagram elemeinek ¨osszehuzaloz´asa – A blokkdiagram ablak bal oldal´an l´athat´o t¨ or¨ott ny´ıl jelzi, hogy szintaktikai hiba van (nincs huzaloz´as). R´akattint´assal javaslatot tesz a hib´ak kezel´es´ere. • A Tools palett´ar´ ol a c´erna ikonnal jelzett ’Connect Wire’ huzaloz´ot kiv´alasztva ¨osszek¨othetj¨ uk az egyes blokkokat • Ha megvagyunk futtathatjuk a programot (bal fels˝ o sarokban a ny´ıl megnyom´as´aval) – Az el˝olapon tetsz˝ oleges Fahrenheit ´ert´eket be´ırva futtat´as ut´an megjelenik a Celsius megfelel˝o • Ne feledj¨ uk a ment´est! M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
19. oldal
LabVIEW tutorial
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
VIMIA312
20. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
5. Vez´ erl´ esi szerkezetek • A blokkdiagram panel Structures alpalett´aj´aban tal´alhat´o:
– f or ciklus → ciklussz´aml´al´o i ´es ciklusok sz´ama N – while ciklus → ciklussz´aml´al´o i ´es ciklusfelt´etel • A ciklusba k´ıv´ankoz´ o programr´eszletet (blokkot) k¨orbe kell venni a ciklussal M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
21. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
5.1. For ciklus • Van ciklussz´aml´al´oja (i, Iteration Terminal) • A ciklusok sz´am´at az N bemeneti v´altoz´ o (Count Terminal) ´ert´eke hat´arozza meg • A ciklus 0-t´ol N − 1-ig fut • A piros ny´ıllal jel¨olt k´ek n´egyzetnek az a feladata, hogy ’kivezesse’ az i ciklusv´altoz´ o v´eg´ert´eket a ciklusb´ ol
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
22. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
5.2. While ciklus
• Van ciklussz´aml´al´oja (i, Iteration Terminal) • Legal´abb egyszer lefut • M˝ uk¨od´es´ere felt´etel adhat´ o meg ⇒ itt addig fut, am´ıg a STOP gombot meg nem nyomjuk
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
23. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
5.3. Case strukt´ ura • Stack-szer˝ u megjelen´ıt´es • A keretek egym´as m¨ og´e illeszkednek, ak´ar a k´artyalapok • Helye: Functions / Structures / Case Structure • Egyszerre csak egy ’lap’ l´atszik • A keretre t¨ ort´en˝ o jobbkattint´assal el˝oj¨ on a strukt´ ur´ahoz tartoz´ o leg¨ord¨ ul˝o men¨ u
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
24. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
5.4. Sorrendi (Flat Sequence) strukt´ ur´ ak • Click a Flat Sequenc . . . ikonra, majd vegy¨ uk k¨or¨ ul a blokkdiagramon a szekvenci´alisan v´egrehajtand´o programr´eszt • A blokkokat szekvenci´alisan hajtja v´egre ´ ’filmkocka’ hozz´aad´asa: jobbkattint´as a keretre ´es Add Frame After • Uj vagy . . . Before.
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
25. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
6. Egy´ eb funkci´ ok • Sub VI l´etrehoz´asa: minden VI-b˝ol k´esz´ıthet¨ unk egy olyan egys´eget, amelyet egy m´asik VI-be szubrutinszer˝ uen, egyetlen blokk-k´ent beilleszthet¨ unk • Express VI: ´altal´aban bonyolultabb feladatokat l´at el, ´es dial´ogusablak seg´ıts´eg´evel interakt´ıvan konfigur´alhat´o • Az elt´er˝ o adatt´ıpusokat elt´er˝ o sz´ın jel¨oli – a konverzi´ o t´ıpuskonverzi´ os blokkokkal tehet˝ o meg (ez is a Function palett´an bel¨ ul tal´alhat´o meg) – jobbeg´errel el˝oh´ıvhatjuk pl. egy bemenet (pl. Numeric Control) tulajdons´agait ott megv´altoztathatjuk a t´ıpust (sok m´as mellett)
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
26. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
7. M˝ uszerkezel´ es • A LabVIEW-val b´armely olyan programozhat´o m˝ uszer vez´erelhet˝ o, amelyhez rendelkez´esre ´allnak a driverek • A legt¨ obb esetben m´ar a programhoz el˝ore meg´ırt drivereket haszn´alhatjuk, melyek egy alk¨onyvt´arban hozz´af´erhet˝oek (hasonl´ oan mint pl. egy ’for ciklus’) • A drivereket is egy-egy ikon jel¨oli • Amennyiben nem ´allnak rendelkez´esre el˝ore elk´esz´ıtett driverek, azokat magunk is elk´esz´ıthetj¨ uk C-ben ´es felhaszn´alhatjuk a programban
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
27. oldal
LabVIEW tutorial
Budapesti M˝ uszaki ´es Gazdas´agtudom´anyi Egyetem
7.1. HP4263B driverei
M´er´estechnika ´es Inform´aci´os Rendszerek Tansz´ek
VIMIA312
28. oldal