workshop 2 of 7 welcome!. today's topics review of workshop 1 basic vi structure arrays...

40
Workshop 2 of 7 Welcome!

Upload: marshall-hulen

Post on 15-Dec-2015

218 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Workshop 2 of 7

Welcome!

Page 2: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Today's Topics

Review of Workshop 1

Basic VI Structure

Arrays

Clusters Error Cluster

Enumerations

Page 3: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 1

Which of the following are the three parts of a VI?

a) Front Panel

b) Project

c) Block Diagram

d) Connector Pane/Icon

Page 4: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 1

Which of the following are the three parts of a VI?

a) Front Panel

b) Project

c) Block Diagram

d) Connector Pane/Icon

Page 5: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 2

1. Which identifies the control or indicator on the block diagram?

a) Caption

b) Location

c) Label

d) Value

Page 6: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 2

1. Which identifies the control or indicator on the block diagram?

a) Caption

b) Location

c) Label

d) Value

Page 7: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 3

Which of the following are not a nodes?

a) Terminals

b) Structures (while loop, for loop)

c) subVIs

d) Wires

e) Functions

Page 8: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 3

Which of the following are not a nodes?

a) Terminals

b) Structures (while loop, for loop, etc.)

c) subVIs

d) Wires

e) Functions

Page 9: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Which function executes first: Add or Subtract?

a) Add

b) Subtract

c) Unknown

9

Review Question 4

Page 10: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Which function executes first: Add or Subtract?

a) Add

b) Subtract

c) Unknown

10

Review Question 4

Page 11: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 1

True or False?

It is possible to add non-VI files to a LabVIEW Project.

Page 12: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 1

True or False?

It is possible to add non-VI files to a LabVIEW Project.

TRUE

Page 13: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 2

True or False?

If I am using a virtual folder in the LabVIEW Project, I must keep all of the related files together on disk.

Page 14: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 2

True or False?

If I am using a virtual folder in the LabVIEW Project, I must keep all of the related files together on disk.

FALSE

Page 15: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 3

Which mechanical action causes a Boolean in the False state to change to True when you click it and stay True until you release it and LabVIEW has read the value (similar to how a button in Windows operates)?

a) Switch Until Released

b) Switch When Released

c) Latch Until Released

d) Latch When Released

Page 16: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Review Question 3

Which mechanical action causes a Boolean in the False state to change to True when you click it and stay True until you release it and LabVIEW has read the value (similar to how a button in Windows operates)?

a) Switch Until Released

b) Switch When Released

c) Latch Until Released

d) Latch When Released

Page 17: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

• Acquire

• Analyze

• Present

Basic VI Structure

Page 18: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

An array consists of elements and dimensions Elements: data that make up the array Dimension: the length, height, or depth of an array

(231)–1 elements per dimension, memory permitting 1 or more dimensions

Arrays

Elements (numeric, here)Index, tells dimension (1D, here)

Page 19: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Arrays: the elements

• Arrays can be of many different data types, but only one data type at a time

Page 20: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Arrays: Initialized and Uninitialized• If the elements of an array are grayed out, then

those elements are uninitialized.

• Uninitialized elements do not have a value and are place holders

Uninitialized elementsInitialized elements

Page 21: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Arrays: Size vs. Dimension• Size is the number of initialized elements in each dimension

• Dimension is how the elements are organized

Size: 4Dimension: 1D

Size: 2x3x?Dimension: 3D

Size: 0x0Dimension: 2D

Size: at least 4 – more elements could be hiddenDimension: 1D

Size: 4Dimension: 1D

Page 22: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Creating an Array

1. Place an array shell on the front panel

From the Controls»Modern»Array, Matrix, and Cluster subpalette, select the Array icon.

2. Drag a data object or element into the array shell

Page 23: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Arrays: the indexThe index (zero-based) tells you :

• the dimension of the array (1D, 2D, 3D, etc.)

