LabVIEW Course Course 2.

Slides:



Advertisements
Similar presentations
Previously… We created a simulated temperature reader which alerts if too hot or too cold… Download the solved practice to keep in sync: Thermostat.vi.
Advertisements

LabVIEW is a graphical programming development environment for data acquisition and control, data analysis, and data presentation. With LabVIEW you can.
Lesson 2 Navigating LabVIEW
Based on LabVIEW 2011 Student Edition
Welcome! Workshop 2 of 7.
Course contents 1.Labview basics – virtual instruments, data flow, palettes 2.Structures – for, while, case,... – editing techniques 3.Controls&Indicators.
Loops in LabVIEW (while,for and case)
De la Rosa-Pohl ECE 1100 Introduction to Engineering Intro to LabVIEW: Programming for Symon University of Houston Diana de la Rosa-Pohl Len Trombetta.
Introduction to LabVIEW
Floyd, Digital Fundamentals, 10 th ed EET 2259 Unit 5 Loops  Read Bishop, Sections 5.1 and 5.2.  Lab #5 and Homework #5 due next week.  Exam #1 next.
CS320n –Visual Programming LabVIEW Foundations. Visual ProgrammingLabVIEW Foundations2 What We Will Do Today Hand back and review the midterm Look at.
Virtual Instrumentation With LabVIEW. Course Goals Understand the components of a Virtual Instrument Introduce LabVIEW and common LabVIEW functions Build.
Loops A.About While Loops B.About For Loops C.About Case structures D.Sequence Structures E.Formula Node You Will Learn:
1 Lesson 5 Clusters TOPICS Introduction to Clusters Cluster Functions Error Clusters.
Introduction to LabVIEW Seth Price Department of Chemical Engineering New Mexico Tech Rev. 10/5/14.
Virtual Instrumentation With LabVIEW. Course Goals Understand the components of a Virtual Instrument Introduce LabVIEW and common LabVIEW functions Build.
Virtual Instrumentation With LabVIEW. Course Goals Understand the components of a Virtual Instrument Introduce LabVIEW and common LabVIEW functions Build.
EG1003: Introduction to Engineering and Design Introduction to LabVIEW.
Virtual Instrumentation With LabVIEW
Course contents 1.Labview basics – virtual instruments, data flow, palettes 2.Structures – for, while, case,... – editing techniques 3.Controls&Indicators.
Lecture 13LabVIEW and GPIB LabVIEW (National Instruments) –Graphical program language –Widely used in academia (lab) and industry (R&D) General Purpose.
Infinity-project.org Engineering education for today’s classroom The Infinity Project SM LabVIEW for The Infinity Project.
How to use LabVIEW Ihor Korolov February 2011.
Virtual Instrumentation With LabVIEW. Course Goals Understand the components of a Virtual Instrument Introduce LabVIEW and common LabVIEW functions Build.
Workshop 3 of 7 Welcome!. Today's Topics Review of Workshop 2 Loops While For Auto-indexing Shift registers Case Structure.
V1: HMFR, V2: MFNB, 2007 LabView Seminar University of Puerto Rico Mayagüez Campus.
Course contents 1.Labview basics – virtual instruments, data flow, palettes 2.Structures – for, while, case,... – editing techniques 3.Controls&Indicators.
Virtual Instrumentation With LabVIEW. Section I LabVIEW terms Components of a LabVIEW application LabVIEW programming tools Creating an application in.
Tips and Tricks to Speed LabVIEW Development Useful Nuggets to Save You Time ni.com/labviewzone.
Virtual Instrumentation With LabVIEW. Course Goals Understand the components of a Virtual Instrument Introduce LabVIEW and common LabVIEW functions Create.
Virtual Instrumentation With LabVIEW. Front Panel Controls = Inputs Indicators = Outputs LabVIEW Programs Are Called Virtual Instruments (VIs) Block Diagram.
LabVIEW an Introduction
Introduction to LabVIEW
Physics 145 Introduction to Experimental Physics I Instructor: Karine Chesnel Office: N319 ESC Tel: Office hours: on appointment.
Each VI has 2 Windows Front Panel User Interface (UI) –Controls = Inputs –Indicators = Outputs Block Diagram Graphical Code –Data travels on wires from.
Design of Bio-Medical Virtual Instrumentation Tutorial 3.
LabVIEW in 3 Hours. What is Test & Measurement? Keypad Functionality Keypad Functionality LCD Testing LCD Testing Sound Quality Sound Quality Acoustic.
LabView instrumentoinnissa, 55492, 3op Labview in instrumentation Lecturer: Heikki Ojala, room C204a
Samuel Alberg Thrysøe, PhD, PostDoc, Kontakt info: Tlf:
Creating, Editing, & Debugging a VI A.How to Create VIs B.How to Edit VIs C.How to Debug VIs You Will Learn:
Digital Electronics and Computer Interfacing Tim Mewes 4. LabVIEW - Advanced.
CS320n –Visual Programming
Virtual Instrumentation With LabVIEW. Front Panel Controls = Inputs Indicators = Outputs Block Diagram Accompanying “program” for front panel Components.
Floyd, Digital Fundamentals, 10 th ed EET 2259 Unit 9 Arrays  Read Bishop, Sections 6.1 to 6.3.  Homework #9 and Lab #9 due next week.  Quiz #5 next.
Workshop 2 of 4 Welcome!. Survey While You Wait ni.com/duke >> Recent Documents >> LabVIEW Workshop Participation Survey.
Digital Electronics and Computer Interfacing Tim Mewes 2. LabVIEW Basics part II.
Introduction to LabVIEW
Array Controls and Indicators
Chapter 6 Arrays & Clusters. LabVIEW Arrays > Collection of Elements > Same Data Type > Variable-Sized > One or More Dimensions.
MEH108 - Intro. To Engineering Applications KOU Electronics and Communications Engineering.
Introduction to LabVIEW. Overview Objectives Background Materials Procedure Report/Presentation Closing.
LabVIEW Course Course 1.
Week 3 Data Structures and Common Tools. Common Tools in Labview Automatic Tool Selector Using the Operating Tool Using the Positioning Tool to Select.
EG1003: Introduction to Engineering and Design Introduction to LabVIEW.
Workshop 5 of 7 Welcome!. Today's Topics Review from Workshop 4 Modularity & subVIs Documentation File Input/Output Introduction.
Week 3 Labview exercises
Course Learning Map Lesson # Lesson Title Lesson 3 Lesson 2 Lesson 1
EE 200 Design Tools Laboratory 14
Course Learning Map Lesson # Lesson Title Lesson 3 Lesson 2 Lesson 1
Introduction to LabVIEW
Lab 2 : Structures Muhammad Zaigham Abbas Shah DIGITAL INSTRUMENTATION SYSTEMS.
Lesson 2: Introduction to Control programming using Labview
הודעות ריענון מהיר והרחבות Charts & Graphs גרף XY בניית מחולל אותות
הודעות ריענון מהיר והרחבות כתיבה לקובץ Low-Level דגימת אות Low-Level
Introduction to LabVIEW
LabVIEW.
Introduction to LabVIEW
Structures- case, sequence, formula node
EET 2259 Unit 9 Arrays Read Bishop, Sections 6.1 to 6.3.
LabVIEW基礎課程(一) 參考書籍: LabVIEW for Everyone (Jeffrey Travis/Jim Kring)
Presentation transcript:

