intro to labview for frc · intro to labview for frc team 1912. outline the frc control system...

12
Intro to LabView for FRC Intro to LabView for FRC Team 1912 Team 1912

Upload: others

Post on 15-Aug-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

Intro to LabView for FRCIntro to LabView for FRC

Team 1912Team 1912

Page 2: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

OutlineOutline

� The FRC Control System OverviewThe FRC Control System Overview� ComponentsComponents� Data flowData flow� Software/FirmwareSoftware/Firmware� Software FrameworkSoftware Framework

� LabView Programming ModelLabView Programming Model� Virtual InstrumentsVirtual Instruments� Front PanelFront Panel� Block DiagramBlock Diagram� Sub-vi’sSub-vi’s� Wiring sub-vi’sWiring sub-vi’s� Development Environment - Project organizationDevelopment Environment - Project organization

Page 3: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

FRC ControlsFRC Controls

cRIO

Digital

Module

Analog

Module

Solenoid

ModuleCamera

Wireless

Bridge

Wireless

Router

ClassmateCypress

I/O Module

Host Laptop

USB

Bridge

Joy

Stick

Joy

Stick

E-stopUSB Cable

Ethernet Cable

cRio Internal

Replaced by

Field Management

System (FMS) at

Competition

Optional Tether

Buttons,

Lights,

etc

PSOC Firmware Driver Station/Control Panel

LabView 8.6.1

Development Environment

& CRIO Imaging Tool

Robot Control

Program

Page 4: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

LabView ModelLabView Model

Page 5: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

Outline (Continued)Outline (Continued)

� LabView Data Types (Wires)LabView Data Types (Wires)� Binary representations of numbers(bits)Binary representations of numbers(bits)� Integers (8,16,32 bit)Integers (8,16,32 bit)

• Signed or UnsignedSigned or Unsigned

� Floating Point (single, double)Floating Point (single, double)� BooleanBoolean� Character StringsCharacter Strings� ArraysArrays� Clusters (bundles)Clusters (bundles)

Page 6: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

Binary NumberBinary Number

0 0 0 1 0 0 1 0

Byte

Bit

MSB LSB

128 64 32 16 8 4 2 1

00001001bin = 9dec

00100011bin = 67dec

Examples

Unsigned integer

0 0 0 1 0 0 1 0

Byte

Bit

LSB

Sign 64 32 16 8 4 2 1

Bit

=1 Negative

=0 Positive00001001bin = 9dec

11111000bin = -8dec

Examples

Signed integer

Two’s complement – if neg, complement all bits and add 1

Range 0 to 255

Range -128 to 127

Page 7: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

Floating PointFloating Point

Example: -1.234 x 1018

Significand (mantissa)

ExponentSign

Number of Bits Sign Significant Exponent

Single (32 bit) 1 23 8

Double (64 bit) 1 52 11

Boolean1 = True

0 = False

Page 8: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

Character StringsCharacter Strings

� A text character is usually assigned an 8 A text character is usually assigned an 8

bit code – ASCIIbit code – ASCII� Example – A = 65 ,=44 a=97Example – A = 65 ,=44 a=97

� Character strings are a string of 8 bit Character strings are a string of 8 bit

characters followed by the code 0 (null)characters followed by the code 0 (null)� Called null terminated stringCalled null terminated string

Page 9: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

ArrayArray

� A string of variables of the same type can be A string of variables of the same type can be given the same name and then referenced by given the same name and then referenced by one or more indexesone or more indexes� Example a[n]= 1 3 5 2 a[1]=1Example a[n]= 1 3 5 2 a[1]=1� Example b[n,m]= 8 4 2 3 b[2,1]=7Example b[n,m]= 8 4 2 3 b[2,1]=7

7 3 5 17 3 5 1

Arrays of numbers show up as thicker wires in LabView Arrays of numbers show up as thicker wires in LabView block diagramblock diagram

Sub-vi’s to extract or insert individual elements or Sub-vi’s to extract or insert individual elements or subarrayssubarrays

Page 10: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

ClustersClusters

� Variables of different types can be bundled Variables of different types can be bundled

together into a clustertogether into a cluster� Analogous to bundling stereo wiresAnalogous to bundling stereo wires

� Then the whole cluster can be moved as a Then the whole cluster can be moved as a

single “wire”single “wire”

� Type definitions (typedef) defines the Type definitions (typedef) defines the

order of data types and a name for each order of data types and a name for each

element within a clusterelement within a cluster

Page 11: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

Outline (Continued)Outline (Continued)

� Creating data valuesCreating data values� Front Panel ControlsFront Panel Controls

� Block Diagram ConstantsBlock Diagram Constants

� Outputs from Sub-vi’sOutputs from Sub-vi’s

� Global variablesGlobal variables

� Registry variablesRegistry variables

� Outputting data valuesOutputting data values� Front panel indicatorsFront panel indicators

� Input to Sub-vi’s (transfer to external hardware)Input to Sub-vi’s (transfer to external hardware)

Page 12: Intro to LabView for FRC · Intro to LabView for FRC Team 1912. Outline The FRC Control System Overview Components Data flow Software/Firmware Software Framework LabView Programming

Outline (continued)Outline (continued)

� Creating (or modifying) a vi –programmingCreating (or modifying) a vi –programming

� Generating a new viGenerating a new vi

� Modifying an exampleModifying an example

� Function PaletteFunction Palette� Numeric FunctionsNumeric Functions� Boolean FunctionsBoolean Functions� String FunctionsString Functions� Comparison FunctionsComparison Functions� Structures FunctionsStructures Functions� Cluster FunctionsCluster Functions