Labview academy
This presentation is the property of its rightful owner.
Sponsored Links
1 / 31

LabView Academy PowerPoint PPT Presentation


  • 81 Views
  • Uploaded on
  • Presentation posted in: General

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

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Labview academy

LabViewAcademy

4. óra


Ellen rz k rd sek

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


Ellen rz k rd sek1

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


String

String

  • Gyakorlás: Lva.04.strings.docx

  • pelda08_build_string.vi


P rhuzamoss g

Párhuzamosság

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


P rhuzamoss g1

Párhuzamosság

Helyes-e a következő elgondolás?

Nem!


P rhuzamoss g2

Párhuzamosság

Helyes-e a következő elgondolás? (Változók)

pelda05_local_variables.vi

Igen!


P rhuzamoss g3

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.


V ltoz k

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


Lok lis v ltoz k

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


Glob lis v ltoz k

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


Single process shared variable

Single-process shared variable

  • Adatcsere különböző VI-ok között

  • Létrehozása:

    • Project explorer >> My computer, New >> Variable


Single process shared variable1

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


A v ltoz k t lzott haszn lat nak vesz lyei

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


Ellen rz k rd sek2

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


Feladat

Feladat

  • pelda07_local_variables_order.png

  • Snippet


Funkcion lis glob lis v ltoz k

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


Versenyhelyzet

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


Controlling shared resources

Controlling Shared Resources


Megosztott er forr sok

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


V ltoz k1

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.


Kritikus k dr szlet

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


Szemafor haszn lata a kritikus k dr szlet v delm re

Szemafor használata a kritikus kódrészlet védelmére

Acquiresemaphore és Releasesemaphore közti rész védett


Ellen rz k rd sek3

Ellenőrző kérdések

VI-okban érdemes gyakran változókat használni.

a) Igaz

b) Hamis


Ellen rz k rd sek4

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ó


Ellen rz k rd sek5

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ó


Ellen rz k rd sek6

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ó


T bbhurkos tervez si technik k

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)


T bbhurkos tervez si technik k1

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


T bbhurkos tervez si technik k2

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


Olvasnival

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/


  • Login