LabVIEW Course Course 2

Analyzing and saving data Course Map Course 1 Course 2 Course 3 Making a decision First steps with LabVIEW Controlling property Loops Creation of new VI and customization Arrays Project Signal generation Modular programming Saving data Analyzing and saving data Data acquisition Express VI Labview 2009-2010

Lesson 5 Make a decision TOPICS Function select Case Structures Formula Nodes Boolean and text format Labview 2009-2010

Datas take the specific road if decision Function “Select” Input for right decision output Input for false Datas take the specific road if decision « Right » « False » Input for right right false output output Input for false Labview 2009-2010

Case Structures Boolean Case Structure Example: If Temp Scale is TRUE, execute True case; if temp scale is FALSE, execute False case. Case Structures • In the Structures subpalette of Functions palette • Enclose nodes or drag them inside the structure • Stacked like a deck of cards, only one case visible at a time The Case structure allows you to choose a course of action depending on an input value. In the Structures subpalette of the Controls palette. Analogous to a case statement in Pascal or if-then-else statement in other languages. Like a deck of cards. You can see only one case at a time. Customers often think that when separate cases are shown, it means to create two or more case structures. Stress that you need only one case structure. (See next slide for example of this idea.) Labview 2009-2010

Create a Case Structures (1/3) Select the case structure into the Function Palette Insert the structure into D Link data input/output to borderline of the case structure The Case structure allows you to choose a course of action depending on an input value. In the Structures subpalette of the Controls palette. Analogous to a case statement in Pascal or if-then-else statement in other languages. Like a deck of cards. You can see only one case at a time. Customers often think that when separate cases are shown, it means to create two or more case structures. Stress that you need only one case structure. (See next slide for example of this idea.) Each output must be connected in every case of the case structure Output connector : white => 1 case connector not linked (here the false one)

