Recent Changes - Search:


Robotics I Fall 2007

Robotics II Spring 2007

Robotics I Fall 2006

Vision Servoing Laboratories

FPGA-Based Vision


LabVIEW Embedded


Site Admin

edit SideBar


Basics of LabVIEW programming The following is wider explanation of using LabVIEW Embedded to program the Blackfin Handy Board. If you have not been through the Handy Board Tutorial yet, please do so now. The tutorial is meant to give the user an overall feel of the software. This page will expand the users knowledge of LabVIEW Embedded and the components used within it.

Library From the Block Diagram window, a right click in the workspace brings up the VI library. This library contains all the VI's that come included with the software. The VI's are segmented into various categorys that will be explored more in depth.

Structures This category contains VI's that can be considered the backbone of programming. All the VI's in this category can also be resized to fit whatever other VI's you may need to use in them. They are all placed into the Block Diagram workspace through a click drag.
Case Structure
This VI performs like an If-Else statement. The argument for this If-Else structure is connected to the green question mark block on the left edge of the Case Structure. Once a Case Structure has been created and linked to an argument you can cycle through all the possibilitys of arguments in the drop down box located at the top off the structure. VI's can be placed into the Case Structure to be run should the appropriate argument take place. Please be aware of which argument you are placing your VI's in. It can be quite easy to mistake one Case Structure argument with another.
For Loop
This VI acts just like its namesake. The input connector in the up left corner of this VI is known as the 'loop count.' An integer value to this input states how many times this loop should run. In the lower left corner of the structure is an output connector known as 'loop iteration' this can be used to monitor how many times the loop has run so far.
While Loop
The While Loop should be used to repeat any actions you want your robot to make. Like the For Loop this VI has an output in the lower left hand side for the 'loop iteration.' But unlike the For Loop This VI has an imput block known as the 'loop condition.' In its default settings the 'loop condition' will stop the loop if there is a boolean value of true. Always remember to place an input on this block. LabVIEW will not run the program if there is not an input on it.
Formula Node
If you have a mathematical formula or an expression similar to C you can use this VI to place it in to the Block Diagram. Note: not all functions are available in the Formula Node. Check the context help for a list of the built in functions. Also The inputs and outputs of this VI are not created automatically. Create these from the right click menu.
Timed Loop
This VI is very similar to the While Loop with the exception that you have control over how many times a second the loop executes.
Numeric This category contains all the VI's related to numbers. Add, Subtract, Multiply, Divide, Conversion, Trigonometric and Logarithmic. Nearly everything is self explanitory.
Boolean Here all VI's related to interpreting true/false data is located. AND, OR, NAND and NOR are all located here.
String All VI's related to string(a.k.a text) data is located here.
String Constant
The most reasonable way to leave comments within a VI is through the use of String Constants. String Constants can be placed anywhere in the workspace and next to any component. Also it is not necessary to limit yourself to one String Constant to comment your entire program. It is perfectly acceptable to use up to four different String Constants spread across the workspace. Please remember that unless the information in a string constant is being used in the program it does not need to be wired to anything.
Comparison All VI's related to comparing data are located here. Equal, Not Equal, Less Than, Greater Than and more are located in this category.

Wiring The wires on the Block Diagram have are a graphical representation of the data being passed betweent the various VI's. This visual representation has many advantages. The first being that you can see where any data is coming from and which VI's it is heading to.

The second advantage is that the wires are colored differently depending on what data they represent. Blue is for integers, orange for floating points, green for boolean and pink squigles for string data. Wires that are broken black lines with a red 'X' in the middle are broken wires. These wires are not connected to either an input or an output. To remove them you can delete them manually or select 'Remove Broken Wires' from the Edit menu. There are other forms of wires in LabVIEW such as the 'error' wire. This wire actually caries many forms of data. At the moment our primary use of the 'error' wire is to give LabVIEW an understanding of the sequence the connected VI's should be in.

Edit - History - Print - Recent Changes - Search
Page last modified on June 27, 2006, at 09:47 PM