Programming in LabVIEW - Indiana FIRST · PDF fileProgramming in LabVIEW Alan Anderson ......

Post on 06-Mar-2018

227 views 6 download

Transcript of Programming in LabVIEW - Indiana FIRST · PDF fileProgramming in LabVIEW Alan Anderson ......

Programming in LabVIEW

Alan AndersonSoftware Mentor

TechnoKats Robotics Team(FRC #45)

alan.anderson@technokats.org

Programming in LabVIEW

What is LabVIEW?

How does it work?

How is it used for FRC?

What is LabVIEW?

Laboratory Virtual Instrument Engineering Workbench

Designed for instrument/machine control

Virtual emulates Physical

Dataflow programming

Graphical Language

What is LabVIEW?

Dataflow programming

Execution occurs when data is ready

Not “procedural” like Java or C++

Inherently parallel

What is LabVIEW?

Graphical language

Icons and connectors

No underlying text representation

Not a GUI on top of another languageRobotC

EasyC

How does LabVIEW work?

Virtual Instruments (VIs)

Terminals

Nodes

Wires

Structures

Variables

SubVIs

How does LabVIEW work?

Virtual Instruments (VIs)

Front panel (user interface)

Block diagram (code)

Icon and connector (API)

How does LabVIEW work?

Terminals

controls

indicators

(local variables)

How does LabVIEW work?

Nodes

statements

functions

procedures

(SubVIs)

How does LabVIEW work?

Wires

one source, arbitrary destinations

data typesnumeric

boolean

string

arrays

clusters

How does LabVIEW work?

Structures

For Loop

While Loop

Case block

Sequence

How does LabVIEW work?

Variables

local variables

global variables

(registry)

How does LabVIEW work?

SubVIs

Front panel becomes inputs and outputs

Block diagram determines behavior

Icon and connector pane defines external use

How does LabVIEW work?

Programming

menus

palettes

wiring

help

How is LabVIEW used for FRC?

Installation

WPIlib

LabVIEW RealTime

FRC cRIO Robot Project template

FRC Dashboard Project template

Example Projects

How is LabVIEW used for FRC?

Installation

DVD #1 of 2

~2 hours

Use Internet for activation

How is LabVIEW used for FRC?

WPIlib

Servos & PWMs

Relays & Solenoids

Digital I/O

Analog input

I2C communication

Abstracted stuff

How is LabVIEW used for FRC?

Abstracted stuff

Motor speed control

Multimotor drive control

Air compressor

Counters

Quadrature encoders

Accelerometers

Yaw Rate “gyro” sensors

How is LabVIEW used for FRC?

LabVIEW RealTime

Interactive execute: “run”

Compile to exe: “build”

Target cRIO: “deploy”

How is LabVIEW used for FRC?

Predefined Templates

FRC cRIO Robot ProjectRobot Framework

Experiment Framework

FRC Dashboard Project (targets PC)

Example ProjectsReading sensors

Controlling actuators

Programming in LabVIEW

?

Programming in LabVIEW

!

Programming in LabVIEW

Alan AndersonSoftware Mentor

TechnoKats Robotics Team(FRC #45)

alan.anderson@technokats.org