Create a Case Structures (2/3) Link every output connector The Case structure allows you to choose a course of action depending on an input value. In the Structures subpalette of the Controls palette. Analogous to a case statement in Pascal or if-then-else statement in other languages. Like a deck of cards. You can see only one case at a time. Customers often think that when separate cases are shown, it means to create two or more case structures. Stress that you need only one case structure. (See next slide for example of this idea.)

Create a Case Structures (3/3) Create the boolean condition The Case structure allows you to choose a course of action depending on an input value. In the Structures subpalette of the Controls palette. Analogous to a case statement in Pascal or if-then-else statement in other languages. Like a deck of cards. You can see only one case at a time. Customers often think that when separate cases are shown, it means to create two or more case structures. Stress that you need only one case structure. (See next slide for example of this idea.)

Exercise 5.1 – User choice Goal Concepts Homework Create a simple VI Topic : display the generated temperature in the specific scale selected by user Concepts Make a decision with the “select function” and “case structure” Boolean, text and numeric formats Homework Open Gen_temp_conv.vi Step 1 : create a program to allow user to choose and select the unit of the generated temperature and display it in only one indicator. (using the select function) Step 2 : With the same method, display the unit (in text format) in another indicator. Save in “Gen_Simple_Choice.vi” Step 3 : replace the 2 functions “select” by only 1 case structure. Save as “Gen_case.vi” Labview 2009-2010

Exercise 5.1 – D solution with select function Labview 2009-2010

Exercise 5.1 – D solution with case structure Labview 2009-2010

Exercise 5.1 – FP Labview 2009-2010

Note As you can notice, when you change the unit, the thermometer scale is not necessarily well adapted. The ideal would be a scale which would change according to the unit chosen. In order to achieve this, you have to work on the intrinsic properties of the indicator. This requires the use of "property nodes"… Estimate completion time: 20 minutes. The exercise is easy, but since it will be the first VI that we actually create, it is good to allow ample time to explore the LabVIEW environment. Instructions: Build a VI that converts °C to °F. When run, the VI should take an input value (°C), multiply it by 1.8, add 32, and display the result (°F). The front panel should display both the input value and the result. Save the VI as Convert C to F.vi. Labview 2009-2010

Lesson 6 How to control properties of objects by programming TOPICS Property nodes Labview 2009-2010

What is a property node ? Each objects that you use in Labview owns its intrinsic properties. It can be the "visibility", the "state" (active or not active), or for indicators the "scale"… Working on these properties inside a program lead to the use of "property nodes" allowing to edit or modify these different properties. Labview 2009-2010

How to create it ? Right click on the indicator Labview 2009-2010

How to modify it ? As default value the property is the visibility, but you can change it by right clicking on the property node and choosing another property. Labview 2009-2010

How to add another property node ? You can create another property node by the same method, however a more simple solution exists. Indeed, once a property node has been created, you just have to pull down, and others property nodes are added… Pull down Property nodes automatically added If you want to change the properties added, you just have to refer the previous step. Labview 2009-2010

Exercise 6.1 Goal Topics Homework Adjust the scale of temperature indicators by programmation Topics Use of property node Customization of user interface Homework Open “Gen_case.vi " Use property nodes to automatically adjust the scale of the temperature indicator according to the unit chosen. Save as “Gen_case_adjusted.vi" Estimate completion time: 20 minutes. The exercise is easy, but since it will be the first VI that we actually create, it is good to allow ample time to explore the LabVIEW environment. Instructions: Build a VI that converts °C to °F. When run, the VI should take an input value (°C), multiply it by 1.8, add 32, and display the result (°F). The front panel should display both the input value and the result. Save the VI as Convert C to F.vi. Labview 2009-2010

