CS320n –Visual Programming
430 likes | 446 Vues
This tutorial covers the basic tools in the LabVIEW programming environment, including controls and indicators, wiring components, wire color scheme, broken wires, and using nodes for program execution.
CS320n –Visual Programming
E N D
Presentation Transcript
CS320n –Visual Programming LabVIEW Foundations
What We Will Do Today • Hand back and review the midterm • Look at the basic tools in the LabVIEW programming environment LabVIEW Foundations
LabVIEW Programming Elements • Controls and Indicators arranged on palettes according to function • Controls = inputs (from user or other devices) = source terminals • Indicators = outputs = destinations or sinks • They are not interchangeable LabVIEW Foundations
Controls • On front panel • White background • values may be typed in • Increment / decrement control • can hide by right clicking, selecting visible items, and unchecking • On Block Diagram • thick border • arrow on right hand side, going out of icon LabVIEW Foundations
Indicators • On front panel • background is gray • no way to type in value • On block diagram • thin border • arrow on left hand side, going into icon • DBL indicates data type is a double, a number with a fractional component LabVIEW Foundations
Adding Components on Front Panel • Express view of palette • Change to advanced view by clicking options button and selecting Advanced from pull down menu for Palette View LabVIEW Foundations
Selecting Advanced View • Advanced View of front panelpalette • When mouse rolls over buttontitle of sub palette shown LabVIEW Foundations
Adding Components • Clicking on a button for a sub palette brings up that sub palette • Get back to the previous palette using the up arrow • right clicking on a palette button brings up the sub palette while keeping the original palette visible LabVIEW Foundations
Adding Components • Once correct component found click on it and drag to front panel • Adding to front panel places corresponding terminal on the block diagram • can alter characteristics of component by right clicking on it or • alter font by selecting text and change Text Settings • can change label and value in control / indicator LabVIEW Foundations
Making Things Pretty • Components on front Panel can be aligned and distributed • Select components by clicking mouse and dragging box around them align objects distribute objects resize objects LabVIEW Foundations
Wires • Data is moved around a LabVIEW program via wires • Wires are placed on the block diagram • Wires take information from controls to nodes and indicators • Wires are color coded based on the type of data they carry LabVIEW Foundations
Wire Color Scheme • Wires have a color and a width based on data type and data structure • data types • floating point numbers, integer numbers, Booleans, Strings • data structures • scalar (single value), array (list of values), 2D array (table of values) LabVIEW Foundations
Wire Color Scheme IntegerFloating Point Boolean String Scalar Array 2D Array LabVIEW Foundations
Wiring Components • LabVIEW has an automatic tool selection option. (Selected by default) • Cursor turns into tool necessary based on position of cursor • When cursor moved over terminal it becomes a spool of wire • click to start wiring • drag wire from one terminal to another LabVIEW Foundations
Adding Wires Wire Icon Wire from output of controlto input of indicator LabVIEW Foundations
Broken Wires • Errors in wiring are shown graphically • loose ends • incorrect data types • too many wires LabVIEW Foundations
Help • Context Help is a feature of LabVIEW to provide help based on the situation you are in • enable context help by pressing control and H or by selecting the “Help” menu and selecting “Show Context Help” • Tries to explain errors • shows information about icons / controls / indicators / data type of wire / sub VIs LabVIEW Foundations
Nodes • Nodes are program execution elements • Like actions in Alice or statements in text based languages • Nodes exist for all sorts of operations, from simple to complex • add • transpose the elements of a table LabVIEW Foundations
Data flow • LabVIEW programs are driven by data flow • operations are not performed until the data to perform them is available • Alice (and most text based languages) use sequential flow of control • statements executed in the order they appear in the program LabVIEW Foundations
Example of Data Flow • Which gets executed first the add operation or the divide operation? • The answer is, it depends. • On which operation has the data to perform the operation first • Sometimes when the program is run the add could be performed first and other times it could be the multiplication LabVIEW Foundations
Cascading Data Flow • Outputs of nodes can be feed to other nodes • (x + y) x y2 • multiplication not performed until addition complete LabVIEW Foundations
Multiple Inputs and Outputs • Operations (nodes) in LabVIEW can have more than input and more than one output • multiple outputs are like multiple parameters in an Alice method or function • Alice functions had no equivalent to the multiple outputs LabVIEW Foundations
Example of Multiple Inputs and Outputs • In Range and Coerce • 3 inputs, 2 outputs • explanation of inputs and outputs available on context help LabVIEW Foundations
sub VIs • As virtual instruments are created they can be used like the built in components • packaged into a sub program • create an icon with inputs and outputs • analogous to class level methods in Alice • code reuse • LabVIEW contains a large library of sub VIs LabVIEW Foundations
Example • Temperature conversion • Celsius to Fahrenheit • Degrees Fahrenheit = (1.8 * Degrees Celsius) + 32 • Input -> degrees Celsius • Output -> degrees Fahrenheit LabVIEW Foundations
Conversion Formula • Two ways to handle formula • Use the primitive nodes and numerical constants • Use the formula express option LabVIEW Foundations
First Option 1. 2. 3. 4. LabVIEW Foundations
Bad Wires • If a wire connection is bad the wire will not be solid, but a dashed line LabVIEW Foundations
Incorrect Programs • A LabVIEW program that has wiring (or other format errors) cannot be run • Clicking on the broken arrow brings up a list of errors • Clicking on an error displays more information about the error • Edit menu has “Remove Broken Wires” option or <Control B> LabVIEW Foundations
Adding Components Automatically • Some components can be added automatically instead of from a palette • In the temperature example • after adding the multiplication node right click on one input • from the pop up menu select “Create” and then “Constant” LabVIEW Foundations
Changing Labels • When component added to front panel it is given a default name • change name to be more descriptive • After entering text click off of control or press <shift-enter> to finish • Changes label on corresponding componen LabVIEW Foundations
Free Labels • Not attached to a component • For describing things about a program LabVIEW Foundations
Second Option LabVIEW Foundations
Formula Editor LabVIEW Foundations
Result of Second Option LabVIEW Foundations
Another Exercise • Simulate rolling a pair of dice LabVIEW Foundations
Expected Output? • What next? LabVIEW Foundations
Expected Output? LabVIEW Foundations
Rounding LabVIEW Foundations
Making Two Dice • Copy and paste many components LabVIEW Foundations
Finished Product LabVIEW Foundations
Always Another Way LabVIEW Foundations
Both Methods LabVIEW Foundations