Késleltetések a LabVIEW-ban

LabVIEW program írása közben sokszor szükség van arra, hogy bizonyos műveletek végrehajtása közé valamennyi várakozást iktassunk be. Erre a legegyszerűbb módszer az, hogy ha a Flat sequence struktúrát használjuk fel. A következő példában a műszer digitális kimenetén változtatjuk meg a bit-ek állását egy megadott idő után (megjegyzés: mivel nem valós idejű rendszert programozunk, a váltás ideje nem lesz determinisztikus). Az azt követő példában pedig az előlapon lévő LED kijelző-n hozunk létre egy impulzust.

Időzítések Flat Sequence segítségével

Időzítések Flat Sequence segítségével

Előlapi kijelzés időzítése Flat Sequence segítségével

Előlapi kijelzés időzítése Flat Sequence segítségével

A megadott példákkal az a probléma, hogy azok nem követik a LabVIEW adatfolyam programozási elvét (data flow programming), vagyis nem az adatok rendelkezésre állása időzíti a program végrehajtását. A problémát az okozza, hogy a várakozó rutin (mely eléggé „ősi”) nem rendelkezik a szokásos Error In és Error out vezetékekkel, melyekkel könnyen megoldható lenne a sorrendiség biztosítása. Megoldásként használhatjuk az Express Time Delay rutint, mely elsőre elég bumfordinak tűnik, de van ikonnézete is, amikor már egész használható. (Megjegyzés: ms helyett másodpercben kéri a várakozási időt).

Express Time Delay

Express Time Delay

Az Express vi-t felhasználva máris elkészíthetjük az előző példák sequence nélküli verzióját. Az előlapi kijelző elérésénél még azt kell módosítsuk, hogy a lokális változók helyett property node segítségével módosítsuk a kijelző értékét, mely ugyanúgy rendelkezik Error In és Error Out vezetékkel mint a többi sorba fűzhető VI.

Időzítés Express Time Delay segítségével

Időzítés Express Time Delay segítségével

Példa property node-ok használatára

Példa property node-ok használatára

Hozzászóllások