Exercise 6.1 - D °F : min = 0 max = 200 °K : min = 100 max = 300 Labview 2009-2010

Exercise 6.1 - FP Labview 2009-2010

Lesson 7 Repetition and Loops TOPICS While Loops For Loops Accessing Previous Loop Data Labview 2009-2010

Structures and Loops Sequence While For Case Formula node

Sequence Structure Execute the program in a specific order Dans les langages de base, le programme s’exécute dans l’ordre des lignes de code. Dans le flux de données, un nœud est exécuté quand les données sont valides sur tous ces terminaux d’entrée. Quelquefois il est difficile de déterminer exactement l’ordre d’exécution. Souvent, certains événements doivent se dérouler avant d’autres événements. Quand vous avez besoin de contrôler l’ordre d’exécution des codes dans votre diagramme, vous pouvez utiliser la structure Séquence. Structure Séquence : utilisée pour contrôler l’ordre dans lequel les nœuds seront exécutés dans un diagramme. Dans le sous-menu « Execution control » : ● Regarder le film comme une suite d’images. ● Utilisé pour exécuter le diagramme de façon séquentielle. ● Clic droit sur le bord pour créer une nouvelle « image ».

While Loops LabVIEW While Loop Flow Chart Pseudo Code Repeat (code); Until Condition met; End; While Loops execute a sequence of events while a condition is True (analogous to a “Do...While” statement). While Loop functionality: A While Loop executes the code contained inside it until a Boolean False is passed to the conditional terminal. Thus, it always executes at least once. The iteration terminal contains the number of executions (zero-indexed). LabVIEW While Loop Flow Chart Pseudo Code Labview 2009-2010

Select the Loop Condition Click the Conditional Terminal with the Operating tool to define when the loop stops Default: Stop if True Iteration Terminal Conditional Terminal Labview 2009-2010

For Loops LabVIEW For Loop Flow Chart Pseudo Code N=100; i=0; Until i=N: Repeat (code; i=i+1); End; A For Loop executes the diagram inside its border for a predetermined number of iterations (analogous to a “For...Next” statement). Explain the difference between While Loops and For Loops: While Loops run until a condition is met. For Loops run a predetermined number of times. LabVIEW For Loop Flow Chart Pseudo Code Labview 2009-2010

Insert a loop (example with white loop) 1. Select While Loop 2. Enclose code to be repeated 3. Drop or drag additional nodes and then wire Place loops in your diagram by selecting them from the Structures palette of the Functions palette (demonstrate): When selected, the mouse cursor becomes a special pointer that you use to enclose the section of code you want to repeat. Click the mouse button to define the top-left corner, click the mouse button again at the bottom-right corner, and the While Loop boundary is created around the selected code. Drag or drop additional nodes in the While Loop if needed. Labview 2009-2010

Wait Functions Wait Until Next ms Multiple Functions»Time & Dialog palette Take the time to carefully explain the above slide. This chart is also printed in the book; have them follow along on page 3-10. Show how this function times on a ms Multiple; not a definite passage of time. Show how you could lose some time on the first loop due to pre-loop code. Labview 2009-2010

Structure Tunnels Tunnels feed data into and out of structures. The tunnel is a block that appears on the border; the color of the block is related to the data type wired to the tunnel. When a tunnel passes data into a loop, the loop executes only after data arrive at the tunnel. Data pass out of a loop after the loop terminates. Labview 2009-2010

Accessing Previous Loop Data – Shift Register • Available at left or right border of loop structures • Right-click the border and select Add Shift Register • Right terminal stores data on completion of iteration • Left terminal provides stored data at beginning of next iteration 5 5 10 10 15 Initial Value Value 1 Value 2 Initial Value Final Value 15 Value 1 Value 2 Value 3 Shift registers transfer data from one iteration to the next: Right click on the left or right side of a For Loop or a While Loop and select Add Shift Register. The right terminal stores data at the end of an iteration. Data appears at the left terminal at the start of the next iteration. A shift register adapts to any data type wired into it. Stress why you need a shift register—to retain values from one iteration to the next. Explain the slide in detail. Go slowly and repeat yourself. Before Loop Begins First Iteration Second Iteration Last Iteration Labview 2009-2010

