LabView Academy 4. óra.

Slides:



Advertisements
Hasonló előadás
„Esélyteremtés és értékalakulás” Konferencia Megyeháza Kaposvár, 2009
Advertisements

Hotel Eger Park Konferenciaközpont október
A LabVIEW használata az oktatásban
Weblap szerkesztés HTML oldal felépítése Nyitó tag Záró tag Nyitó tag Záró tag oldalfej tözs.
Felhasználói felületek és üzleti logika Bollobás Dávid ASP.NET
Hotel Eger Park Konferenciaközpont október
1Objektumorientált elemzés és tervezés – Dinamikus modellezés Gyurkó György Objektumorientált elemzés és tervezés Dinamikus modellezés.
Mérés és adatgyűjtés laboratóriumi gyakorlat Virtuális méréstechnika levelező Mingesz Róbert 5. Óra MA-DAQ – Műszer vezérlése November 26.
Cells(sor száma, oszlop száma)
JavaScript.
11. előadás (2005. május 10.) A make segédprogram Alacsony szintű műveletek és bitmezők Fájl, katalógus rendszer hívások 1.
Mikrovezérlők alkalmazástechnikája laboratóriumi gyakorlat Kovács Tamás & Mingesz Róbert 3. óra február 20., 23.
Elektronikai Áramkörök Tervezése és Megvalósítása
Mérés és adatgyűjtés laboratóriumi gyakorlat Karakterisztikák mérése 1 Makan Gergely, Mingesz Róbert, Nagy Tamás V
Virtuális méréstechnika Mérés és adatgyűjtés Mingesz Róbert 4. Óra LabVIEW – Fájl I/O, TCP-IP szeptember 26., verzió.
Mérés és adatgyűjtés Kincses Zoltán, Mingesz Róbert, Vadai Gergely 10. Óra MA-DAQ – Műszer vezérlése November 12., 15. v
Virtuális méréstechnika 12. Óra Karakterisztikák mérése November 21. Mingesz Róbert v
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Virtuális méréstechnika
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Kincses Zoltán, Mingesz Róbert, Vadai Gergely
Mérés és adatgyűjtés laboratóriumi gyakorlat Makan Gergely, Mingesz Róbert, Nagy Tamás 2. óra szeptember 9., 10. v
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
Mérés és adatgyűjtés laboratóriumi gyakorlat levelező 4. Óra Karakterisztikák mérése November 23. Kincses Zoltán, Mellár János v
Programozás II. 3. Gyakorlat C++ alapok.
Virtuális méréstechnika MA-DAQ műszer vezérlése 1 Mingesz Róbert V
Ez a dokumentum az Európai Unió pénzügyi támogatásával valósult meg. A dokumentum tartalmáért teljes mértékben Szegedi Tudományegyetem vállalja a felelősséget,
ALEPH Integrált könyvtári rendszer
Ellenőrző kérdések a)Auto-indexing enabled b)Auto-indexing disabled c)Nem eldönthető 1.
Alapok 2013/2014, őszi szemeszter gyakorlati foglalkozás Automatizálási tanszék.
Pázmány - híres perek Pázmány híres perek.
6. előadás Parametrikus polimorfizmus. Generikus programozás. Az Ada sablonok.
Kliensoldali Programozás
6. Előadás Merevítő rendszerek típusok, szerepük a tervezésben
Darupályák tervezésének alapjai
1 Operációs rendszerek Az NT folyamatok kezelése.
Festményei 2 Michelangelo Buonarroti Zene: Gregorian Amazing Grace N.3
dr. Szalkai István Pannon Egyetem, Veszprém
A LabVIEW használata az oktatásban
Mikrovezérlők, perifériák laboratóriumi gyakorlat 3. óra szeptember 18. Mingesz Róbert v
V 1.0 ÓE-NIK, Programozás I. A Microsoft Visual Studio 2010 használata.
szakmérnök hallgatók számára
Kölcsönös kizárás (bináris és nembináris szemaforok)
Magas szintű hardware szintézis
Összetett adattípusok a Pascal nyelvben
Segédlet vizuális programozáshoz Kovács László
var q = ( from c in dc.Customers where c.City == "London" where c.City == "London" select c).Including( c => c.Orders ); select c).Including(
VARIÁCIÓK ISMÉTLÉS NÉLKÜLI ESET DEFINÍCIÓ
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Visual Basic 2008 Express Edition
Termelő-fogysztó modell. A probléma absztrakt megfogalmazása: informális leírás. Adott egy N elemű közösen használt tároló, N  1. Adott a folyamatoknak.
Határozatlan integrál
Objektum orientált programozás
2. Gyakorlat Zalatnai Csongor
Virtuális Méréstechnika Sub-VI és grafikonok 1 Makan Gergely, Vadai Gergely v
Párhuzamosság, kritikus szakasz, szemaforok Operációs rendszerek.
Mérés és adatgyűjtés laboratóriumi gyakorlat - levelező Sub-VI és grafikonok 1 Mingesz Róbert V
CUDA C/C++ programozás
Webprogramozó tanfolyam
WEBSTAR CSOPORT WC S ADATBÁZIS VERZIÓKÖVETÉSE: LIQUIBASE Marics Tamás június 20.
Mérés és adatgyűjtés laboratóriumi gyakorlat Mérések MA-DAQ műszerrel 1 Makan Gergely, Mingesz Róbert, Nagy Tamás V
Mérés és adatgyűjtés laboratóriumi gyakorlat – levelező NI adatgyűjtők programozása 1 Mingesz Róbert V
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás I. 3. gyakorlat.
Informatikai gyakorlatok 11. évfolyam
Alapok Gyakorlat 2015/16 őszi szemeszter Automatizálási tanszék.
Krizsán Zoltán, iit C# osztályok 2 Adattagok  Osztály hatáskörben definiált változó.  Formája: [attribútum] [módosító] típus azonosító [=kezdő érték][,
Mérés és adatgyűjtés laboratóriumi gyakorlat A LabVIEW alapjai Makan Gergely, Mellár János, Mingesz Róbert
Alkalmazásfejlesztés F#-ban Dunaújvárosi Főiskola Kiss Gyula mérnökinformatikus hallgató Nemzeti Tehetség Program Tehetségútlevél Program „NTP-TÚP ”
Előadás másolata:

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 c) Az Error list ablakban bejelöljük a Show Warnings jelölőnégyzetet

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

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

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

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

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

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 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

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

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

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 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 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é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 pelda07_local_variables_order.png Snippet

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

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

Controlling Shared Resources Race conditions are most common when two tasks have both read and write access to a resource. A resource is any entity that is shared between the processes. Most common resources, such as variables, share data storage. Most race conditions occur only when a resource has multiple writers. Therefore, to avoid race conditions, minimize shared resources and limit the number of writers to the remaining shared resources. In top image, the reader reads whichever was the last value written to the resource. In bottom image, all readers read value A.

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

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 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

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

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

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-process shared változó

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-process shared változó

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

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á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á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ó 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/