Summer of LabVIEW The Sunny Side of System Design 30th June - 18th July 1
Előadás célja I. Bemutatkozás II. III. IV. Keretrendszerről általánosan Mi az Szemlélet? ( Model) Az Framework és eszközei I. Hívási fa / Üzenetküldés nyelvtana V. Ismétlődő üzenetek problémája I. Lehetséges megoldási mód 2
Bemutatkozás Cavity Eye minőségfelügyeleti rendszer vázlata 3
Bemutatkozás Nyomásmérő Szenzorok Átmérő (Csapos / Csap nélküli) 15 mm, 26 mm Mérési Tartomány: 1 kn, 3 kn, 5 kn, 20 kn standard 0,001 N maximális felbontás Kalibráció: Zero - Offset Kompenzálás Lineáris karakterisztika Alacsony és Magas hőmérsékleten végzett kalibráció (90ºC, 250ºC) 4
Bemutatkozás Mérőrendszerek Basic Box (mérőrendszer) Advanced Box (mérés & vezérlés) Mobile Stand Vezérlő jelek: Átkapcsolási Pont vezérlés Robot / válogató vezérlés Fúvóka nyitása és zárása 5
Bemutatkozás NI Hardware & Software Tartalom NI DAQmx NI 9237 24-bit resolution 4 simultaneously sampled AI 50kS/s Programmable half- and full-bridge completion Smart sensor (TEDS) compatible NI USB 6210/6211 16 analog input (16-bit, 250 ks/s) 4 digital inputs, 4 digital outputs M Series Voltage Measurement Bus-Powered LabVIEW 2012/13 DAQmx LVOOP Design Patterns 6
Bemutatkozás 7
Framework Starter Kit 2015 LabVIEW fejlesztői nap 8
Framework Starter Kit Motiváció: Napjaink meghatározó keretrendszerévé vált (LabVIEW) Kezdő fejlesztő számára nehezen elsajátítható Relatíve komplex példaprogramok Keretrendszer: Általános vázat képez az alkalmazás-fejlesztéshez, ami tovább pontosítható feladat specifikus eljárások hozzáadásával. Tetszőlegesen bővíthető Előre definiált programozási eszközöket tartalmaz (eszközkészlet) 9
Modell és keretrendszer kapcsolata Modell Keretrendszer Framework Személetmód implementálása - - Szemléletmód - Modell implementációja - Bővíthetőség / Skálázás - Eszközkészlet 10
Modell: Multi Process Synchronization Producer Consumer Design Pattern 11
Keretrendszer: QMH / Bővíthetőség Producer Bővíthetőség Consumer 12
Keretrendszer : QMH / Eszközkészlet Eszközkészlet Bővíthetőség 13
Model Theory Szemlélet a modell mögött ni.com
Model: Theory I. Mit nevezünk -nek? Modell szemlélet a számítás tudományban, ahol az az azonos időben végzett számítások alapeleme Magában foglalja: Feldolgozás: - Valamilyen feladatot el kell végezni Tárhely: - Képes tárolni adatokat, emlékezni Kommunikáció: - Egymás közötti kapcsolat Framework és Producer-Consumer mi a hasonlóság? 15
Framework QMH, mint I. II. Address( I, II) 16
Framework QMH, mint Message 17
Model: Theory II. Egy nem. ( System) Az -ök képesek egymással üzenetekkel kommunikálni,amennyiben ismerik egymás címét (Rekurzió) (nincs hierarchia köztük, alá-, fölérendeltség) Egyszerre csak egy üzenetet dolgoz fel. (Modell szerint) (b) Az képes: o Létrehoz további -öket o Üzenetek küldésére / Üzenet vagy Parancs? (a) (c) o Képes meghatározni, hogy mit fog tenni a beérkező üzenettel (állapota van) 18
Model: Theory III. I. Az bármilyen időben, bárhonnan kaphat üzenetet nem rendelkezik arról, hogy kik küldhetnek neki üzenetet: I. II. III. Minden a saját ütemezésének megfelelően küld üzenetet: Start msg. Go msg. Stop msg. 19
Framework - Keretrendszer Eszközkészlet és Bővíthetőség ni.com
Framework: Bővíthetőség és Eszközkészlet Bővíthetőség Eszközkészlet : Adatmodellt Metódusok, függvények Szálakat (Threads) tartalmaz. (a) (b) (c) Message: közötti kommunikáció alapeleme Address: Az üzenet irányát határozza meg. 21
Framework: Kommunikáció topológiája Minden Acto rendelkezik saját címmel közötti üzenetküldés Üzenetet küldeni, csak ismert címre lehet o (Gyerekek címe ismert a Modell szerint) Gráf Topológia A1 Fa Topológia A2 A2 A3 A1 A3 A4 A5 A4 A5 22
Framework: Kommunikáció topológiája Minden Acto rendelkezik saját címmel közötti üzenetküldés Üzenetet küldeni, csak ismert címre lehet o (Gyerekek címe ismert a Modell szerint) Gráf Topológia A1 Fa Topológia A2 A2 A3 A1 A3 A4 A5 A4 A5 Javaslat, nem megszorítás Hívási Fa 23
Framework: Kommunikáció nyelvtana Minden ismeri: szülőjének a címét (születéskor) összes gyerekének a címét (létrehozáskor) saját címét Hívási fa A2 Üzenet küldési irányelvek: közvetlen szülőnek közvetlen gyereknek önmagának A1 A4 A3 A5 24
ni.com Framework Project Template
Framework: Hívási Fa - Példa LabVIEW Create Project Templates Framework AF Project Launcher AF Project Alpha Beta 26
Framework: Osztályok és viszonyok.lvclass és Message.lvclass az ősosztályok AF Project Launcher AF Project Alpha Beta 27
Framework: Kommunikáció nyelvtana Üzenetküldés menete és feltételei: Üzenet tárgya: Message_Name_Msg.lvclass A1 A2 Üzenet tartalma: A2.Message_Name.vi ~ Handler Üzenet feladása: Message_Name.lvclass.Send_Message_Name.vi 28
Framework Ismétlődő üzenetek problémája és kezelése 29
Framework: Ismétlődő üzenetek problémája Üzenet iránya: Alpha Gamma Üzenet neve: HandleAlphaTask AF Project Launcher AF Project Alpha Beta Javaslat, nem megszorítás Gamma 30
Framework: Ismétlődő üzenetek problémája Üzenet iránya: Alpha Gamma Üzenet neve: HandleAlphaTask AF Project Launcher AF Project Alpha Beta Három további üzenetet kell létrehozni. Kódismétlés Gamma 31
Framework: Ismétlődő üzenetek problémája Származási Fa ~ Inheritance Tree HandleAlphaTask Msg.lvclass.Do.vi 32
Framework: Ismétlődő üzenetek problémája HandleAlphaTask Msg.lvclass Do.vi Üzenetosztály.Do.vi felépítése: Ebben a metódusban dől el, hogy a címzett képes-e fogadni az érkező üzenetet vagy sem. _xy Öröklődés szerint: α AF β γ Typecast Error Ezért kell, minden -nek új Üzenetet létrehozni! 33 Gamma
Framework: Ismétlődő üzenetek problémája I. Alpha AF Project Beta Cél: Újrafelhasználható Üzenet létrehozása Egy Message osztályt implementálva, több is képes legyen értelmezni azt. Gamma Invalid Cast Exception 34
Framework: Ismétlődő üzenetek problémája Alpha AF Project II. Beta Cél: Újrafelhasználható Üzenet létrehozása Egy Message osztályt implementálva, több is képes legyen értelmezni azt. Gamma Invalid Cast Exception 35
Framework: Ismétlődő üzenetek problémája Alpha AF Project Beta Cél: Újrafelhasználható Üzenet létrehozása Egy Message osztályt implementálva, több is képes legyen értelmezni azt. III. Gamma Valid TypeCast 36
Framework: Ismétlődő üzenetek problémája Hogyan szüntethetőek meg, az ismétlődő üzenetek, a köztes -öknél? Hogyan lehet egy üzenetet újrafelhasználhatóvá tenni? 37
Framework: Osztályok és viszonyok Abstract Method for Override: Abstact.lvclass-HandleAlphaTask.vi Absztrakt osztály létrehozása, ami biztosítja az üzenet fogadását a nem Cél -ök esetében. A gyermek osztályok a Hívási Fában és az Üzenet Irányának megfelelően implementálják az absztrakt metódust 38
Framework: Ismétlődő üzenetek problémája I. AF Project Abstract Method for Override: AF.lvclass HandleAlphaTask.vi Alpha Beta Gamma Valid TypeCast 39
Framework: Ismétlődő üzenetek problémája AF Project II. Abstract Method for Override: Beta.lvclass HandleAlphaTask.vi Alpha Beta Gamma Valid TypeCast 40
Framework: Ismétlődő üzenetek problémája AF Project Abstract Method for Override: Gamma.lvclass HandleAlphaTask.vi Alpha Beta III. Gamma Valid TypeCast 41
Framework: Ismétlődő üzenetek problémája 42
Köszönöm a figyelmet! Kérdések? 43