Additional Shift Register Elements Right-click the left terminal to add new elements Previous values are available at the left terminals Right-click the border for a new shift register Latest value is passed to right terminal 1 loop ago 2 loops ago 3 loops ago You can configure the shift register to remember values from several previous iterations. Right click on the left terminal and choose Add Element to create additional terminals. Explain the slide: The shift register allows you to access values from the past three iterations if you have three terminals. This method is different from using separate shift registers: One shift register with added terminals is storing multiple previous values of one variable. Multiple shift registers maintain a single previous value of multiple variables. Demonstrate the difference between adding a shift register vs. adding an element to a shift register. Labview 2009-2010

Exercise 7.1 Goal Concepts Homework Replace continuous mode running by a while loop Control data acquisition and display Concepts While loop, wait function, Tunnel structure, shift register Chart, Homework Open the vi that acquires a temperature with a choice stage for displaying the temperature either in Kelvin or Fahrenheit unit. Insert while loop with wait function in order to control the speed from UI Display in real-time generated temperature data with a chart (search for chart) Display separately the last acquired data with its right unit Insert shifts registers in order to average acquired signal over the 4 last acquisitions Display signal and averaged signal on the same chart (search for how to connect chart for multiple plots, and especially the function “bundle”) Save in « while.vi » Labview 2009-2010

Waveform Charts Selected from the Controls»Graphs and Charts palette LabVIEW has three types of charts: Strip chart: Scrolling display. Scope chart: Retracing display. The plot is erased after reaching the right border of the plotting area. Sweep chart: Like the scope chart, but the plot is not erased. Instead, a vertical line marks new data and moves across the display as data is added. Place on the front panel by selecting the Graph subpalette of the Controls palette. Because less overhead is involved in retracing the plot, scope and sweep charts are much faster. To increase the speed of the strip chart, disable the X axis. Describe the graphic: A chart may have one trace or multiple traces. Labview 2009-2010

Wiring to Charts Single-Plot Chart Multiple-Plot Chart Bundle function For a single plot, wire from the numeric control to the chart terminal. For multiple traces, bundle each number together and then wire to the strip chart. Open the chart example with the Example Wizard. It is important that students know that these examples are shipped with the package. If they have questions about how to wire to a strip chart, they have a good resource that shows all possible ways to display data on a chart. Transition to next topic: Now we will discuss topics related to plotting: chart properties and mechanical action of booleans. Bundle function Labview 2009-2010

Exercise 7.1 - FP With simulation Labview 2009-2010

Exercise 7.1 - D Labview 2009-2010

Exercise 7.1 : complement 1 Try to initialize the chart (i.e to delete the chart history) at each run of the VI. Try to adapt the y scale in function of the selected temperature unit Save it as « while_adjusted.vi » Labview 2009-2010

Exercise 7.1 complement 1 - D (only for the initialization of the chart history) Labview 2009-2010

Summary Two structures to repeat execution: While Loop and For Loop Loop timing controlled using Wait Until Next ms Multiple function, the Wait (ms) function, or the Time Delay Express VI. Feedback nodes and shift registers transfer data values from one iteration to the next Use shift registers only when more than one past iteration is needed Do not immediately display this slide. Suggested questions for class participation: What structure must ALWAYS run at least once? What structures are used to repeat execution of certain functions? How can you control the speed at which the loop executes? Describe the difference between the three types of charts. Why would you want to use a shift register? Why would you want to use a feedback node? How do you retain multiple values from previous iterations? Review the slide: The purpose of Lesson Four was to introduce LabVIEW structures. Structures control the flow of data in a VI. Labview 2009-2010

Lesson 8 Arrays and data analyzing TOPICS Introduction to Arrays Auto Indexing Arrays Array Functions Polymorphism Labview 2009-2010

Arrays • Collection of data elements that are of same type • One or more dimensions, up to 2 elements per dimension • Elements accessed by their index; first element is index 0 31 index 10-element array 1.2 3.2 8.2 8.0 4.8 5.1 6.0 1.0 2.5 1.7 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 2D array Arrays are lists of elements of the same data type. They are analogous to arrays in traditional languages. Arrays can have one or more dimensions. Arrays can have up to 2^31 elements per dimension. Actual array sizes that students can create is limited by memory. Elements are accessed by “index”. The index ranges from 0 to N-1 (N = number of elements in the array). Arrays are zero-indexed (first element is zero) in each dimension. A 2D array is analogous to a spreadsheet or table. Example: Temperature readings and time stamp. One column is time values, and the other column is readings. Point out element (2,3) and element (3,2) on the slide. Be careful to specify the element you really want. Example: The first element in an array is array (0), not array(1). 1 2 3 4 Five row by seven column array of 35 elements Labview 2009-2010

