Global System For Automated Applications Using Plug In
Upcoming SlideShare
Loading in...5
×
 

Global System For Automated Applications Using Plug In

on

  • 107 views

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

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

Statistics

Views

Total Views
107
Views on SlideShare
107
Embed Views
0

Actions

Likes
0
Downloads
0
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Global System For Automated Applications Using Plug In Global System For Automated Applications Using Plug In Presentation Transcript

  • Global System for Automated Applications using Plug-Ins Jarobit Pina Saez
  • 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
  • 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 View slide
  • 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 View slide
  • 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.?
  • 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
  • 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
  • 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
  • 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
  • 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
  • 2. Demonstration: 11 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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.
  • 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!!
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • 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
  • THANK YOU Thank you for your attention 29 | 37 Global System for Automated Applications using Plug-Ins | Jarobit Pina Saez | 20/11/2013
  • 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
  • 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
  • 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
  • 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