LabVIEW
modularity
change to one module has minimal impact on other modules aka subvis
type definition control
changes all instances of a linked control in a single edit
waveform data type is most similar to...?
cluster
controls vs functions palette
controls palette is for front panel functions palette is for block diagram
Error handling code
does NOT display dialog box us
Error vs. warming
error: status= true warning: status= false, code is non-zero
explicit vs. implicit for property/invoke nodes
explicit requires reference implicit requires color/label
what is iteration when for loop sum is 1? 2?
for 1, iteration is 0 for 2, iteration is 1
Most efficient method for creating array...?
for loop with auto-indexing (default)
methods
functions that operate on the object
what is the best function to use for extended periods of time?
getdate/timeinseconds
color label is...!?!?
implicitly linked
how do you know if an array is initialized or uninitialized?
initialized will have white background and uninitialized will be grayed out
Bold=
input required, broken run arrow wil result
inputs and outpouts
inputs=controls (knobs, push buttons) outpouts= indicators (graphs, LEDs)
I16 symbol=
integer
local variable
-allow data to be passed between parallel loops -single vi, tied to a front panel -control/indicator
error handling code does NOT...
-display dialog box used to correct broken vi - generate user-defined error code
Multiple loop design pattern allows you to...
-execute multiples tasks at different rates
polymorphism
-feature that allows values of different data types to be handled using a uniform interface - automatically accepts input data of different data types ex: (array of clusters)+ (cluster)= array of clusters
timing function
-provides processor time to complete other tasks -uses ms clock
Different between U and I
...
Types of loops
...
coercion dots
...
match pattern
...
time stamp
...
unsigned= ...?
0-255
debugging tools
1. highlight execution 2. probes to see current value in wire 3. breakpoints to pause execution at specific point 4. single-step through code
State machine
- case structure inside while loop - cannot stop execution in middle of sequence
Property nodes allow you to...
- change color of a chart plot - disable and enable controls - get the location of a control or indicator - allow you to programmatically modify appearance of front panel objects
Array
- controls or indicators - # of elements includes 0 - grayed out=uninitialized - wire thickness associates with dimension
error handling code
- displays a dialog box when an error occurs - transitions state machine to shutdown state when error occurs
what is a flat sequence structure?
- executes each frame beginning with left-most frame; previous frame must complete before next frame executes
stacked sequence structure
- executes frame 0, then frame 1, etc. until last frame executes - can only see one frame at a time - sequence local transfers data from frame to frame (boxed thick arrow)
examples of VI methods
- front panel: center - default values: reinitialize all to default -print: VI to HTML
control references are wired to...?
- property or invoke nodes - CF= reference to a front panel object
execution timing
- provides design pattern with a function that specifically allows processor time to complete other tasks - sometimes does not need Wait function
notifier vs. queue
- queue BUFFERS data - notifier does not
string
- receives text from user - (ex: labels) - pink color
Enum
- represents a pair of values (string and numeric) - used in state machine - appears as string to me and number to computer - ex: months
notifier
- sends alert to help control timing of PARALLEL loops - transfer data between loops - exclamation point - used with master/slave
Queue
- transfers ALL data between loops - helps control timing of parallel loops - ensures that no data is lost - "blocky" thing
invoke node
- used to perform actions (methods) on referenced items (VI, control) - format and precision - reinitialize to default value
signed= ...?
-128-127
What determines the program order of execution of code?
data flow
Types of charts: strip, scope, sweep, step
1. strip= shows running data continuously scrolling from left to right 2. scope= points plotted until end of xscale reached, then plot clears, and plot begins at far left again 3. sweep= red line that indicates front ege of new data being plotted over old data 4. step= scope and sweep display plots faster than strip
how many bytes in header of each dimension?
4 bytes (think of visual)
How many bits in boolean?
8 bits
U8= bits/bytes?
8 bits or 1 byte
What maintains history of past data?
CHARTS, good for inside loop to see full set of data
What displays most recent array of values?
GRAPHS, good for outside loops to see full set of data
Error cluster does not include...?
VI name
Are "latches" guaranteed to be read by labVIEW?
Yes, at least once
each rectangle on connector pane represents...
a terminal
network-published shared variable
across an ethernet network, implemented using a project library in a project
What is so special about xy graph?!
allows you to plot any set of points evenly distributed or not
probe tool
allows you to see value into wire
formula node
allows you to use text to execute a function and mathematical formulas
what do rings use?
any numeric representation
Arrays vs. clusters
arrays have same data types, clusters can have different data types
event strtucture
labVIEW's programmatic tool for handling events
What does not conform to dataflow programming paradigm?
local variables
what does not conform to data flow programming paradigm?
local variables
icon/connector
means of connecting a vi to other vis
What is the easiest way to enforce dataflow?
modify subvi to have error clusters that can be used
single-process shared variable
multiple vis, implemented using a project library in a project
functional global
multiple vis, implented using a while loop with an uninitialized shift register to store global data
global variable
multiple vis, tied to a special global vi that has front panel but no block diagram
can a flat sequence structure be stopped once it begins?
no
can a subvi be edited from a functions palette?
no
Race condition
no control over how everything is executing - ex: write a, write b, write c --> resource --> write a, b, or c? (will the readers read a, b, or c?) or write a---> resource --> read, read, read (all writers read value A)
Are sequence structures encouraged?
no silly
does a block diagram execute left to right?
no??
Parallel loop running at different rates and 1+ loop is dependent on on another. what do you use?
notifier or queue
What is the default timeout value of an event structure?
notify and filter events - notify: event happened, get values from event, GREEN arrow, left side - filter: event is about to happen, able to change what happens, RED arrow with ?, right side -1 (never times out)
notify events vs. filter events
notify events (green arrow)- user action has already occurred filter events (red arrow)- user performed action but event is not processed, allows you to customize event handling
Random number function
number between 0 and 1
how are dimensions of an array defined?
number of indexes (so 2 index= 2D)
BLUE means
numeric
Know difference between graphs and charts
one maintains history, one displays recent values
DBL=
only one that can list non-integer numbers
what do enums use?
only unsigned integers?
property vs. invoke nodes
property= read and write properties of an object; explicitly or implicitly linked invoke= control state or actions of VI, used to perform actions on referenced items
concatenate
put in order
feedback node functions like...
shift register
What saves data?
shift registers, local variables
what should a sequence structure be replaced with?
state machine
best choice for case structure?
state machine? double check
Semaphores
stoplights do NOT transfer data
software control timing
timing (pauses, waits, time checks) you put in place to make code execute after a certain amount of time
property nodes execute from..
top to bottom ex: if an error occurs on 3 of 5 terminals, last two do not execute
Producer/consumer design
two parallel loops with queue buttons
what is a master/slave?
type of producer/consumer design - uses notifiers to allows loops to run at different rates
where is index of an array displayed?
upper left corner of array
control references
used for property and invoke nodes
conditional disable structure
used to define conditions that indicate which code on the block diagram executes
Wait (ms) icon
wait until next multiple icon (metronome symbol)
how do you update an indicator?
wire it directly to indicator terminal
What is the best way to transfer data?
wires
Do strings take up a lot of space?
yes lol