Global System For Automated Applications Using Plug In

354 views

Published on

NI Days presentation of how to use LVLIBP to create plug in and embed unknown applications in your executable

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
354
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Global System For Automated Applications Using Plug In

  1. 1. Global System for Automated Applications using Plug-Ins Jarobit Pina Saez
  2. 2. Jarobit Pina Saez User: JPina Forum and Community User: JPina Write to me to: jarobit.pinasaez@draeger.com 2 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  3. 3. WHO ARE DRAEGER? 2010 – Category winner for Process Innovation 2011 – Category winner for Logistics and Operational efficiency 2012 – Overall Winner 2012 – Category winner for Financial management 2012 – Logistics and Operational Efficiency 3 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  4. 4. INDEX 1. Introduction. 2. 1.1 Starting Point. Demonstration. 1.2 Detected Issues. 3. 1.3 Goal. and system data. Database 4. 1.4 Desired Solution. Global System. 5. Test Application Template. 6. Thanks and Resources. 7. Questions. 4 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  5. 5. 1. Introduction: 1.1 Starting Point. o Wh ned ig des test? this Can I change this HW ? Wh ere sou is th e cod rce e? do I How is run th n? ai s t ag te Can I modify t his Param? 5 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013 How long take will upda to te syste the m? What is the SW Rev.?
  6. 6. 1. Introduction: 1.2 Detected Issues. • Different Data Storage Systems: • Non existent data retrieval tool. • Custom Stored Procedures. • Lots of paper based data and chart plotting. • Not fully automated solutions and different test environments. • Steep learning curves for the operators. • No tracking system in the production line (No poka-yoke). 6 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  7. 7. 1. Introduction: 1.3 Goal. • One database and management tool: • One Test Environment: • Unified data retrieval & analysis tool. • Ability to track units in the production lines (Poka-Yoke). 7 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  8. 8. 1. Introduction: 1.4 Proposed Solution. Universal One storage system Server based code Tracking One API User Friendly 8 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  9. 9. 1. Introduction: 1.4 Goal. Could we treat our test/automation applications as “Plug –Ins”? • Software component that adds a specific feature to an existing software application. When an application supports plug-ins, it enables customization. Framework: Initialisation Not OK? OK? Test Execution Finished? 9 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  10. 10. INDEX 1. Introduction. 2. Demonstration 3.Database and system data. 4.Framework. 5.Test Application Template. 6.Thanks and Resources. 7.Questions. 10 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  11. 11. 2. Demonstration: 11 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  12. 12. INDEX 1. Introduction. 2. Demonstration. 3. Database and system data. 3.1 Database. 4.Global System. 3.2 Test Application Data. 5.Test Application Template. 6.Thanks and Resources. 7.Questions. 12 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  13. 13. 3. Database and system data: 3.1 Database Test Report Test Results Test Cases Data The system is based on a well designed and structured database Operator Product Data and Tracking • Characteristics: Device + Sr. Number • A.C.I.D. • Atomicity. • Consistency. Operator/Rights Operations Product Hardware data Test Bench • Isolation. • Durability. Rights TB Status • Data normalisation. TB Family • Maintainable against futureHardware requirements Operator data 13 | 37 Fixture/Product Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013 Fixture
  14. 14. 3. Test Application Data: 3.2 Test Application Data. LVOOP Test parameters: • Test application constants, settings details, instruments O.P… Test Limits: • Test cases maximum and minimum possible value. Hardware data: • Devices’ address, serial numbers, etc. Device under test data: • Part number, serial number, name, etc. 14 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  15. 15. INDEX 1. Introduction. 2. Demonstration. 3. Database and system data. 4. Global System. 4.1 System Overview. 5.Test System Problematic. 4.2 Application Template. 4.3 How to Resources. 6.Thanks and call unknown applications. 4.4 Messaging between contexts. 7.Questions. 15 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  16. 16. 4. Global System: 4.1. System Overview. Custom Menu (Events) Buttons (Events) Additional Info Dynamic Window: (Subpanel) • • • • • • • DUT details. Elapsed Test Time Statistics. YIELD. User interaction. Results display. Test Applications (Plug-Ins). UNKNOWN SYSTEM QDMH QDSM QDSM Parallel process Parallel process Tracking Window: • • Messages from the system Messages from the dynamically loaded application. EDSM 16 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013 Parallel process
  17. 17. 4. Global System: 4.2 System Challenge. !! !! • The not possible to call unknown source codesolution It is Packed Project Libraries provide with the System Executable OK!!! ERROR!!!! Dependencesare Where included Dynamically called With the PPL (Compiled code) the missing dependences? Unknown source code Dynamically called VI in PPL 17 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  18. 18. 4. Global System: 4.3 How to call unknown applications. Problem!! Context 1 Context 2 Generic Application Entry point to customised functions Context 3 LVLIBP Generic Application • How do I build my executable without calling all the test applications Attributes Framework Test Application Solution!! LVLIBP Methods (Dynamic) Test Application Context 3 Context 2 • Plug-in Architecture using PackedInit Instruments • Project Libraries by Michel Lacasse Generic Application Test Application Attributes Methods (Dynamic) •Init Instruments •Run •Close Instr. 18 | 37 e nc ta Ins •Run •Close Instr. Factory pattern Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013 Ch ild Attributes of Methods (Dynamic) •Init Instruments •Run •Close Instr.
  19. 19. 4. Global System: 4.4 Messaging Between Contexts. • Can I use common messaging tools? In st a nc e f Framework o ild Ch Generic Application • Queues are context dependant. LVLIBP • Needed to drive sequences in the applications Generic • Classes are context dependant. Application Class • They contain the test data. • Events are “not” context dependant. • Needed to send messages from the application to the system Context 1 Context 3 • LVLIBPs create their own context • Generic Application So how Class LVLIBP Test can I communicate with my test application Message 19 | 37 ! Test Application Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013 Application Class You wish!!
  20. 20. INDEX 1. Introduction. 2. Demonstration. 3. Database and system data. 4. Global System. 5. Test Application Template. 5.1 Reasons and Objective. 5.Thanks and Resources. 5.2 Concept. 6.Questions. 20 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  21. 21. 5. Test Application Template: 5.1 Reasons and Objective. Reasons: • Provide the other developers with a complete level of abstraction from the framework • Allow other programmers with lower LabVIEW knowledge to deploy their test applications • Provide the other developers with a “Stand Alone” environment. • Avoid time loss programming the “Framework-Test Application” API for each test application. 21 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  22. 22. 5. Test Application Template: 5.1 Reasons and Objective. Objective: To do by developers Provided Framework Process Events Init Instruments Run Application Close Instruments Process queue TEMPLATE 22 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  23. 23. 5. Test Application Template: 5.2 Concept. TEMPLATE Abort button Pressed? Takes the resources to drive the instruments Initialise Instruments Frees the resources to drive the instruments Test Application Idle Keeps the instruments References alive 23 | 37 Check Abort Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013 Close Instruments
  24. 24. INDEX 1. Introduction. 2. Demonstration. 3. Database and system data. 4. Global System. 5. Test Application Template. 6. Thanks and Resources. 7.Questions. 24 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  25. 25. 7. Thanks. Francisco Sáez who introduced me to the engineering. Fabiola de la Cueva for her unconditional support. Michael Lacasse for coming out with the Plug In architecture and his help. Grant Heimbach who helped me to understand how the application builder works. For their support and confidence in me. 25 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  26. 26. 7. Further Information. • Resources: • Advanced Architectures Courses. • QDMH. • APIs for Messaging • Michael Lacasse’s “Plug-in Architecture using Packed Project Libraries.” • Plug-In Architecture using Packed Project Libraries. • Grant Heimbach’s “Under the hood of the application builder.” • Under the hood of the application builder. • LAVAg.org • National Instruments Forum. 26 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  27. 27. INDEX 1. Introduction. 2. Demonstration. 3. Database and system data. 4. Global System. 5. Test Application Template. 6. Thanks and Resources. 7. Questions. 27 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  28. 28. 8. Questions. QUESTIONS Do you want to know more?? •Come to the CSLUG Meeting •4th of December in Newbury 28 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  29. 29. THANK YOU Thank you for your attention 29 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  30. 30. Possible Questions: Dynamic Window Thread. Operator InfoData Name Operator ID Test Bench Product Rights and DUT ID & Sr Number It is basically a Request repetitive sequence: Server Test Bench Data Generic Application Test ClassBench Data Initialise SM Request Operator Data t In duc Pro Request DUT Data Initialise Test Report STATE MACHINE Generic Application Class Close Instruments Exit Parameters & Limits Download Application Test Application Class Show Results Upload Application Data 30 | 37 fo Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013 Initialise Instruments Run Application
  31. 31. Possible Questions Messaging Between Contexts. Context 2 Generic Application LVLIBP Context 1 Context 3 Context 2 Attributes Methods (Static) • Init QUEUE • Enqueue • Dequeue • Close QUEUE e nc ta Ins Methods (Static) •Init QUEUE •Enqueue •Dequeue •Close QUEUE •Generate Event Factory pattern • Generate Event • • 31 | 37 Test Application Attributes •QUEUE Ref •Event Ref Create User Event Register User Event Generic Application Test Application Context 3 Generic Application Framework • • Door to our application Attend to User Event Close User Event Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013 LVLIBP Test Application Ch ild of Attributes • QUEUE Ref • Event Ref Methods (Static) •Init QUEUE •Enqueue •Dequeue •Close QUEUE •Generate Event Methods (Static) •QDSM
  32. 32. Possible Questions: Messaging Between Contexts. • Classes: Context 2 Generic Application Context 3 LVLIBP are context dependant. Generic Test Application Framework class is different in Application • Same 2 different applications. LVLIBP Attributes Test Application GenericParameters, limits, product information, test bench Application • Methods Attributes Attributes information. Methods Methods • Data collected in the framework. Instance •Instance is application dependant. Data • Data is used and modified by the test applications. Context Classes • 1 Class To Cluster (Method) Different Classes Cluster To Variant 32 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013 Cluster To Class (Method) Variant To Cluster
  33. 33. 4. Global System: 4.3 How to call unknown applications. Problem!! Generic App LVLIBP • How do I build my executable without calling all the test applications ? Generic Application Class • Plug-in Architecture using Packed Project Libraries by Michel Lacasse Test App LVLIBP Framework Test Generic Application Class 33 | 37 In st Generic App LVLIBP an ce s In clu s ld de hi cl u /C In nt re Pa de s Solution!! Factory Pattern Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013 Generic App LVLIBP Test Application Class

×