Array Controls and Indicators 1. Select the Array shell from the Controls palette 2. Place data object inside shell Creating arrays in LabVIEW: Choose Array from the Array and Cluster palette You can place any data type in an array shell except an array. You cannot have an array of arrays; use a 2D array instead. Two components: index and data object. Emphasize that this is a two-step process. Students often place only empty array shells on the front panel. Remind them they must place a data type inside the array shell. Demonstrate the following on your computer: Create a numeric array. Point out index and data object components. Show how to create a 2D array. Show how to display multiple array elements. Show that index elements always reference the upper-leftmost object in the array display. Show how elements in an array are initially “grayed-out,” indicating that a portion of the array has not been defined. Add Dimension for 2D arrays Labview 2009-2010

Creating Array Constants 1. Select Array Constant shell from the Array subpalette Creating array constants uses the same two-step process as a front panel array. Select an array constant from the Array subpalette of the Functions palette. Place a constant data type inside the empty array shell. Note again that the data types are “grayed-out” and must be manually defined if the user wants to store values in the array constant. 2. Place the data object in the array shell Labview 2009-2010

Auto-Indexing Auto-Indexing Enabled Loops can accumulate arrays at their boundaries with auto-indexing For Loops auto-index by default While Loops output the final value by default Right-click on tunnel and enable/disable auto-indexing Wire becomes thicker 1D Array 0 1 2 3 4 5 Auto-Indexing Disabled Wire remains the same size For Loops and While Loops can index and accumulate arrays at their boundaries. This is known as auto-indexing. The indexing point on the boundary is called a tunnel. The For Loop default is auto-indexing enabled. The While Loop default is auto-indexing disabled. Examples: Enable auto-indexing to collect values within the loop and build the array. All values are placed in array upon exiting loop. Disable auto-indexing if you are interested only in the final value. Only one value (last iteration) is passed out of the loop Labview 2009-2010

Creating 2D Arrays Inner loop creates column elements 0 1 2 3 4 5 You can use two nested For Loops to create a 2D array. Auto- indexing must be enabled for both. Inner loop creates column elements. Outer loop creates row elements. Explain the different line thicknesses. Demonstrate on your computer: How to change indexing and line thickness. Enable Indexing in pop-up menu means indexing is currently disabled. The menu choice is the opposite of the current index mode. Students get confused about this feature. Inner loop creates column elements Outer loop stacks them into rows Labview 2009-2010

Exercise 8.1 Goal Create and anlyze table of datas Concepts Tunnef structure with/without indexation function Datas generated by loop : real time value, last acquired value, all values Homework Open the last vi (while_adjusted.vi”) At the end of the program, display in a table, all generated value Analyze datas : number of datas, mean, RMS, Min, Max, Range Labview 2009-2010

Exercise 8.1 - D Labview 2009-2010

Exercise 8.1 - FP Labview 2009-2010

Summary Arrays group data elements of the same type. You can build arrays of numeric, Boolean, path, string, waveform, and cluster data types. The array index is zero-based, which means it is in the range 0 to n – 1, where n is the number of elements in the array. To create an array control or indicator, select an Array on the Controls»Array & Cluster palette, place it on the front panel, and drag a control or indicator into the array shell. If you wire an array to a For Loop or While Loop input tunnel, you can read and process every element in that array by enabling auto-indexing. By default, LabVIEW enables auto-indexing in For Loops and disables auto-indexing in While Loops. Polymorphism is the ability of a function to adjust to input data of different data structures. Do not immediately display this slide. Suggested questions for class participation: What is an array? Where might it be used? How would I create a 2D array of numeric controls? How can a loop create an array? Which loops can be used to do so? What does “polymorphic” mean? Labview 2009-2010

