Advanced LabVIEW Topics Dustin Cruise. Who is this guy? Graduate Student in Mechanical Engineering at Purdue University Specialty Areas: Combustion Control.

Slides:



Advertisements
Similar presentations
Unit 4 - I Said Stop!. Introduction New Topics Timing Parallelism Sequence of Operations New Features NXT terminals New Functions Wait For.
Advertisements

© 2007 Eaton Corporation. All rights reserved. LabVIEW State Machine Architectures Presented By Scott Sirrine Eaton Corporation.
User Events in LabVIEW RT
TP4: S TATE M ACHINE D ESIGN P ATTERN  Definition  Infrastructure  Transition Code  Conclusion.
Room: Rapson Hall 54 Time: 4-5 PM.
Jeff Beltramo NHTI-Concord’s Community College FRC Team 1922.
1. 2 LabVIEW for FRC Doug Norman National Instruments January 6, 2012.
Developing User Interfaces with Event-driven Programming
Loops in LabVIEW (while,for and case)
MotoHawk Training Model-Based Design of Embedded Systems.
Application Design Patterns in LabVIEW™
Introduction to LabVIEW 8.5
FRC LabVIEW Software Overview Joe Hershberger Staff Software Engineer National Instruments.
TE-MPE-TM meeting 09/10/2014, Jaromir Ludwin, IFJ-PAN, Kraków The ELQA LabVIEW Application Framework or how to become a successful test system developer.
Reference: Message Passing Fundamentals.
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.
LabVIEW For BIOEN 201 Fritz Reitz, Ph.D.. Why talk about LabVIEW BIOEN 301 labs use it, so it helps to be a little familiar with what it is it’s a VERY.
A. Frank - P. Weisberg Operating Systems Introduction to Tasks/Threads.
Chapter 3.6 Game Architecture. 2 Overall Architecture The code for modern games is highly complex With code bases exceeding a million lines of code, a.
1 Threads Chapter 4 Reading: 4.1,4.4, Process Characteristics l Unit of resource ownership - process is allocated: n a virtual address space to.
ME 411/511Prof. Sailor Data Acquisition & LabView Lecture goals… –Learn the basics of how to use and modify LabView Virtual Instruments –Become familiar.
Chapter 51 Threads Chapter 5. 2 Process Characteristics  Concept of Process has two facets.  A Process is: A Unit of resource ownership:  a virtual.
Infinity-project.org Engineering education for today’s classroom The Infinity Project SM LabVIEW for The Infinity Project.
Introduction to Basic LabVIEW Design Patterns
Virtual Instrumentation With LabVIEW. Front Panel Controls = Inputs Indicators = Outputs LabVIEW Programs Are Called Virtual Instruments (VIs) Block Diagram.
Real-Time Software Design Yonsei University 2 nd Semester, 2014 Sanghyun Park.
CS 0004 –Lecture 1 Wednesday, Jan 5 th, 2011 Roxana Gheorghiu.
Interfacing Physics Sensors Using National Instruments Educational Laboratory Virtual Instrumentation Suite & LabVIEW by Eric Ethridge Left to right: motion.
RM2D Let’s write our FIRST basic SPIN program!. The Labs that follow in this Module are designed to teach the following; Turn an LED on – assigning I/O.
LabVIEW Workshop September 26, 2009 Hauppauge High School SPBLI - FIRST Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp.
ITEC 502 컴퓨터 시스템 및 실습 Chapter 8-1: I/O Management Mi-Jung Choi DPNM Lab. Dept. of CSE, POSTECH.
Physics 434 Welcome Toby Burnett [prof] Durmus Karatay[TA] Jason Alferness [Equipment] David Pengra [consultant]
Hadoop/MapReduce Computing Paradigm 1 Shirish Agale.
Concurrency: Threads, Address Spaces, and Processes Andy Wang Operating Systems COP 4610 / CGS 5765.
Part I MVRT 2011 – 2012 Season Introduction to LabVIEW.
1. 2 LabVIEW Intro, Basics, Tips, Tricks Doug Norman & Stephanie Brierty National Instruments January 8, 2010.
Lab 6: event & input intro User Interface Lab: GUI Lab Oct. 2 nd, 2013.
1 Web Based Programming Section 8 James King 12 August 2003.
Games Development 2 Concurrent Programming CO3301 Week 9.
Digital Electronics and Computer Interfacing Tim Mewes 4. LabVIEW - Advanced.
Introduction to LabVIEW 8.5
An Overview of LabVIEW by: The Software User-Interface Group!
Renesas Electronics America Inc. © 2012 Renesas Electronics America Inc. All rights reserved. Advanced E 2 Studio Topics.
Slide 1 Project 1 Task 2 T&N3311 PJ1 Information & Communications Technology HD in Telecommunications and Networking Task 2 Briefing The Design of a Computer.
Virtual Instrumentation With LabVIEW. Front Panel Controls = Inputs Indicators = Outputs Block Diagram Accompanying “program” for front panel Components.
Physics 434 Welcome Leslie Rosenberg [prof] Scott Davis [TA] Thanks to Toby Burnett [prof] (for much of the course material) Jason Alferness [Equipment]
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.
LabVIEW.com.tw LabVIEW Community Speeding Up Your VIs 參考 NI 官方教材: LabVIEW Intermediate II for 7.
Digital Electronics and Computer Interfacing Tim Mewes 2. LabVIEW Basics part II.
Design Patterns in NI LabVIEW Developer Days 2009.
Introduction to LabVIEW. Overview Objectives Background Materials Procedure Report/Presentation Closing.
Some of the utilities associated with the development of programs. These program development tools allow users to write and construct programs that the.
Wednesday NI Vision Sessions
Introduction to LabVIEW
Chapter 13 The Function of Operating Systems
Getting Started with LabVIEW Virtual Instruments
LabVIEW Performance Issues David Thomson Droplet Measurement Technologies May 20, 2010 Droplet Measurement Technologies, 2545 Central Avenue, Boulder,
Computer System Overview
Introduction to LabVIEW
Lecture Topics: 11/1 General Operating System Concepts Processes
Introduction to LabVIEW
Threads Chapter 4.
CrawlBuddy The web’s best friend.
Introduction to LabVIEW
Introduction to LabVIEW
Introduction to LabVIEW
Concurrency: Threads, Address Spaces, and Processes
Presentation transcript:

Advanced LabVIEW Topics Dustin Cruise

Who is this guy? Graduate Student in Mechanical Engineering at Purdue University Specialty Areas: Combustion Control Systems I work in a lab burning things and using lasers I use LabVIEW a lot in my research Sensors Actuators Data Acquisition and Analysis Image Capture and Machine Vision

Topics Today Advanced Code Structures – State Machines – Multiple/Parallel Loops Passing Data – Queues – Notifiers – Local Variables Resources

Everything in One Giant Loop Can’t run at different rates. Not all tasks need to be run every loop execution – Some may only run when there is an user input, or hardware trigger Split tasks into multiple loops

Standard Design Patterns for Splitting Tasks State Machines Parallel Loops – Master/Slave – Producer/Consumer – User Interface Event Handler

STATE MACHINES

State Machine Basics “States” are events independent from another – Start, Stop – Start  Drive Fwd  Turn Left  Move Arm  Move Arm  Stop State Machine consists of a While Loop, Case Structure, Shift Register, and Transition Code – Each case defines a “state” of the machine – At end of current state, decide next state to go to; stay or go to different state

State Diagram

State Machine Example Case Structure States Transitions Event driven

PARALLEL LOOPS

Parallel Loops Multiple or Parallel Loops for multiple tasks where timing is important – Each loop has their own bit of processor – One loop can have higher priority for processor over another – Loops can run at different rates Will need to pass data between loops

Master/Slave One as Master, others as slaves. Master controls all the slave loops. Slaves must take less time than Master so data is not lost Good for: – Responding to user interface while also collecting data

Master/Slave Example Data passed with shared variable in this case

Producer / Consumer Separates tasks between: – Tasks producing data – Tasks consuming data Uses queues to pass data Good example of use:

Producer/Consumer Example Data passed with shared variable in this case

Queues, Notifiers, and Variable Queues when wanting all data Notifiers when only most current data – Don’t buffer data, so overwriting is an issue Variables – Local Available to all of VI – Global Available to all Vis – Shared

Diagnosing problems Probes Execution Highlighting PLOT PLOT PLOT PLOT PLOT PLOT – CHARTS ARE THE BEST! – KEY ADVANTAGE OF LABVIEW!

How to learn LabVIEW The secret to learning LabVIEW… is doing LabVIEW. Build a library of examples as you come across them – Most likely, what you’re trying to do has already been done before – Try to explain what each piece of an example VI does. It doesn’t work to just glance over Get familiar with resources

Resources FIRST’s getting started documentation that comes with the control system (available online as well) – Search for FRC LabVIEW NI and lots of things come up. FRCmastery.com NI Examples found in Help menu NI.com Effective LabVIEW Programming, Thomas J. Bress

Examples State machine – Help, State Machine fundamentals Master Slave Producer consumer Queues, Local Variables – Disc 2, Queues vs Local Variables – Help, Simple Queues Notifiers – Help, Simple Notifiers