Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

LabView Academy 4. óra. Ellenőrző kérdések 2 Hogyan lehet letiltani az automatikus hibakezelés funkciót? a)Engedélyezzük az Execution highlighting –ot.

Hasonló előadás


Az előadások a következő témára: "LabView Academy 4. óra. Ellenőrző kérdések 2 Hogyan lehet letiltani az automatikus hibakezelés funkciót? a)Engedélyezzük az Execution highlighting –ot."— Előadás másolata:

1 LabView Academy 4. óra

2 Ellenőrző kérdések 2 Hogyan lehet letiltani az automatikus hibakezelés funkciót? a)Engedélyezzük az Execution highlighting –ot b) A subVI error out cluster-jét bekötjük egy másik subVI error in cluster-jébe c) Az Error list ablakban bejelöljük a Show Warnings jelölőnégyzetet

3 Ellenőrző kérdések 3 Az alábbiak közül melyek az error cluster elemei? a) Status: Boolean b) Error: String c) Code: 32-bit integer d) Source: String

4 String Gyakorlás: Lva.04.strings.docx pelda08_build_string.vi 4

5 Párhuzamosság Két különböző frekvenciájú koszinusz jel, két ciklusban, egy stop gombbal leállítva 5

6 Párhuzamosság Helyes-e a következő elgondolás? 6 Nem!

7 Párhuzamosság Helyes-e a következő elgondolás? (Változók) 7 Igen! pelda05_local_variables.vi

8 Párhuzamosság Adatfolyam architektúra – Az adatfolyam határozza meg a végrehajtási sorrendet – Jól párhuzamosítható Adatátadás a párhuzamos programrészek között – Adatfüggőséget okoz (adatfolyam) – Elveszik a párhuzamosság Változók: blokk diagram elemek, amelyek lehetővé teszik adatok beolvasását, illetve tárolását. 8

9 Változók Lokális változó: Front panel kontrolban/indikátorban tárolja az értéket, csak egy VI-on belül használható Globális változó: Speciális adattárolóban tárol, adatokat így több VI számára elérhető Funkcionális globális:While ciklus inicializálatlan Shift regiszterében tárol értéket Shared: több eszköz és rendszer között hálózati megosztás 9

10 Lokális változók Létrehozása: – Jobb klikk egy kontrol/indikátor terminálon >> Create >> Local variable – Functions paletta Írása/olvasása: – Jobb klikk >> Change to Read/Write 10

11 Globális változók Adatcsere különböző VI-ok között Speciális VI, aminek csak Front panelje van Létrehozása: – Functions paletta – A globális változó Front paneljén elhelyezett egy/több objektum >> összetett változó Írása/olvasása: – Összetett változó esetén az al-változó kiválasztása – Change to Read/Write 11

12 Single-process shared variable Adatcsere különböző VI-ok között Létrehozása: – Project explorer >> My computer, New >> Variable 12

13 Single-process shared variable Adatcsere különböző VI-ok, sőt különböző rendszerek között hálózaton Project Explorer 13

14 A változók túlzott használatának veszélyei A változók nem részei az adatfolyam architektúrának – A blokk diagram nehezen olvashatóvá válik a használatukkal Túlzott használatuk rontja a VI teljesítményét 14

15 Ellenőrző kérdések 15 Mi lesz az értéke? a) Szám=(Szám*5)+2 b) Szám=(Szám*2)+5 c) Szám=Szám*5 d) Szám=Szám+2 e) A kiértékelési sorrend dönt

16 Feladat pelda07_local_variables_order.png Snippet 16

17 Funkcionális globális változók For, vagy While ciklusok inicializálatlan shiftregisztereiben tárolja az adatot – Művelet bemenet (set/get, read/write) – Adat bemenet Bonyolultabb adatstruktúrák (verem, sor) is megvalósíthatók így Fájlok, műszerek, DAQ eszközök hozzáférése is szabályozható ezzel pelda06_functional_global_ variable.zip 17

18 Versenyhelyzet Több párhuzamosan futó program használja ugyanazt a megosztott erőforrást (változót) – Nehéz azonosítani és debuggolni Elkerülése – Megosztott erőforrások korlátozása – Kritikus kódrészek védelme (pl. semaphor, funkc. globális változó) – Végrehajtási sorrend meghatározása 18

19 Controlling Shared Resources 19

20 Megosztott erőforrások Minimalizáljuk a megosztott erőforrások alkalmazását – vagy legalább a megosztott erőforrások használóinak számát – ha sokan olvassák ugyanazt az erőforrást, az áltatában nem probléma – ha sokan írják, az jelent problémát Cél: – Egy írásjog – Jól definiált végrehajtási sorrend 20

21 Változók Inicializálatlan változók az alapértelmezett értéket veszik fel. Ökölszabály: előbb inicializáljuk a változót, utána használjuk. 21

22 Kritikus kódrészlet Definíció: az a kódrészlet, amely közben versenyhelyzet állhat elő Kritikus kód védelme – Funkcionális globális változók: non reentrant subVI, egyszerre csak egy helyről futtatható – Szemaforok 22

23 Szemafor használata a kritikus kódrészlet védelmére Acquire semaphore és Release semaphore közti rész védett 23

24 Ellenőrző kérdések 24 VI-okban érdemes gyakran változókat használni. a) Igaz b) Hamis

25 Ellenőrző kérdések 25 Az alábbiak közül melyek nem alkalmasak adatátvitelre? a) Szemafor b) Funkcionális globális változó c) Lokális változó d) Single-process shared változó

26 Ellenőrző kérdések 26 Az alábbiak közül melyek használhatók kizárólag projektben? a) Lokális változó b) Globális változó c) Funkcionális globális változó d) Single-process shared változó

27 Ellenőrző kérdések 27 Az alábbiak közül melyek nem használhatók különböző VI-ok közti adatátadásra? a) Lokális változó b) Globális változó c) Funkcionális globális változó d) Single-process shared változó

28 Többhurkos tervezési technikák Párhuzamos Több független feladat párhuzamos végrehajtása Kommunikáció a ciklusok között nem egyszerű (változók) 28

29 Többhurkos tervezési technikák Master/Slave Több független ciklus különböző sebességgel Slave ciklus – Különböző frekvenciájú adatgyűjtési feladatok Master ciklus – Felhasználói felület kezelése (inputok a felhasználótól) Túl lassú Slave gondot okozhat 29

30 Többhurkos tervezési technikák Producer/Consumer Továbbfejlesztett adatmegosztás a Master/Slave-hez képest Producer ciklus: Adatot „termel” Consumer ciklus: Adatot „fogyaszt” Kommunikáció egy soron keresztül -> nincs adatvesztés 30

31 Olvasnivaló DBFDE862565BC006CD DBFDE862565BC006CD


Letölteni ppt "LabView Academy 4. óra. Ellenőrző kérdések 2 Hogyan lehet letiltani az automatikus hibakezelés funkciót? a)Engedélyezzük az Execution highlighting –ot."

Hasonló előadás


Google Hirdetések