Wiring the Block Diagram Scalar 1D Array 2D Array Numeric Boolean String Not a complete list of data types; just ones that are used frequently through this course. Explain that in LabVIEW, you use wires to connect multiple terminals together to pass data in a VI. The wires must be connected to inputs and outputs that are compatible with the data that is transferred with the wire, therefore understanding the different data types is key to correct wiring. Explain the difference in colors and thicknesses. Explain that arrays and strings will be covered later in the course. Also, dynamic data type does not change width based on contents. Students are often looking for a more detailed list of all the data types in LabVIEW. If they ask about that, point them to the Help >> VI, Function, & How-To Help… On the Index Tab, search for data types and double click on the keyword to get a display on all of the data types and terminal representations in LabVIEW. Dynamic Labview 2009-2010

Lesson 9 Signal generation TOPICS Analog and digital signal generation Labview 2009-2010

Steps for creating an generation task How to create a task to generate a tension ? In Diagram, open Function Palette Express > Input > Assistant DAQ Analogous signal Générer un signal > Sortie analogique > Tension Digital signal Générer un signal > Sortie numérique > Sortie de ligne (1 Voie) ou port (plusieurs voies) Labview 2009-2010

Steps for creating an generation task How to create a task to generate an digital tension ? In Diagram, open Palette de fonction Express > Entrées > Assistant DAQ Générer un signal > Sortie numérique > Sortie de ligne (ou port) Labview 2009-2010

Exercise 9.1 Goal Concepts Homework Topic : Interface with LEDs and thermistance Concepts Analog and digital signal generation LEDs alimentation : 0-5 Volts Homework Step 1: Acquire temperature every 200ms and define 2 controls for temperature limits T0 and T1. Step 2 : When measured temperature is less than T0, light up LED1 (green) with an intensity that depends on measured temperature. greater than T0 and less than T1, light up LED2 (yellow) as a warning, and stop lighting up LED1 greater than T1, blink LED3 (red), and stop lighting up LED2 Step 3 : create and save historical data (time and data) Labview 2009-2010

Exercise 9.1 - D Labview 2009-2010

Lesson 10 Data saving TOPICS How to use several String functions About file I/O operations How to use the high-level File I/O Vis How to format text files for use in spreadsheets Labview 2009-2010

High-level File I/O VIs Write to Spreadsheet File Read from Spreadsheet File Write Characters to File Read Characters from File Read Lines from File Write to Spreadsheet File: Converts a 1D or 2D array of numbers to a single-precision, tab-delimited string and writes the string to an ASCII file. Useful for quickly creating ASCII spreadsheet files as in the last slide. Read from Spreadsheet File: Reads a tab-delimited ASCII file and converts the data back to a 1D or 2D array of numbers. Useful for reading data created with Write to Spreadsheet File, or data saved as an ASCII file from a spreadsheet program. Write Characters to File: Writes a character string to a file. Read Character from File: Reads a character string from a file. Read Lines from File: Read a specified number of lines from an ASCII file. All of the high-level VIs take care of opening/creating/replacing the file, reading/writing the file, and closing the file in one VI.

Data to string Date/Time Date to string Concatenate chain Concatenated chain Number to engineering string Concatenated chain

Exercise 10.1 Goal Concepts Homework Save temperature acquisitions into file Concepts Save datas into file Homework Open the last vi Save datas and time into spreadsheet file Save VI in « 13_Savefile.vi » and read data from a new vi …

Summary Use the File I/O VIs and functions located on the Functions»File I/O palette to handle all aspects of file I/O. When writing to a file, you open, create, or replace a file, write the data, and close the file. Similarly, when you read from a file, you open an existing file, read the data, and close the file. To access a file through a dialog box, do not wire file path in the Open/Create/Replace File VI. To write data to a spreadsheet file, you must format the string as a spreadsheet string, which is a string that includes delimiters, such as tabs. Use the Format Into File function to format string, numeric, path, and Boolean data as text and write the text to a file Suggested questions for class participation: What are some uses of strings? How are files opened using the Intermediate File I/O functions? When is it preferable to write data to a file in ASCII format? In binary integer format? In what ways can you write to a spreadsheet file?

Lesson 11 Programming with Express VI TOPICS Save data Labview 2009-2010

Exercise 11.1 Goal Concepts Homework Simulate, analyze and save only using Express VIs Concepts Express VI Homework Create a new vi that generates 2 signal independantly, filters the signal, indicates by a warning indicator if the signal amplitude exceeds a certain limit, and records the data when user ask. The speed of execution have to be controlled. Only with Express VIs

Exercise 11.1 - D Labview 2009-2010

Exercise 11.1 - F Labview 2009-2010