labview workshop n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
LabVIEW Workshop PowerPoint Presentation
Download Presentation
LabVIEW Workshop

Loading in 2 Seconds...

play fullscreen
1 / 34

LabVIEW Workshop - PowerPoint PPT Presentation


  • 182 Views
  • Uploaded on

LabVIEW Workshop . September 26, 2009 Hauppauge High School SPBLI - FIRST. Mark McLeod Advisor Hauppauge Team 358 Northrop Grumman Corp. Mark.McLeod@ngc.com. Agenda. How to Begin LabVIEW Basics FRC Palette How to Do Standard Operations

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

LabVIEW Workshop


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
labview workshop

LabVIEW Workshop

September 26, 2009

Hauppauge High School

SPBLI - FIRST

Mark McLeod

Advisor

Hauppauge Team 358

Northrop Grumman Corp.

Mark.McLeod@ngc.com

agenda
Agenda
  • How to Begin
  • LabVIEW Basics
  • FRC Palette
  • How to Do Standard Operations

Note: These slides approximate the material covered at a hands-on workshop where this work was all done in a live LabVIEW session.

how to begin
How to Begin
  • Start LabVIEW
  • New -> FRC cRIO Robot Project
    • Name your project
    • Set your cRIO IP address (10.xx.yy.02)
    • Choose “Basic Framework” or “Advanced Framework”

or

  • Open -> Browse (Existing Project)
default frameworks
Default Frameworks
  • Basic Framework
    • Basic Robot Main.vi
        • Drive loop
        • Camera loop
        • Periodic loop
    • Autonomous Independent.vi
    • Robot Global Data.vi
  • Advanced Framework
    • Team Code
      • Begin.vi
      • Teleop.vi
      • Vision Processing.vi
      • Autonomous Iterative.vi or Autonomous Independent.vi
      • Periodic Tasks.vi
      • Robot Global Data.vi
labview basics
LabVIEW Basics
  • Project Explorer
    • My Computer
    • RT CompactRIO Target
  • What’s Important Here
    • RT CompactRIO Target
    • Build Specifications
    • Basic Robot Main.vi
    • Autonomous Independent.vi

Basic Framework

rt compactrio target
RT CompactRIO Target
  • Right click –> “Properties”
    • General – IP Address 10.xx.yy.02

Only need this if IP address wasn’t set correctly when the project was created

build specifications
Build Specifications
  • Right click on a spec. for “Properties”
    • Source Files
      • Startup VIs: Basic Robot Main.vi
  • “Run as Startup”
    • Must reboot to take affect

Use to download your program to the robot

temporary debug run
Temporary Debug - Run
  • Run - Used to test & debug
    • must be done from RobotMain.vi
    • Temporarily executes your code - Gone after a reboot
    • Stop or disconnect halts robot
    • Can disable Downloaded code, so test reboot
edit a program
Edit a Program
  • Double click on “Basic Robot Main.vi”

This is the “Front Panel”

  • Click on Window -> “Show Block Diagram”

The Block Diagram is where you do most of your programming

front panel block diagram
Front Panel/Block Diagram

Front Panel

Block Diagram

create your own vis
Create Your Own VIs
  • From existing code
    • Highlight code
    • Edit -> CreateSubVI
  • From scratch (File -< New VI)
  • Extras
    • Change Icon
    • Add terminals (from Front Panel)
palettes
Palettes
  • Different Palettes for Front Panel vs Block
  • Right click in Block Diagram window
  • What’s Important
    • Programming (structures & basic operations)
    • WPI Robotics Library (all robot stuff)
    • FIRST Vision (camera)
  • Help -> Show Context Help
    • Detailed Help
functions palette
Functions Palette

Block Diagram Palette

frc palette overview
WPILib

Robot Drive

Sensors

Actuators

I/O

Driver Station

Camera

Communications

Utilities

FIRST Vision

Image Management

Intensity Measurement

Particle Analysis

Image Enhancement

Image Conversion

Display Interaction

