1 / 31

LabView Academy

LabView Academy. 4. óra. Ellenőrző kérdések. Hogyan lehet letiltani az automatikus hibakezelés funkciót ? 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

tirzah
Télécharger la présentation

LabView Academy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. LabViewAcademy 4. óra

  2. Ellenőrző kérdések Hogyan lehet letiltani az automatikus hibakezelés funkciót? Engedélyezzükaz Execution highlighting –ot b) A subVIerror out cluster-jét bekötjük egy másik subVIerrorincluster-jébe c) Az Errorlist ablakban bejelöljük a Show Warningsjelölőnégyzetet

  3. Ellenőrző kérdések Az alábbiak közül melyek az errorcluster 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

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

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

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

  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.

  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:Whileciklus inicializálatlan Shift regiszterében tárol értéket • Shared: több eszköz és rendszer között hálózati megosztás

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

  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: • Functionspaletta • 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 • Changeto Read/Write

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

  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

  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

  15. Ellenőrző kérdések 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

  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 • Bonyolultabbadatstruktú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

  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ásisorrend meghatározása

  19. Controlling Shared Resources

  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 nemprobléma • ha sokan írják, az jelent problémát • Cél: • Egy írásjog • Jól definiált végrehajtási sorrend

  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.

  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 reentrantsubVI, egyszerre csak egy helyről futtatható • Szemaforok

  23. Szemafor használata a kritikus kódrészlet védelmére Acquiresemaphore és Releasesemaphore közti rész védett

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

  25. Ellenőrző kérdések 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-processshared változó

  26. Ellenőrző kérdések 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-processshared változó

  27. Ellenőrző kérdések Az alábbiak közül melyek nem használhatók különböző VI-okközti adatátadásra? a) Lokális változó b) Globális változó c) Funkcionális globális változó d) Single-processshared 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)

  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

  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

  31. Olvasnivaló • http://www.ni.com/white-paper/7585/en/ • http://labviewwiki.org/Race_condition • http://www.ni.com/white-paper/4679/en/ • http://digital.ni.com/public.nsf/allkb/A1BA7477550DBFDE862565BC006CD410 • http://www.ni.com/white-paper/6099/en/

More Related