• the index of the element displayed in the upper left corner- the 1D array below is displaying index 1 to contain a value of 3.00; we do

not know the value of index 0 from this image because the value at index 0 is hidden from view

1D Array (initialized)2D Array (uninitialized)

indexTIP: drag the edge of the index to add another dimension to an array

(row)

(column)

Page 24: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Demonstration 1: Creating an array

Page 25: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

- Array Size:

- Returns the number of elements in each dimension of the array

- Index Array:

- Returns the value at the index you specify

- Initialize Array:

- Creates an initialized array of the dimension and data type you specify

- Build Array:

- Adds elements or dimensions to an array

- Search 1D Array:

- Returns the index of the value you specify; if not found, returns -1

Array Functions

Page 26: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

• Clusters group data elements of mixed types

• Similar to a record or a struct in text-based programming languages

Clusters

Page 27: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Cluster Functions Bundle (there is also Unbundle)

Assembles a cluster from individual elements.

Bundle By Name (there is also Unbundle By Name) Replaces one or more cluster elements. This function refers to cluster

elements by name instead of by their position in the cluster.

Cluster Constant Use this constant to supply a constant cluster value to the block diagram.

(Terminal labels reflect data type)

Bundle By NameBundle

Cluster Constant

Page 28: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

• Cluster elements have a logical order unrelated to their position in the shell

• You can view and modify the cluster order by right-clicking the cluster border and selecting Reorder Controls In Cluster from the shortcut menu

• Order determines how cluster is unbundled

Clusters: Order

Page 29: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

• Three parts:• Status – Boolean, TRUE when an error occurred• Code - numeric (I32), identifies which error occurred• Source – string, identifies where the error occurred

Error Cluster

Note: Warnings have a code and source, but the status is FALSE

Page 30: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Demonstration 2: Creating a cluster and reordering its element

Page 31: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

• Clusters differ from arrays in that they are a fixed size

• Clusters can contain mixed data types; arrays contain only one data type

• Like an array, a cluster is either a control or an indicator and cannot contain a mixture of controls and indicators

• You can create a cluster of clusters, cluster of arrays, array of clusters, but NOT an array of arrays

Clusters vs. Arrays

Page 32: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Enumeration

• An enum represents a pair of values, a string and a numeric, where the enum’s value is one of a defined list of value pairs

• Appears as a string to you, and a number to computer

Page 33: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Enumeration: Configuring1. Right-click on the enum

2. Select Edit Items…

Page 34: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Demonstration 3: Configuring an Enum

Page 35: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Customizing Controls

LabVIEW ships with multiple palettes of controls available to you. However, you may want to customize them or create your own

Standard LabVIEW Gauge Customized LabVIEW Gauge

Page 36: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Creating Custom ControlsHow to create:- Right click on the control; select Advanced >> Customize- The Control Edit window will appear.

Edit Mode

Customize Mode (low-level changes)

Page 37: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Saving Custom Controls

Three options:- Custom Control- Type Definition- Strict Type Definition

All 3 options create a *.ctl file.

Once you save the custom

control it takes on the name of

the option you chose.

Page 38: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Custom Controls & Type DefinitionsControl

• No connection between the one you saved and the instance in the VI

• Update the file, but the instances are not updated

Type Def• Connection between the

saved file and all instances

• Forces the data type of each instance to be identical (clusters, enum)

• Changes made to file will populate throughout each instance

Strict Type Def

• Connection between saved file and all instances

• Forces everything about an instance to be identical to the strict type definition, except:

• label • description• default value

*.ctl *.ctl *.ctl

Page 39: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

Demonstration: Creating and Saving a Type Definition

Page 40: Workshop 2 of 7 Welcome!. Today's Topics Review of Workshop 1 Basic VI Structure Arrays Clusters Error Cluster Enumerations

• Create a new VI from the instructions located at ni.com/mst

• CLAD Extra Questions (Put the answers in the message)

• Email HW to:

[email protected]

Homework: