LabVIEW.com.tw LabVIEW Community Speeding Up Your VIs 參考 NI 官方教材: LabVIEW Intermediate II for 7.

Slides:



Advertisements
Similar presentations
Previously… We created a simulated temperature reader which alerts if too hot or too cold… Download the solved practice to keep in sync: Thermostat.vi.
Advertisements

© 2007 Eaton Corporation. All rights reserved. LabVIEW State Machine Architectures Presented By Scott Sirrine Eaton Corporation.
LabVIEW is a graphical programming development environment for data acquisition and control, data analysis, and data presentation. With LabVIEW you can.
Based on LabVIEW 2011 Student Edition
TP4: S TATE M ACHINE D ESIGN P ATTERN  Definition  Infrastructure  Transition Code  Conclusion.
Room: Rapson Hall 54 Time: 4-5 PM.
CS492B Analysis of Concurrent Programs Lock Basics Jaehyuk Huh Computer Science, KAIST.
Jeff Beltramo NHTI-Concord’s Community College FRC Team 1922.
1. 2 LabVIEW for FRC Doug Norman National Instruments January 6, 2012.
Course contents 1.Labview basics – virtual instruments, data flow, palettes 2.Structures – for, while, case,... – editing techniques 3.Controls&Indicators.
Higher Computing: Unit 1: Topic 3 – Computer Performance St Andrew’s High School, Computing Department Higher Computing Topic 3 Computer Performance.
Algorithms Today we will look at: what we mean by efficiency in programs why efficiency matters what causes programs to be inefficient? will one algorithm.
Developing User Interfaces with Event-driven Programming
Introduction to LabVIEW
Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.
Virtual Instrumentation With LabVIEW. Course Goals Understand the components of a Virtual Instrument Introduce LabVIEW and common LabVIEW functions Build.
National Instruments Confidential. 2 LabVIEW Development Tips and Tricks Revealed Carl Ljungholm - LabVIEW Product Support Engineer Travis Hailey - LabVIEW.
Department of Electrical and Computer Engineering Texas A&M University College Station, TX Abstract 4-Level Elevator Controller Lessons Learned.
Chapter 12 Pipelining Strategies Performance Hazards.
A Brief Overview of LabVIEW Data Acquisition (DAQ)
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
Introduction to LabVIEW Seth Price Department of Chemical Engineering New Mexico Tech Rev. 10/5/14.
Results The following results are for a specific DUT device called Single Ring Micro Resonator: Figure 6 – PDL against Wavelength Plot Figure 7 – T max.
Virtual Instrumentation With LabVIEW
Course contents 1.Labview basics – virtual instruments, data flow, palettes 2.Structures – for, while, case,... – editing techniques 3.Controls&Indicators.
Digital Graphics and Computers. Hardware and Software Working with graphic images requires suitable hardware and software to produce the best results.
Lecture 13LabVIEW and GPIB LabVIEW (National Instruments) –Graphical program language –Widely used in academia (lab) and industry (R&D) General Purpose.
Infinity-project.org Engineering education for today’s classroom The Infinity Project SM LabVIEW for The Infinity Project.
How to use LabVIEW Ihor Korolov February 2011.
Virtual Instrumentation With LabVIEW. Course Goals Understand the components of a Virtual Instrument Introduce LabVIEW and common LabVIEW functions Build.
V1: HMFR, V2: MFNB, 2007 LabView Seminar University of Puerto Rico Mayagüez Campus.
Course contents 1.Labview basics – virtual instruments, data flow, palettes 2.Structures – for, while, case,... – editing techniques 3.Controls&Indicators.
ME 392 ME January 2012 Week 3 Joseph Vignola.
Virtual Instrumentation With LabVIEW. Course Goals Understand the components of a Virtual Instrument Introduce LabVIEW and common LabVIEW functions Create.
Virtual Instrumentation With LabVIEW. Front Panel Controls = Inputs Indicators = Outputs LabVIEW Programs Are Called Virtual Instruments (VIs) Block Diagram.
LabVIEW an Introduction
Introduction to LabVIEW
Each VI has 2 Windows Front Panel User Interface (UI) –Controls = Inputs –Indicators = Outputs Block Diagram Graphical Code –Data travels on wires from.
Design of Bio-Medical Virtual Instrumentation Tutorial 3.
Data Acquisition Data acquisition (DAQ) basics Connecting Signals Simple DAQ application Computer DAQ Device Terminal Block Cable Sensors.
Types of Computers Mainframe/Server Two Dual-Core Intel ® Xeon ® Processors 5140 Multi user access Large amount of RAM ( 48GB) and Backing Storage Desktop.
LabVIEW in 3 Hours. What is Test & Measurement? Keypad Functionality Keypad Functionality LCD Testing LCD Testing Sound Quality Sound Quality Acoustic.
LabView instrumentoinnissa, 55492, 3op Labview in instrumentation Lecturer: Heikki Ojala, room C204a
LabVIEW – 2 Windows ► Front Panel- User Interface ► Block Diagram- Programming View.
Samuel Alberg Thrysøe, PhD, PostDoc, Kontakt info: Tlf:
1. 2 LabVIEW Intro, Basics, Tips, Tricks Doug Norman & Stephanie Brierty National Instruments January 8, 2010.
Chapter 25: Code-Tuning Strategies. Chapter 25  Code tuning is one way of improving a program’s performance, You can often find other ways to improve.
1 Web Based Programming Section 8 James King 12 August 2003.
Digital Electronics and Computer Interfacing Tim Mewes 4. LabVIEW - Advanced.
Lab 1 : Introduction to LabView 1 Southern Methodist University Bryan Rodriguez.
Inside LabVIEW Steve Rogers LabVIEW Software Engineer Wed, 10:15a, 12:45p, and 3:30p Mulberry (10B) Steve Rogers LabVIEW Software Engineer.
Virtual Instrumentation With LabVIEW. Front Panel Controls = Inputs Indicators = Outputs Block Diagram Accompanying “program” for front panel Components.
Advanced LabVIEW Topics Dustin Cruise. Who is this guy? Graduate Student in Mechanical Engineering at Purdue University Specialty Areas: Combustion Control.
LabVIEW Basics Dustin Cruise. Who is this guy? Graduate Student in Mechanical Engineering at Purdue University Specialty Areas: Combustion Control Systems.
Workshop 2 of 4 Welcome!. Survey While You Wait ni.com/duke >> Recent Documents >> LabVIEW Workshop Participation Survey.
2005MEE Software Engineering Lecture 7 –Stacks, Queues.
EPICS and LabVIEW Tony Vento, National Instruments
Digital Electronics and Computer Interfacing Tim Mewes 2. LabVIEW Basics part II.
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
NI LabVIEW TM Laboratory Virtual Instrument Engineering Workbench.
Wednesday NI Vision Sessions
EE 200 Design Tools Laboratory 14
EET 2259 Unit 5 Loops Read Bishop, Sections 5.1 and 5.2.
“Optimize Your VI Performance”
Lesson 2: Introduction to Control programming using Labview
EET 2259 Unit 5 Loops Read Bishop, Sections 5.1 and 5.2.
LabVIEW基礎課程(一) 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
Chapter 3: Processes Process Concept Process Scheduling
EET 2259 Unit 5 Loops Read Bishop, Sections 5.1 and 5.2.
EET 2259 Unit 8 Other Structures; Local Variables
Presentation transcript:

LabVIEW.com.tw LabVIEW Community Speeding Up Your VIs 參考 NI 官方教材: LabVIEW Intermediate II for 7

LabVIEW.com.tw LabVIEW Community Speeding Up Your VIs Reduce I/O overhead GPIB Data Acquisition File I/O Networking Reduce screen updates Use efficient indicators (graphs and charts) Eliminate unnecessary controls/indicators Improve memory use –Use efficient array functions –Carefully manipulate strings and arrays –Avoid unnecessarily complex data structures

LabVIEW.com.tw LabVIEW Community Reduce Number of I/O Operations File I/O, GPIB, DAQ, Networking VIs I/O VIs take much more time than computational operation Minimize the number of I/O calls –Transfer a lot of data in each call –Use multiple-point DAQ VIs instead of single-point VIs Slow Method (many I/O calls) Fast Method (One I/O call)

LabVIEW.com.tw LabVIEW Community Reduce Opening and Closing of Resources Slow Method Fast Method Use low-level VIs to reduce the number of times a resource is opened and closed. In Slow Method, the file is opened and closed 100 times. In Fast Method, the file is opened and closed only once.

LabVIEW.com.tw LabVIEW Community Reduce Screen Display Updates Updating front panel objects can be time consuming Use efficient controls and indicators Graphs and charts redraw when they receive new data and therefore affect execution speed Minimize display overhead by designing subVI’s with front panels closed during execution Use multiple-update plotting methods –Minimizes the number of chart updates –Get highest data display rates

LabVIEW.com.tw LabVIEW Community Screen Display Example Slow Method (updates chart 1 point at a time) Fast Method (updates chart 100 points at a time)

LabVIEW.com.tw LabVIEW Community Reduce SubVI Overhead Each subVI call involves certain overhead (tens of µs); not significant, but this can add up if the subVI is placed inside a looping structure. Do not display the front panels of subVIs called in a loop running at high speed. If possible, place the looping structure inside the subVI instead.

LabVIEW.com.tw LabVIEW Community Reduce Unnecessary Computation in Loops Avoid putting calculation in loops that produce same value each iteration Avoid unnecessarily accessing global variables in loops

LabVIEW.com.tw LabVIEW Community Global and Local Variables Each read of a variable creates a new data buffer for the data Can add up significantly if using large arrays, strings or complex data structures Using a wire is always more efficient, both in memory and execution time

LabVIEW.com.tw LabVIEW Community Property Nodes and Control References Runs in the user interface thread Using a property node or control reference results in a thread swap which causes a loss in efficiency Do not use a property node or a control reference only to update the value of a control If changing other properties, adding a value update does not cause a further loss since thread swap is already occurring

LabVIEW.com.tw LabVIEW Community Updating the Value of a Front Panel Object GoodBetterBest

LabVIEW.com.tw LabVIEW Community Updating the Value of a Front Panel Object Bad Good

LabVIEW.com.tw LabVIEW Community Create Efficient Parallel Diagrams LabVIEW periodically switches between parallel loops Use the Wait (ms) function - this ensures that less important loops use less processor time A wait of 0 will also free the processor for other tasks!