FRC Palette Overview
basic functional structure
Basic Functional Structure
  • Open
  • Operate: Start/Get/Set, etc.
  • Close
mouse over
Mouse Over

Put cursor over vi icon

To see inputs & outputs

Use Context Help

(Help -> Show Context Help)

naming each I/O

In Context Help click on

“Detailed help”

for detailed explanation of each I/O

wiring
Wiring
  • Right-click vi icon in Block Diagram to get menu
  • “Create”
    • Constant (inputs, e.g., use to select PWM)
    • Control (inputs used for debugging)
    • Indicator (outputs used for debugging)
  • “Cluster, Class & Variant Palette”
    • Unbundle by Name (e.g., get at joystick buttons)
standard functions
Standard Functions
  • Compressor
  • Single
  • Solenoid control
  • Double Solenoid control
  • Relay
drives
Drives
  • Teleop Tank Drive
  • (2-joystick)
  • Teleop Arcade Drive
  • (1-joystick)
more motors
More Motors
  • Single Motor
  • Servo control
motor control
Motor Control
  • Limit Acceleration
  • (both speeding up & slowing down)
  • Can be annoying to drivers

SPECIAL CONCEPT: Coerce vi- restrict value +/-

  • Limit Switch
  • (one-way)
more control samples
More Control Samples
  • Joystick Curve
  • (simple cubed)
miscellaneous
Miscellaneous
  • Driver Station Custom Inputs
  • Digital Input (e.g., limit switch)
  • Analog Input (e.g., potentiometer)
button control
Button Control
  • Button Direct:
  • Action occurs continuously while button is held
  • 2 Button system:
  • 1st button = ON
  • 2nd button = OFF
toggle button
Toggle Button

SPECIAL CONCEPT: Feedback Node

  • Button Action once on Push
timed sequence
Timed Sequence
  • Button Timed Operation
  • 2 methods

SPECIAL CONCEPT:

Sequence Structure

sensors
Sensors
  • Encoder
  • Requires extra step converting Digital Input to a Digital Source
  • Gyroscope
autonomous
Autonomous

LabVIEW Kills Autonomous Independent.vi at the end of autonomous mode

SPECIAL CONCEPT: Matched Device Open/Close

default autonomous
Default Autonomous

Requires the motors & watchdog to be opened elsewhere

SPECIAL CONCEPT: Global Variables

global variables
Global Variables
  • Use to open devices in one vi and use in other places
    • Primary example is using your drive motors in both Autonomous & TeleOp
  • Devices anything you Open including:
    • Joysticks
    • Motors
    • Relays
    • Solenoids
    • Digital & Analog inputs
basic framework global variables
Basic FrameworkGlobal Variables

Open devices in one place and pass them around to other vi’s using Globals

    • Start with an “Open”
    • Double-click “Open”
    • Copy Device Reference
    • Paste into “Basic Robot Global.vi”
    • From the Project Explorer window drag “Basic Robot Global.vi” onto the Block Diagram window next to the “Open” & Select the new Device Reference in the icon you get. (You can also copy/paste an existing icon.
    • Wire the “Open” Device output to the icon for “Basic Robot Global.vi”
  • How to create a new Global vi
    • Project Explorer->New…->Global Variable
advanced framework global variables
Advanced Framework Global Variables
  • Add Open’s to Begin.vi
  • Double-click Open & Copy Device Ref
  • Open “RobotData.ctl”
  • Right-click “RobotData” & Open Type Def
  • Paste new Device Ref & drag into RobotData
  • Wire Open to feed new typedef Bundle
further training
Further Training
  • Examples on LabVIEW startup screen
  • NI FIRST forum: http://decibel.ni.com/content/community/first
  • Video Tutorials
    • http://decibel.ni.com/content/docs/DOC-2511
    • http://labviewzone.blip.tv
    • http://www.lvmastery.com/tipjar2008-12-12
    • http://first.wpi.edu/FRC/contro876.html
slide34
Presentation slides at:

Team358.org under Workshops

  • Questions/Help email is the best way to reach me

Mark.McLeod@ngc.com