Home
LabVIEW Graphical Programming Course
Contents
1. Use this template to simulate the acquisition and display of data by generating data Note VIs created from this template will have automatic error handling enabled by default 1 i wit zi Browse for Template Small dialog Large dialog Cancel Help Figure 2 2 New Dialog Box Click the OK button to open the template You also can double click the name of the template VI in the Create new list to open the template If no template is available for the task you want to create you can start with a blank VI and create a VI to accomplish the specific task In the LabVIEW dialog box click the arrow on the New button and select Blank VI from the shortcut menu or press the Ctrl N keys to open a blank VI NOTE You also can open a blank VI by selecting Blank VI from the Create new list in the New dialog box or by selecting Files gt New VI 2 2 1 1 Open Templates Use the New dialog box to create different components in LabVIEW to help you build an application You can start with a blank VI to write a VI from scratch or start with a template to simplify the programming The New dialog box includes the following components e Create new Displays templates you can use to start building VIs and other LabVIEW 8 CHAPTER 2 INTRODUCTION documents Select from the following templates and click the OK button to start building a VI or other LabVIEW do
2. Figure 4 1 The While Loop is located on the Functions gt Execution Control palette Select the While Loop from the palette then use the cursor to drag a selection rectangle around the section of the block diagram you want to repeat When you release the mouse button a While Loop boundary encloses the section you selected Add block diagram objects to the While Loop by dragging and dropping them inside the While Loop NoTE The While Loop always executes at least once The While Loop executes the subdiagram until the conditional terminal an input terminal receives a specific Boolean value The default behavior and appearance of the conditional terminal is Stop If True shown in pg 73 When a conditional terminal is Stop If True the While Loop executes its subdiagram until the conditional terminal receives a True value The iteration terminal an output terminal shown in pg 73 contains the number of completed 73 74 CHAPTER 4 REPETITION AND LOOPS iterations The iteration count always starts at zero During the first iteration the iteration terminal returns 0 In the block diagram in Figure 4 2 the While Loop executes until the subVI output is greater than or equal to 10 00 and the Enable control is True The And function returns True only if both inputs are True Otherwise it returns False Figure 4 2 In the previous example Figure 4 2 there is an increased probability of an infinite loop Gen erally
3. The Index Array function returns the following array for an index row of 0 714112 5 4 Polymorphism The Numeric functions located on the Functions gt Express Numeric and Functions gt All Functions gt Numeric palettes are polymorphic This means that the inputs to these functions can be different data structures such as scalar values and arrays For example you can use the Add function to add a scalar value to an array or to add two arrays together If you wire a scalar value of 2 and the following array to the Add function 1 3 2 The function adds the scalar value to each element of the array and returns the following array 3 5 4 If you wire the previous two arrays to the Add function the function adds each element of one array to the corresponding element of the other array and returns the following array 4 8 6 Wire two arrays of different sizes to the Add function such as the previous array and the following array The function adds corresponding elements and returns the following array which is the size of the smaller input array You use the Numeric functions with clusters the same way you use them with arrays of numeric values Refer to Clusters Section 6 1 for more information about clusters 97 5 5 Array Exercise VI Exercise 5 1 Complete the following steps to build a VI that creates
4. Sa NI DAQmx Devices Pir Level 0x9 Ec sozse Devt GPIBO PCI GPIB Ports Serial amp Parallel ial IVI Instruments Scales Historical Data Software i VI Logger Tasks E Remote Systems FY Attributes BR Device Routes Calibration Figure 10 3 MAX displays the National Instruments hardware and software in the computer The device number appears in quotes following the device name The Data Acquisition VIs use this device number to determine which device performs DAQ operations MAX also displays the attributes of the device such as the system resources that are being used by the device NoTE You might have a different device installed and some of the options shown might be different Click the Show Help Hide Help button in the top right corner of MAX to hide the online help and show the DAQ device information 3 The Device Routes Figure 10 4 tab provides detailed information about the internal signals that can be routed to other destinations on the device This is a powerful resource that gives you a visual representation of the signals that are available to 192 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS provide timing and synchronization with components that are on the device and other external devices PCI 6024E Dey1 Measurement amp Automation Explorer File Edit View Tools Help Configuration ix My System Data Neighborhood Devices and Interfaces
5. 215 11 2 4 Software Architecture The software architecture for GPIB instrument control using LabVIEW is similar to the ar chitecture for DAQ The GPIB interface includes a set of drivers These drivers also are available on the LabVIEW CD and the majority of the drivers are available for download at http ni com support gpib versions htm Always install the newest version of these drivers unless otherwise instructed in the release notes for either the GPIB interface or LabVIEW Windows Use MAX to configure and test the GPIB interface MAX interacts with the various diagnostic and configuration tools installed with the driver and also with the Windows Registry and Device Manager The driver level software is in the form of a DLL and contains all the functions that directly communicate with the GPIB interface The Instrument I O VIs and functions directly call the driver software 11 2 4 1 Configuration Software Windows Note MAC OS and UNIX Refer to the GPIB interface documentation for information about configuring and testing the interface MAX is the configuration utility for National Instruments software and hardware It also can execute system diagnostics add new channels interfaces and virtual channels and view devices and instruments connected to the system Open MAX by double clicking the icon on the desktop or by selecting Toolss gt Measurement amp Automation Explorer in LabVIEW The Configuration pane of MAX incl
6. Integer Output Figure 4 10 To change the representation of a numeric object right click the object and select Representation from the shortcut menu Select the data type that best represents the data ut data types When LabVIEW converts double precision floating point numeric values to integers it rounds to the nearest integer LabVIEW rounds x 5 to the nearest even integer For example LabVIEW rounds 2 5 to 2 and 3 5 to 4 Refer to the Data Types section of Introduction to LabVIEW of this manual or to the LabVIEW Help for more information about data types 4 4 Timed Temperature VI Exercise 4 2 Complete the following steps to build a VI that uses the Thermometer VI to read a tem perature once every second for a duration of one minute 82 CHAPTER 4 REPETITION AND LOOPS 4 4 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 4 11 Thermometer 100 Seconds Elapsed Figure 4 11 a Place a thermometer located on the Controlss gt Numeric Indicators palette on the front panel This provides a visual indication of the temperature reading b Place a numeric indicator located on the Controlss gt Numeric Indicators palette on the front panel Label this indicator Seconds Elapsed Right click the indicator and select Representation gt gt I32 from the shortcut menu 4 4 2 Block Diagram 1 Build the block diagram shown in Figure 4 12 Thermometer Wait Until Next ms Multiple Seconds
7. Cosine Array Figure 9 11 The Transpose 2D Array function located on the Functions gt gt All Functions gt gt Array palette rearranges the elements of the 2D array so element i j becomes element j i as in Figure 9 12 170 CHAPTER 9 STRINGS AND FILE I O Figure 9 12 Fiza Eaire The Write To Spreadsheet File VI located on the Functions gt All Functions gt gt File I O palette formats the 2D array into a spreadsheet string and writes the string to a file The string has the format shown in Figure 9 13 where an arrow indicates a tab and a paragraph symbol indicates an end of line character S N C gt gt gt _ Figure 9 13 7 nn The Number To Fractional String function located on the Functions gt All Functions gt String gt String Number Conversion palette converts an array of nu 171 meric values to an array of strings that the table displays 2 Close the VI Do not save changes NoTE This example stores only three arrays in the file To include more arrays increase the number of inputs to the Build Array function 9 6 4 Optional Open the wave txt file using a word processor or spreadsheet application and view its contents 1 Open a word processor or spreadsheet application such as Windows Notepad or WordPad Mac OS SimpleText or UNIX Text Editor 2 Open wave txt The sine waveform data appear in the first column
8. The DAQmx Data Acquisition palette contains all of the VIs necessary to perform analog I O digital I O and counter timer operations The VIs are organized so that the most common operations can be performed using the VIs You can configure a task to perform a very specific function by using the Property Nodes in the palette Many applications that do not require advanced timing and synchronization can be performed by using the DAQ Assistant Express VI This course describes the use of the DAQ Assistant Express VI to perform data acquisition For more information on using all the features of NI DAQm x refer to the NIF DAQmx Help or attend the LabVIEW Data Acquisition and Signal Conditioning course The DAQ Assistant Express VI allows you to easily configure the data acquisition device When you place the DAQ Assistant Express VI on the block diagram a dialog box Figure 10 6 appears where you configure a local task to perform a specific measurement function Creating a local task allows you to specify the exact type of measurement to take 195 NI DAQ a DAQ Assistant Select the measurement type for your task Analog Input Analog Output Counter Input Counter Output Digital 1 0 lt Back Net gt Finish Cancel ly Figure 10 6 After you create a task the information for the local task is stored in the DAQ Assistant Express VI You can reconfigure the DAQ Assistant Express VI by double clicking the VI and creat
9. 1 Change the values of the front panel controls and run the VI The VI concatenates Header Number and Trailer into Combined String and displays the string length The VI also searches String 2 for a colon converts the string following the colon to Number Out and displays the index of the first character after the colon in Offset Past Match 2 Save and close the VI 9 4 File I O VIs and Functions File I O operations pass data to and from files Use the File I O VIs and functions located on the Functions gt gt All Functions gt File I O palette to handle all aspects of file I O including the following e Opening and closing data files e Reading data from and writing data to files e Reading from and writing to spreadsheet formatted files e Moving and renaming files and directories e Changing file characteristics e Creating modifying and reading configuration files 166 CHAPTER 9 STRINGS AND FILE I O 9 4 1 File I O VIs The File I O palette is divided into four types of operations high level low level advanced and express 9 4 1 1 High Level File I O VIs Use the high level File I O VIs located on the top row of the Functions gt gt All Functions gt gt File I O palette to perform common I O operations Refer to the High Level File I O VIs Section 9 5 section for more information about the high level File I O VIs You can save time and programming effort by using the high level VIs to write to and read from files The
10. By National Instruments URL http cnx org content m12281 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Instrument Control Overview By National Instruments URL http cnx org content m12282 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module GPIB Communication and Configuration By National Instruments URL http cnx org content m12283 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module GPIB Configuration with MAX Windows Only By National Instruments URL http cnx org content m12285 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Using the Instrument I O Assistant 276 By National Instruments URL http cnx org content m12286 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Using the Instrument I O Assistant Exercise By National Instruments URL http cnx org content m12287 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module VISA By National Instruments URL http cnx org content m12288 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Programming with VISA By National Instruments URL http cnx org content m
11. For example you can configure a VI to run immediately when it opens or to pause when called as a sub VI Editor Options Use this page to set the size of the alignment grid for the current VI and to change the style of control or indicator LabVIEW creates when you right click a terminal and select Create gt gt Control or Create gt Indicator from the shortcut menu 12 1 1 Window Appearance In the VI Properties dialog box select Window Appearance from the Category pull down menu to customize the window appearance for VIs 245 246 CHAPTER 12 CUSTOMIZING VIS These options apply to the VI when it is running Use these options to change how the user interacts with the application by restricting access to Lab VIEW features and by changing the way the window looks and behaves You can make the VI look and act like a dialog box so the user cannot interact with other windows while the VI window is open You also can remove the scrollbars and toolbar and you can set a window to be centered or automatically sized to fit the screen By default the VI window title is the same as the VI name You can customize the VI window title to make it more descriptive than the VI filename This is useful for localized VIs so the VI window title can be translated to the local language Remove the checkmark from the Same as VI Name checkbox to edit Window title To configure the window appearance select one of the following window styles A graphical represent
12. The DAQ Signal Accessory connects counter 0 source input to PFI 8 210 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS d Click the OK button to close the Counter Input Edge Count Task Configuration dialog box This saves all the settings specified for the task in the DAQ Assistant Express VI 2 Save the VI as Simple Event Counting vi in the C Exercises LabVIEW Basics I directory 3 On the DAQ Signal Accessory wire the A output of the quadrature encoder to the SOURCE input of counter 0 4 Run the VI Rotate the quadrature encoder knob on the DAQ Signal Accessory No tice that the Number of Events indicator increments as you rotate the knob The quadrature encoder knob produces pulses as you rotate the knob The counter counts these pulses 5 Stop the VI 6 Double click the DAQ Assistant Express VI and change the Count Direction pull down menu to Externally Controlled Click the OK button to close the configuration dialog box The DAQ Signal Accessory internally connects phase B of the quadrature encoder to the Up Down line for counter 0 This can be used to determine the direction the knob has turned 7 Run the VI Rotate the quadrature encoder knob on the DAQ Signal Accessory Notice that the Number of Events indicator decrements when you rotate the knob clockwise and increments when you rotate the knob counterclockwise 8 Save and close the VI 10 13 Digital I O Measuring and generating digital values is used in a variety of
13. The VI plots the auto indexed waveform array on the waveform graph 2 Enter the index of any element in the Waveform Array index display to view the value of that element If you enter a number greater than the array size of 100 the display dims 3 Use the Positioning tool to resize Waveform Array to view more than one element The indicator displays elements in ascending index order beginning with the index you entered 7 5 4 Block Diagram In this block diagram you use the default value of the initial x and Az value for the waveform In cases where the initial x and Az value are a specific value use the Bundle function to specify an initial x and Az value for a waveform array 1 Modify the block diagram as shown in Figure 7 19 130 CHAPTER 7 PLOTTING DATA Waveform Array Waveform Graph Figure 7 19 oot Place the Bundle function located on the Functions gt All Functions gt gt Cluster palette on the block diagram This function assembles the plot elements into a single cluster The elements include the initial x value 20 the Az value 0 5 and the y array of waveform data b Create two numeric constants for the initial x value and Az value c Label the Az constant by typing Dx Use the Labeling tool to select the D and select the Symbol font from the Text Settings pull down menu on the toolbar D converts to the delta symbol A d Wire the block diagram as shown in Figure 7 19 2 Save the VI 7 5 5 Run the
14. creativecommons org licenses by 1 0 Module Editing VI Properties By National Instruments URL http cnx org content m12304 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Edit Me VI By National Instruments URL http cnx org content m12305 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Customizing the Controls and Functions Palettes By National Instruments URL http cnx org content m12306 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Summary Tips and Tricks on Customizing VIs By National Instruments URL http cnx org content m12307 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Appendix By National Instruments URL http cnx org content m12308 latest Copyright National Instruments License http creativecommons org licenses by 1 0 LabVIEW Graphical Programming Course Introduction to LabVIEW About Connexions Since 1999 Connexions has been pioneering a global system where anyone can create course materi als and make them fully accessible and easily reusable free of charge We are a web based authoring teaching and learning environment open to anyone interested in education including students teach ers professors and lifelong learners We connect ideas and faci
15. else if c happens do d In text based programs this can be accomplished with if else statements case statements switch statements and so on LabVIEW includes many different ways of making decisions The simplest of these methods is the Select function 8 1 1 Select Function bE The Select function located on the Functionss gt Express Comparison palette selects between two values dependent on a Boolean input If the Boolean input s is True this function returns the value wired to the t input If the Boolean input is False this function returns the value wired to the f input You used the Select function in the Thermometer VI Section 3 5 exercise to determine whether to output a Fahrenheit value or a Celsius value as shown in the block diagram in Figure 8 1 DAQ Assistant Temp Scale Temperature Figure 8 1 If the decision to be made is more complex than a Select function can execute a Case structure may be required 143 144 CHAPTER 8 MAKING DECISIONS IN A VI 8 2 Case Structures fl True by Boas A Case structure has two or more subdiagrams or cases Only one subdiagram is visible af a time and the structure executes only one case at a time An input value determines which subdiagram executes The Case structure is similar to case statements or if then else statements in text based programming languages The case selector identifier at the top of the Case structure contains
16. gt Time amp Dialog palette on the block diagram Right click the input select Create gt gt Constant and type 500 in the constant to cause the For Loop to execute every 500 ms oe Place the Multiply function located on the Functions gt gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram This function mul tiplies each element of the output array by 0 50 to scale the x values to represent the time interval at which the VI takes the measurements oe Place the Pop up Graph VI located in the C Exercises LabVIEW Basics I directory on the block diagram This VI plots the temperature data on an XY graph e Complete the block diagram as shown in the previous figure 2 Save the VI as Use Pop up Graph vi in the C Exercises LabVIEW Basics I directory 3 Configure the subVI to display its front panel when called a Double click the Pop up Graph subVI to open its front panel b Select Files gt VI Properties c Select Window Appearance from the Category pull down menu d Click the Customize button Configure the window appearance as shown in the dialog box Figure 12 3 gt Customize Window Appearance V Window has title bar C Show menu bar C Show scroll bars C Show toolbar when running V Show Abort button M Show Run button C Show Run Continuously Button V Show Front panel when called Close afterwards if originally closed C Show front panel when loaded Wi
17. http cnx org content m12259 latest Copyright National Instruments ATTRIBUTIONS ATTRIBUTIONS 273 License http creativecommons org licenses by 1 0 Module File Reader VI By National Instruments URL http cnx org content m12260 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Formatting Spreadsheet Strings By National Instruments URL http cnx org content m12261 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Temperature Logger VI By National Instruments URL http cnx org content m12262 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Temperature Application VI By National Instruments URL http cnx org content m12263 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Summary Tips and Tricks on Strings and File I O By National Instruments URL http cnx org content m12264 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Additional Exercises for Strings and FileI O By National Instruments URL http cnx org content m12265 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Overview and Configuration of DAQ Devices By National Instruments URL http cn
18. meaning it has no callers and therefore is not a subVI If the VI that is running is a subVI the Run button appears as shown at left The Run button appears broken shown at left when the VI you are creating or editing contains errors If the Run button still appears broken after you finish wiring the block diagram the VI is broken and cannot run Click this button to display the Error list window which lists all errors and warnings aa Click the Run Continuously button shown at left to run the VI until you abort or pause execution You also can click the button again to disable continuous running While the VI runs the Abort Execution button shown at left appears Click this button to stop the VI immediately if there is no other way to stop the VI If more than one running top level VI uses the VI the button is dimmed NOTE Avoid using the Abort Execution button to stop a VI Either let the VI complete its data flow or design a method to stop the VI programmatically By doing so the VI is at a known state For example place a button on the front panel that stops the VI when you click it in Click the Pause button shown at left to pause a running VI When you click the Pause button LabVIEW highlights on the block diagram the location where you paused execution and the Pause button appears red Click the button again to continue running the VI 13pt Application Font Select the Text Settings pull down menu shown
19. that uses a Case structure instead of the Select function It is shown with the True case foremost in the Case structure I Assistant Temperature data eee Figure 8 2 To select a case type the value in the case selector identifier or use the Labeling tool to edit the values as shown in the block diagram in Figure 8 3 145 DAQ Assistant mr Figure 8 3 Once you have selected another case that case appears foremost as shown in the block diagram in Figure 8 4 i 4 gt DAQ Assistant Figure 8 4 If you enter a selector value that is not the same type as the object wired to the selector terminal the value appears red to indicate that you must delete or edit the value before the structure can execute and the VI will not run Also because of the possible round off error inherent in floating point arithmetic you cannot use floating point numeric values as case selector values If you wire a floating point value to the case LabVIEW rounds the value to the nearest even integer If you type a floating point value in the case selector the value appears red to indicate that you must delete or edit the value before the structure can execute 8 2 2 Input and Output Tunnels You can create multiple input and output tunnels for a Case structure Inputs are available to all subdiagrams but subdiagrams do not need to use each input When you create an output tunnel in one case correspondi
20. the support KnowledgeBase hundreds of examples and troubleshooting wizards for all topics discussed in this course and more Another excellent place to obtain support while developing various applications with National Instruments products is the NI Developer Zone at ni com zone The NI Developer Zone also includes direct links to the instrument driver network and to Alliance Program member Web pages 13 1 1 1 1 The Alliance Program The National Instruments Alliance Program joins system integrators consultants and hardware vendors to provide comprehensive service and expertise to customers The program ensures qualified specialized assistance for application and system development Information about and links to many of the Alliance Program members are available from the National Instruments Web site 13 1 1 1 2 Other National Instruments Training Courses National Instruments offers several training courses for LabVIEW users The courses are listed in the National Instruments catalog and online at ni com training These courses continue the training you received here and expand it to other areas You can either purchase the course materials or sign up for an instructor led hands on course by contacting National Instruments Thttp ni com http ni com zone 3http www ni com training 257 258 CHAPTER 13 APPENDIX 13 1 1 2 LabVIEW Publications 13 1 1 2 1 LabVIEW Technical Resource LTR Newsletter Subscribe to LabVI
21. 1 elements per dimension memory permitting You can build arrays of numeric Boolean path string waveform and cluster data types Con sider using arrays when you work with a collection of similar data and when you perform repetitive computations Arrays are ideal for storing data you collect from waveforms or data generated in loops where each iteration of a loop produces one element of the array You cannot create an array of arrays However you can create an array of clusters where each cluster contains one or more arrays Refer to Clusters Section 6 1 for more information about clusters Array elements are ordered An array uses an index so you can readily access any particular element The 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 For example if you create an array of the planets in the solar system n 9 for the nine planets so the index ranges from 0 to 8 Earth is the third planet so it has an index of 2 5 1 1 Creating Array Controls and Indicators To create an array control or indicator as shown in Figure 5 1 select an array on the Controls gt gt All Controls gt gt Array amp Cluster palette place it on the front panel and drag a control or indicator into the array shell If you attempt to drag an invalid control or indicator such as an XY graph into the array shell you are unable to drop the control or indicator in the array shell 91 92 CHAPT
22. 10 4 1 2 Acquire n Samples One way to acquire multiple samples for one or more channels is to acquire single samples in a repetitive manner However acquiring a single data sample on one or more channels over and over is inefficient and time consuming Moreover you do not have accurate control over the time between each sample or channel Instead you can use hardware timing which uses a buffer in 197 computer memory to acquire data more efficiently Programmatically you need to include the timing function and specify the sample rate and the sample mode finite As with other functions you can acquire multiple samples for a single channel or multiple channels With NI DAQmx you also can gather data from multiple channels For instance you might want to monitor both the fluid level in the tank and the temperature In such a case you need two transducers connected to two channels on the device 10 4 1 3 Acquire Continuously If you want to view process or log a subset of the samples as they are acquired you need to continually acquire samples For these types of applications set the sample mode to continuous 10 4 2 Task Triggering When a device controlled by NI DAQmx does something it performs an action Two very common actions are producing a sample and starting a waveform acquisition Every NI DAQmx action needs a stimulus or cause When the stimulus occurs the action is performed Causes for actions are called triggers The s
23. 232 standard includes electrical signal char acteristics voltage levels interface mechanical characteristics connectors functional description 232 CHAPTER 11 INSTRUMENT CONTROL of interchange circuits the function of each electrical signal and some recipes for common kinds of terminal to modem connections The most frequently encountered revision of this standard is called RS 232C Parts of this standard have been adopted with various degrees of fidelity for use in serial communications between computers and printers modems and other equipment The serial ports on standard IBM compatible personal computers follow RS 232 11 11 2 2 RS 449 RS 422 RS 423 The RS 449 RS 422 and RS 423 are additional EIA serial communication standards related to RS 232 RS 449 was issued in 1975 and was supposed to supersede RS 232 but few manufacturers have embraced the newer standard RS 449 contains two subspecifications called RS 422 and RS 423 While RS 232 modulates a signal with respect to a common ground or single ended transmission RS 422 modulates two signals against each other or differential transmission The RS 232C receiver senses whether the received signal is sufficiently negative with respect to ground to be a logical 1 whereas the RS 422 receiver senses which line is more negative than the other This makes RS 422 more immune to noise and interference and more versatile over longer distances The Macintosh serial ports follow RS 4
24. 5 2 3 19 2 4 22 2 5 27 2 6 37 2 7 38 2 8 39 2 9 42 2 10 48 2 11 49 2 12 52 5 1 91 5 2 93 5 3 94 5 4 96 5 5 97 5 6 98 5 7 99 6 1 101 6 2 103 6 3 105 6 4 108 6 5 109 6 6 111 7 2 115 7 3 121 7 7 135 7 9 138 7 11 140 8 1 143 8 2 144 8 3 148 8 4 150 8 5 153 8 6 154 8 7 155 8 8 156 9 1 157 9 3 162 9 4 165 9 5 167 9 6 168 9 7 171 9 8 173 9 9 175 9 10 177 9 11 180 9 12 184 9 13 185 9 14 186 10 1 187 10 2 191 10 3 194 10 4 195 10 5 197 10 6 199 10 8 201 10 9 204 10 7 200 10 10 205 10 11 208 10 12 209 10 13 210 10 15 211 10 16 212 11 1 213 11 2 213 11 3 216 11 4 218 11 5 219 11 6 220 11 7 222 11 8 224 11 9 224 11 10 227 11 11 229 11 12 234 11 13 237 11 14 240 11 15 243 11 16 243 12 1 245 12 2 247 12 3 247 12 4 250 12 5 250 12 6 252 12 7 253 12 8 254 12 9 254 13 1 257 node 8 5 153 PAD 217 palettes 12 8 254 plotting data 7 11 140 Polymorphism 5 4 96 5 4 96 99 pop up graph 12 3 247 primary address 217 Programming 1 1 1 Reduce Sampl
25. 65 A 61 141 97 a 42 102 66 B 62 142 98 b 43 103 67 C 63 143 99 c 44 104 68 D 64 144 100 d 45 105 69 E 65 145 101 e 46 106 70 F 66 146 102 f 47 107 71 G 67 147 103 g 48 110 72 H 68 150 104 h 49 111 73 I 69 151 105 i 4A 112 74 J 6A 152 106 j 4B 113 75 K 6B 153 107 k 4C 114 76 L 6C 154 108 l 4D 115 77 M 6D 155 109 m 4E 116 78 N 6E 156 110 n 4F 117 79 O 6F 157 111 o 260 CHAPTER 13 APPENDIX Hex Octal Decimal ASCII Hex Octal Decimal ASCII 50 120 80 P 70 160 112 p 51 121 81 Q 71 161 113 q 52 122 82 R 72 162 114 r 53 123 83 S 73 163 115 s 54 124 84 T 74 164 116 t 55 125 85 U 75 165 117 u 56 126 86 V 76 166 118 v 57 127 87 W 77 167 119 w 58 130 88 X 78 170 120 x 59 131 89 Y 79 171 121 y 5A 132 90 Z 7A 172 122 Z 5B 133 91 I 7B 173 123 5C 134 92 7C 174 124 5D 135 93 7D 175 125 5E 136 94 7E 176 126 5F 137 95 _ 7F 177 127 DEL 13 1 3 Instructor Notes 1 Make sure each station has the following components LabVIEW Basics I Introduction Course Manual LabVIEW Professional Development System 7 0 or later Multifunction DAQ device configured as Board ID 1 DAQ Signal Accessory and cable to connect the DAQ device to the DAQ Signal Accessory GPIB interface NI Instrument Simulator power supply GPIB cable to connect the GPIB interface to the NI Instrument Simulator and serial cable to connect the computer to the
26. Elapsed Figure 4 12 2 Place a For Loop located on the Functions gt All Functions gt gt Structures palette on the block diagram Right click the Loop Count terminal in the upper left corner of the For Loop and select Create Constant from the shortcut menu Type 60 in the constant to set the For Loop to repeat 60 times Place the Thermometer VI on the block diagram Select Functions gt All Functions gt gt Select a VI and navigate to C Exercises LabVIEW Basics 83 I Thermometer vito place the VI This VI reads the temperature from the DAQ device Right click the Temp Scale input and select Create gt gt Constant from the shortcut menu Use a False constant for Fahrenheit or a True constant for Celsius NoTE If you do not have a DAQ device with a temperature sensor on Channel 0 use the Demo Thermometer VI instead Place the Wait Until Next ms Multiple function located on the Functions gt gt All Functions gt Time amp Dialog palette on the block diagram Right click the input and select Create gt Constant from the shortcut menu Enter a value of 1000 to set the wait to every second i gt Place the Increment function located on the Functions gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram This function adds one to the iteration terminal output 2 Save this VI as Timed Temperature vi in the C Exercises LabVIEW Basics I direc tory 3 Run the VI The first re
27. Express VI 5 Click the Stop button 2 5 7 Customizing the Knob The knob control changes the amplitude of the sawtooth wave so labeling it Amplitude accurately describes the function of the knob Complete the following steps to customize the appearance of a control on the front panel 1 Right click the knob and select Properties from the shortcut menu to display the Knob Properties dialog box 2 In the Label section on the Appearance tab delete the label Knob and type Amplitude in the text box The Knob Properties dialog box should appear similar to Figure 2 24 36 CHAPTER 2 INTRODUCTION Knob Properties Amplitude Data Range scale Format and Precison TextLabels JP z Figure 2 24 3 Click the Scale tab and in the Scale Range section change the maximum value to 5 0 Notice how the knob on the front panel instantly updates to reflect these changes 4 Click the OK button to apply the current configuration and close the Knob Properties dialog box 5 Save this VI TIP As you build VIs you can experiment with different properties and configurations You also can add and delete objects Remember you can undo recent edits by selecting Edit gt Undo or pressing the Ctrl Z keys 6 Experiment with other properties of the knob by using the Knob Properties dialog box For example try changing the colors for the Marker Text Color by clicking the color box located on the Scale tab 7 Click the Cancel button t
28. Feedback Node 4 Run the VI Notice that both the Feedback Node and the shift register portions of the block diagram have the same functionality 5 If time permits complete the following optional steps otherwise close the VI and do not save changes 4 6 4 Optional 1 Revise the shift register to display the last three iterations of the For Loop data as shown in Figure 4 18 88 CHAPTER 4 REPETITION AND LOOPS Feedback Node Figure 4 18 a Resize the left shift register to three elements Right click the shift register and select Add Element from the shortcut menu to add each shift register b Initialize each elements of the shift register to 1 c Right click each element of the shift register and select Create gt gt Indicator Label each indicator 2 Run the VI 3 Close the VI Do not save changes 4 7 Summary Tips and Tricks on Repetition and Loops Use structures on the block diagram to repeat blocks of code and to execute code conditionally or in a specific order The While Loop executes the subdiagram until the conditional terminal receives a specific Boolean value By default the While Loop executes its subdiagram until the conditional terminal receives a True value The For Loop executes a subdiagram a set number of times You create loops by using the cursor to drag a selection rectangle around the section of the block diagram you want to repeat or by dragging and dropping block diagram objects inside
29. Figure 6 4 104 CHAPTER 6 CLUSTERS Input Cluster Output Cluster Bundle Figure 6 4 6 2 2 Replacing or Accessing Cluster Elements Use the Bundle by Name function to replace or access labeled elements of an existing cluster Bundle by Name works similarly to the Bundle function but instead of referencing cluster elements by their cluster order it references them by their owned labels You can access only elements with owned labels The number of inputs does not need to match the number of elements in output cluster Use the Operating tool to click an input terminal and select an element from the pull down menu You also can right click the input and select the element from the Select Item shortcut menu In Figure 6 5 you can use the Bundle by Name function to change Command and Function output cluster Command h Function Bundle By Name 7325 Figure 6 5 Use the Bundle by Name function for data structures that might change during development If you add a new element to the cluster or modify its order you do not need to rewire the Bundle by Name function because the names still are valid 6 2 3 Disassembling CLusters Use the Unbundle function to split a cluster into its individual elements Use the Unbundle by Name function to return the cluster elements whose names you specify The number of output terminals does not depend on the number of elements in the input cluster Use the Operating
30. Functions gt All Functions gt gt Structures palette on the block diagram Right click the con ditional terminal and select Continue if True from the shortcut menu NoTE Use the While Loop with Stop button located on the Execution Control palette when you need a stop button to stop the While Loop In this exercise you use the Number to Match control to stop the loop you do not need a Stop button A Wire the iteration terminal to the border of the While Loop A blue tunnel appears on the While Loop border You will wire the tunnel to the Increment function Each time the loop executes the iteration terminal increments by one The iteration count passes out of the loop upon completion Increment this value by one outside the loop because the count starts at 0 ot Place the Increment function located on the Functions gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram This function adds 1 to the While Loop count A coercion dot appears on the Number of iterations output to indicate that LabVIEW coerced the numeric representation of the iter ation terminal to match the numeric representation of the Number of iterations output Refer to the For Loops Section 4 3 section for more information about numeric conversion 2 Save the VI as Auto Match vi 4 2 5 Run the VI 1 Display the front panel and change the number in Number to Match 2 Run the VI Change Number to Match and run the VI again Current Number
31. Module Array Functions By National Instruments URL http cnx org content m12222 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Polymorphism By National Instruments URL http cnx org content m12223 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Array Exercise VI By National Instruments URL http cnx org content m12224 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Summary Tips and Tricks on Arrays By National Instruments URL http cnx org content m12225 latest Copyright National Instruments ATTRIBUTIONS ATTRIBUTIONS License http creativecommons org licenses by 1 0 Module Additional Exercises for Arrays By National Instruments URL http cnx org content m12226 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Clusters By National Instruments URL http cnx org content m12227 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Cluster Functions By National Instruments URL http cnx org content m12228 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Cluster Exercise VI By National Instruments URL http cnx org content m12229 latest Copy
32. Noise amplitude imulated frequenc Simulated noise amplitude Tone Measurements Simulated Signal iltered Signal Filtered Signal LN KA iltered Amplitude f g gt 1 23 Tone Measurements2 p Signals Amplitude tered Frequenc Figure 2 28 6 Click the Highlight Execution button shown at left on the toolbar to slow down the execution of the program so you can observe the execution order on the block diagram 7 Click the Run button 8 Observe the block diagram Notice the flow of data on the block diagram For example notice that the Tone Measurements2 Express VI cannot output data until it receives data from the Filter Express VI 9 Close the VI when finished Do not save changes 2 8 LabVIEW Documentation Resources 2 8 1 LabVIEW Documentation Resources Use the Context Help window the LabVIEW Help and the NI Example Finder to help you build and edit VIs Refer to the LabVIEW Help and manuals for more information about LabVIEW 39 40 CHAPTER 2 INTRODUCTION 2 8 1 1 Context Help Window ice The Context Help window displays basic information about LabVIEW objects when you move the cursor over each object The Context Help window is visible by default To toggle display of the Context Help window select Help gt gt Show Context Help press the Ctrl H keys or click the Show Context Help Window button shown in pg 40 on the toolbar When you move the cursor over front panel and block diagram
33. Use the following guidelines to help you construct the front panel e Place a VISA resource name control located on the Controls gt All Controls gt gt I O palette on the front panel e Set the x axis scale of the waveform chart to show incremental values 228 CHAPTER 11 INSTRUMENT CONTROL 11 10 2 Block Diagram 1 Build the block diagram shown in Figure 11 11 VISA Resource Name EZDI NI DEVSIM NI DEYSIM Simple NI DEVSIM Multimeter Measure DC NI DEYSIM Error Initialize vi Configuration vi Voltage vi Close vi Handler vi DEVSIM piim pial f l o oo l A B i E paanan cax Meosum xrrn exrrrrrrrrrrrr rxrrrrrxrIxrIxXXIIIXXKIXXIXIXXXIXXKAXX XIKEIIXIIXIIXKEEII r a i p eae ca waveform Chart Max Yoltage Max amp Min EAZ mi acelin Min Voltage E 100 BA a Time Delay h stop a Figure 11 11 a Create two shift registers by right clicking the right or left border of the loop and selecting Add Shift Register from the shortcut menu atialize Place the NI DEVSIM Initialize VI located on the Functions gt Input gt Instrument Drivers gt gt NI Device Simulator palette on the block diagram This VI opens communica tion between LabVIEW and the NI Instrument Simulator e Right click the ID Query input and select Create gt gt Constant from the shortcut menu Use the Operating tool to change the constant to a False value e Wire the Boolean constant to the Reset input aow Place the NI DEVSIM Multimeter
34. VI 2 5 6 Displaying Two Signals on the Graph To compare the signal generated by the Simulate Signal Express VI and the signal modified by the Scaling and Mapping Express VI on the same graph use the Merge Signals function Complete the following steps to display two signals on the same graph 1 Move the cursor over the arrow on the Sawtooth output of the Simulate Signal Express VI 2 Using the Wiring tool wire the Sawtooth output to the Waveform Graph terminal The Merge Signals function shown in pg 34 appears where the two wires connect This function takes the two separate signals and combines them so that both can be displayed on the same graph The block diagram should appear similar to Figure 2 23 35 gt Generate and Display Acquiring a Signal vi Block Diagram File Edit Operate Tools Browse Window Help al A LIA CLM e fealeh o 15t Aplcatonrort oi Ae ae Scaling and Simulate Signal Mapping Sawtooth rpp Signals error out f Scaled Signals _ pn gt Amplitude SS SSS Figure 2 23 3 Select File gt gt Save to save this VI You also can press the Ctrl S keys to save a VI 4 Return to the front panel run the VI and turn the knob control Notice that the graph plots the sawtooth wave and the scaled signal Also notice that the maximum value on the y axis automatically changes to be 10 times the knob value This scaling occurs because you set the slope to 10 in the Scaling and Mapping
35. VI 1 Display the front panel and run the VI The graph displays the same 100 points of data with a starting value of 20 and a Az of 0 5 for each point on the x axis In a timed test this graph would correspond to 50 seconds worth of data starting at 20 seconds NoTE Change the initial x and Az values in only one location either the Bundle function or in the Waveform Graph Properties dialog box 2 If time permits complete the optional steps Otherwise close the VI 7 5 6 Optional 1 Right click the waveform graph and select Visible Items gt gt Graph Palette from the shortcut menu to display the graph palette Click the Zoom button to see the data on the graph in more detail 2 Right click the graph and select Visible Items gt gt Scale Legend from the shortcut menu to display the scale legend 3 Return to the block diagram Create a multiple plot waveform graph by building a 2D array of the data type normally passed to a single plot graph Modify the block diagram as shown in Figure 7 20 131 Waveform Array Figure 7 20 abis Place the Sine function located on the Functions gt Arithmetic amp Comparison gt gt Express Numeric gt gt Express Trigonometric palette on the block di agram Use this function to build an array of points that represents one cycle of a sine wave co FA it Place the Build Array function located on the Functions gt All Functions gt gt Array palette on the block diagram This function cr
36. VI and drag it outside the While Loop to create a copy of the subVI The Thermometer VI returns one temperature measurement from the temperature sensor and initializes the left shift registers before the loop starts a u b LI Place the Compound Arithmetic function located on the Functions gt gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram This function returns the sum of the current temperature and the two previous temperature readings Use the Positioning tool to resize the function to have three left terminals alt Place the Divide function located on the Functions gt gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram This function re turns the average of the last three temperature readings a B 00 Right click the y terminal of the Divide function select Create gt gt Constant type 3 and press the lt Enter gt key 7 3 3 Run the VI 1 Run the VI During each iteration of the While Loop the Thermometer VI takes one temperature measurement The VI adds this value to the last two measurements stored in the left terminals of the shift register The VI divides the result by three to find the average of the three measurements the current measurement plus the previous two The VI displays the average on the waveform chart Notice that the VI initializes the shift register with a temperature measurement 7 3 4 Block Diagram 1 Modify the block diagram as show
37. Value f Right click the chart display and select Visible Items gt gt Digital Display from the shortcut menu to display the digital values 3 Select File gt Save As to save the VI as Temperature Control vi in the C Exercises LabVIEW Basics I directory 8 4 2 Block Diagram 1 Modify the block diagram as shown Figure 8 14 Enlarge the While Loop to create space for the new items 1 152 CHAPTER 8 MAKING DECISIONS IN A VI Divide Bundle Temperature History Warning Wait Until Next LF Tick Multiple Figure 8 14 Bi Tove h Bosses Place the Case structure located on the Functionss gt Execution Control palene on the block diagram Wire the Analysis control to the selector terminal Click the decrement or increment button to select the True case a gt Place two Greater functions located on the Functions gt Arithmetic amp Comparison gt gt Express Comparison palette on the block diagram This function returns True if the temperature exceeds High Limit Otherwise the function returns False DP Place the Select function located on the Functions gt Arithmetic amp Comparison gt gt Express Comparison palette on the block diagram This function returns the greater of the two input values d Wire the True case as shown in Figure 8 14 e Click the decrement or increment button to select the False case 2 Complete the False case of the Case Structure shown in Figure 8 15 Figure 8 15 a Right clic
38. action of the VI on the block diagram as the VI runs The single stepping buttons affect execution only in a VI or subVI in single step mode Enter single step mode by clicking the Step Over or Step Into button Move the cursor over the Step Over Step Into or Step Out button to view a tip strip that describes the next step if you click that button You can single step through subVIs or run them normally If you single step through a VI with execution highlighting on an execution glyph shown in pg 48 appears on the icons of the subVIs that are currently running 2 10 4 Probes e Use the Probe tool shown in pg 48 to check intermediate values on a wire as a VFI runs When execution pauses at a node because of single stepping or a breakpoint you also can probe the wire that just executed to see the value that flowed through that wire 49 You also can create a custom probe to specify which indicator you use to view the probed data For example if you are viewing numeric data you can choose to see that data in a chart within the probe To create a custom probe right click a wire and select Custom Probe gt New from the shortcut menu 2 10 5 Breakpoints Use the Breakpoint tool shown in pg 49 to place a breakpoint on a VI node or wire on the block diagram and pause execution at that locatiFon When you set a breakpoint on a wire execution pauses after data pass through the wire Place a breakpoint on the block diagram workspace to pau
39. an array of random numbers scales the resulting array and takes a subset of that final array 5 5 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 5 7 Figure 5 7 a Place an array located on the Controls gt gt All Controlss gt Array amp Cluster palette on the front panel b Label the array Random Array c Place a numeric indicator located on the Controlss gt Numeric Indicators palette in the array shell d Use the Positioning tool to resize the array control to contain 10 numeric indica tors e Press the lt Ctrl gt key while you click and drag the Random Array control to create two copies of the control f Label the copies Final Array and Subset Array g Place three numeric controls located on the Controlss gt Numeric Controls palette and label them Scaling Factor Start Subset and of Elements h Right click the Start Subset and of Elements controls and select Representation gt gt I32 from the shortcut menu i Do not change the values of the front panel controls 5 5 2 Block Diagram 1 Build the block diagram shown in Figure 5 8 98 CHAPTER 5 ARRAYS Random Array Final Array Array Subset 5 Subset Array Scalling Factor Figure 5 8 Poy oft Place the Random Number 0 1 function located on the Functions gt gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram This function generates a random number between 0 a
40. block diagram shown in Figure 9 4 Change the precision of the output by changing the precision of the indicator 162 CHAPTER 9 STRINGS AND FILE I O gt 3 ou x VOLTS DC 1 28E 2 Figure 9 4 In format string begins the format specifier and f indicates a floating point numeric with fractional format Right click the function and select Edit Scan String from the shortcut menu to create or edit a format string The Edit Scan String Figure 9 5 dialog box shows a configuration for the format string 4f gt Edit Format String Current format sequence Selected operation example Format fractional number 12 345 Options Right justify Pad using spaces Add New Operation C Use minimum field width Use specified precision Remove This Operation Corresponding Format string Figure 9 5 Refer to the LabVIEW Help for more information about format specifier syntax 9 3 Create String VI Exercise 9 1 9 3 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 9 6 Do not add labels for the comments they are shown for informational purposes only 163 he measurement is olts sDC sis 1 26E 1 ri n Figure 9 6 Use the following hints to build the front panel e Right click String 2 and select Codes Display from the shortcut menu The text typed in String 2 is Volts DC 1 26E 1 As shown using Codes display in the front pane
41. handling decisions on the block diagram of the VI 110 CHAPTER 6 CLUSTERS VIs and functions return errors in one of two ways with numeric error codes or with an error cluster Typically functions use numeric error codes and VIs use an error cluster usually with error inputs and outputs Error handling in LabVIEW follows the dataflow model Just as data flow through a VI so can error information Wire the error information from the beginning of the VI to the end Include an error handler VI at the end of the VI to determine if the VI ran without errors Use the error in and error out clusters in each VI you use or build to pass error information through the VI As the VI runs LabVIEW tests for errors at each execution node If LabVIEW does not find any errors the node executes normally If LabVIEW detects an error the node passes the error to the next node without executing The next node does the same thing and so on Use the Simple Error Handler VI shown in Figure 6 12 to handle the error at the end of the execution flow The Simple Error Handler VI is located on the Functions gt All Functions gt gt Time amp Dialog palette Wire the error cluster to the error in input ode no error 0 error c type of dialog OK msg 1 error in no error source source out error out message Figure 6 12 6 5 2 Error Clusters The error clusters located on the Functions gt gt All Functions gt gt Array amp Cluste
42. highlight the text of the marker and enter a new value 7 9 Intensity Graph Example VI Exercise 7 6 In this exercise you use a VI that displays a wave interference pattern on an intensity graph You also use the VI to plot a 2D array of data on the graph 7 9 1 Front Panel 1 Open and run the Intensity Graph Example Figure 7 29 VI located in the C Exercises LabVIEW Basics I directory By default the VI plots an interference waveform A Property Node on the block diagram defines the color range used in the intensity graph You can change the color range by opening the block diagram and modifying the Color Array constant 139 Figure 7 29 2 Change the Plot switch on the front panel to User Data and enter values between 0 0 and 10 0 in the User Data array control Run the VI Notice how the magnitude of each element is mapped to the intensity graph Figure 7 30 3 Close the VI Do not save changes 7 10 Summary Tips and Tricks on Plotting Data e The waveform chart is a special numeric indicator that displays one or more plots e The waveform chart has the following three update modes 140 CHAPTER 7 PLOTTING DATA A strip chart shows running data continuously scrolling from left to right across the chart A scope chart shows one item of data such as a pulse or wave scrolling partway across the chart from left to the right A sweep display is similar to an EKG display A sweep works similarly to a scope ex
43. inputs such as Amplitude appear on the block diagram and in the configuration dialog box you can configure the inputs in either location 2 5 3 Wiring Objects on the Block Diagram To use the knob control to change the amplitude of the signal you must connect the two objects on the block diagram Complete the following steps to wire the knob to the Amplitude input on the Simulate Signal Express VI ta A Move the cursor over the Knob terminal shown at left until the Positioning tool appears Notice how the cursor becomes an arrow or the Positioning tool shown in pg 31 Use the Positioning tool to select position and resize objects 2 Click the Knob terminal to select it then drag the terminal to the left of the Simulate Signal Express VI Make sure the Knob terminal is inside the loop shown in pg 31 The terminals are representations of front panel controls and indicators Terminals are entry and exit ports that exchange information between the front panel and block diagram 3 Deselect the Knob terminal by clicking a blank space on the block diagram Pa A Move the cursor over the arrow of the Knob terminal shown in pg 31 Notice how the cursor becomes a wire spool or the Wiring tool shown at left Use the Wiring tool to wire objects together on the block diagram NOTE The cursor does not switch to another tool while an object is selected Simulate Signal Sawtooth 2 ae eel When the Wiring tool appears c
44. inverted Scaling Factors Offset 0 00 Multiplier 1 00 Scale Style and Colors Grid Style and Colors i Major Tick Color Ey Minor Tick Color By Marker Text Color T Major Grid Color HB Minor Grid Color Figure 7 9 f Click the OK button to close the dialog box when finished 2 Right click the waveform chart and select Data Operations gt gt Clear Chart from the shortcut menu to clear the display buffer and reset the waveform chart TIP When a VI is running you can select Clear Chart from the shortcut menu 3 Each time you run the VI you first must turn on the vertical toggle switch and then click the Run button due to the current mechanical action of the switch Modify the mechanical action of the vertical toggle switch so temperature is plotted on the graph each time you run the VI without having to first set the toggle switch a Stop the VI if it is running b Use the Operating tool to click the vertical toggle switch and turn it to the ON position c Right click the switch and select Data Operationss gt Make Current Value Default from the shortcut menu This sets the ON position as the default value mF Lea de Right click the switch and select Mechanical Action gt gt Latch When Pressed from the shortcut menu This setting changes the control value when you click it and retains the new value until the VI reads it once At this point the control reverts to its default value even if you keep pressing the
45. lvm file includes information about the data such as the date and time the data was generated Refer to the Data Acquisition and Waveforms Section 10 1 section for more information on using the File I O Express VIs 9 4 2 LabVIEW Data Directory Use the default LabVIEW Data directory to store the data files LabVIEW generates such as lvm or txt files LabVIEW installs the LabVIEW Data directory in the default file directory for your operating system to help you organize and locate the data files LabVIEW generates By default the Write LabVIEW Measurement File Express VI stores the lvm files it generates in this directory and the Read LabVIEW Measurement File Express VI reads from this directory The Default Data Directory constant shown in pg 166 and the Default Data Directory property also return the LabVIEW Data directory by default Select Tools gt gt Options and select Paths from the top pull down menu to specify a different default data directory The default data directory differs from the default directory which is the directory you specify for new VIs custom controls VI templates or other LabVIEW documents you create 167 9 4 3 Basics of File I O A typical file I O operation involves the following process 1 Create or open a file Indicate where an existing file resides or where you want to create a new file by specifying a path or responding to a dialog box to direct LabVIEW to the file location After the file op
46. only inside a task are local Channels defined outside a task are global and can be used separately Configuring virtual channels is optional in Traditional NI DAQ and earlier versions but is integral to every measurement you take in NI DAQm x In Traditional NI DAQ you configure virtual channels in MAX In NI DAQmx you can configure virtual channels either in MAX or in a program and you can configure channels as part of a task or separately 191 10 2 Measurement amp amp Automation Explorer Windows Only Exercise 10 1 10 2 1 Examining the DAQ Device Settings 1 Launch MAX by double clicking the icon on the desktop or by selecting Toolss gt Measurement amp Automation Explorer in LabVIEW The utility searches the computer for installed National Instruments hardware and displays the information 2 Expand the Devices and Interfaces section to view the installed National Instruments devices Figure 10 3 shows the PCI 6024E and a PCI GPIB device PCI 6024E Dey1 Measurement amp Automation Explorer File Edit View Tools Help nfiguration f ES Properties 2 Self Test M Test Panels gt Show Help T x My System Name Value Data Neighborhood Serial Number 0xB1A74F GB Devices and Interfaces PY socket Number OxB ga Traditional NI DAQ Devices FY Bus Number 0x2 E PCI 6024E Device 1 FYmemory Range 1 OxFAFFFOOO OxFAFFFFFF PXI PXI System 0 Unidentified FY Memory Range 2 OxFAFFEOOO OxFAFFEFFF
47. perform a certain operation frequently Consider using subVIs or loops to perform that operation repetitively For example the block diagram in Figure 3 1 contains two identical operations 57 58 CHAPTER 3 MODULAR PROGRAMMING Compound Arithmetic Select Add Figure 3 1 You can create a subVI that performs that operation and call the subVI twice The example in Figure 3 2 calls the Temperature VI as a subVI twice on its block diagram and functions the same as the previous block diagram You also can reuse the subVI in other VIs Refer to Repetition and Loops Section 4 1 for more information about using loops to combine common operations Compound Arithmetic Output Figure 3 2 Refer to the LabVIEW Basics II Development Course Manual for more information about ap plication development The following pseudo code and block diagrams demonstrate the analogy between subVIs and subroutines 59 Function Code Calling Program Code main function average inl in2 out average pointi point2 pointavg out ini in2 2 0 SubVI Block Diagram CallingVI Block Diagram inl point I 3 out pointavg 3 2 Icons and Connector Panes After you build a VI front panel and block diagram build the icon and the connector pane so you can use the VI as a subVI 3 2 1 Creating an Icon it Every VI displays an icon shown in pg 59 in the upper right corner of the front panel and block diagra
48. play types N Displays backslash codes for all There sare sfour sdisplay stypes n sis sa sbackslash Codes non displayable characters Display Password Displays an asterisk for each EEEE EK EK K KK K K K KK K K KK K K KK K K KKK KKK K KKK K KK K K KK K K K Display character including spaces Hex Displays the ASCII value of each 5468 6572 6520 6172 6520 666F 7572 2064 6973 706C 6179 Display character in hex instead of the 2074 7970 6573 2E0A 5C20 6973 2061 2062 6163 6B73 character itself 6C61 7368 2E 9 1 2 Tables Use the table control located on the Controls gt gt All Controls gt gt List amp Table palette or the Express Table VI located on the Controls gt gt Text Indicators palette to create a table on the front panel Each cell in a table is a string and each cell resides in a column and a row Therefore a table is a display for a 2D array of strings The illustration in Figure 9 1 shows a table and all its parts sqrt x 0 0000 0 8788 3 1 0711 1 3058 0 05698 0 8688 5 0799 1 503 x Figure 9 1 1 Cell Indicated by Index Values 2 Column Headings 3 Vertical Scrollbar 4 Horizontal Scrollbar 5 Row Headings 6 Horizontal Index 7 Vertical Index 159 Define cells in the table by using the Operating tool or the Labeling tool to select a cell and typing text in the selected cell The table displays a 2D array of strings so you mus
49. series of pulses otherwise known as a pulse train When you configure a counter for simple event counting the counter increments when an active edge is received on the source In order for the counter to increment on an active edge the counter must be armed or started A counter has a fixed number it can count to as determined by the resolution of the counter For example a 24 bit counter can count to gCounter Resolution a 1 942 a 1 16 777 215 209 When a 24 bit counter reaches the value of 16 777 215 it has reached the terminal count The next active edge will force the counter to roll over and start at 0 10 12 Simple Event Counting VI Exercise 10 6 10 12 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 10 19 Number of Events 0 Figure 10 19 10 12 2 Block Diagram 1 Build the block diagram shown in Figure 10 20 Figure 10 20 Place the DAQ Assistant Express VI located on the Functions gt gt Input palette in a While Loop Complete the following steps to configure the counter to perform event counting a Select Counter Input gt gt Edge Count for the measurement to make b Select Dev1 gt gt ctr0 for the physical channel c In the Counter Input Edge Count Task Configuration dialog box that appears leave the settings as they are The default settings define the source of the counter as being Programmable Function Input PFI 8 which is the default source for counter 0
50. single data source but you can wire it to many VIs and functions that read the data Wires are different colors styles and thicknesses depending on their data types A broken wire appears as a dashed black line with a red X in the middle The examples in pg 25 are the most common wire types Wire Type Scalar 1D Array 2D Array Color Numeric a Orange floating point Blue integer Boolean J anmann String innrnrrrrrrr HHHHHHHHHI Soe Green FERRE Pink 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 For example you cannot wire an array output to a numeric input In addition the direction of the wires must be correct The wires must be connected to only one input and at least one output For example you cannot wire two indicators together The components that determine wiring compatibility include the data type of the control and or indicator and the data type of the terminal 26 CHAPTER 2 INTRODUCTION 2 4 3 3 1 Data Types Data types indicate what objects inputs and outputs you can wire together For example a switch has a green border so you can wire a switch to any input with a green label on an Express VI A knob has an orange border so you can wire a knob to any input with an orange label However you cannot wire an orange knob
51. that section Ex apples 1 Acquiring a Signal VI 2 5 27 analog 10 4 195 analog input 10 4 195 analog output 10 9 204 ANSI IEEE Standard 488 1 1987 213 appearance 12 1 245 array 5 3 94 Array Exercise VI 5 5 97 Array Functions 5 3 94 Arrays 5 1 91 5 1 91 91 5 6 98 5 6 98 98 5 7 99 ASCII 13 1 257 auto 5 2 93 Auto Indexing 5 2 93 5 2 93 block diagram 5 2 4 22 2 4 22 Case 8 7 155 8 8 156 case structure 8 2 144 channels 190 Cluster Exercise VI 6 3 105 Cluster Functions 6 2 103 6 2 103 Cluster Scaling VI 6 4 108 clusters 91 6 1 101 6 1 101 101 6 6 111 111 code 110 111 connector pane 5 61 Controls 12 4 250 counter 10 11 208 10 nT Customizing 12 8 254 12 9 254 DAQ 10 1 187 10 3 194 10 15 211 10 16 212 data 10 7 200 Data Acquisition 10 3 194 Data Communications Equipment 231 Data Format 241 Data Source 241 Data Terminal Equipment 231 Dataflow Programming 2 6 37 DCE 231 E apples 1 1 1 Terms are referenced by the page they appear on Ex Debug 2 11 49 Debugging Techniques 2 10 48 2 10 48 decision 8 1 143 Digital 10 13 210 10 14 210 Documentation Resources 2 8 39 2 8 39 driver 11 8 224 DTE 231 EIA 231 Electronic Indu
52. the user to know the exact IEEE 488 2 commands that the instrument is expecting 11 9 1 Components of an Instrument Driver All instrument drivers in the library have the same basic VI hierarchy The hierarchy sequence of VIs and error handling are the same as those used in other areas of I O in LabVIEW such as file I O DAQ TCP IP and so on Refer to the File I O VIs and Functions Section 9 4 section of the Strings and File I O lesson for more information about error handling Figure 11 8 shows the hierarchy of an instrument driver 3http www ni com devzone idnet 225 Getting Started DEYSIM ETSTAR Initialize Application Example Close i Py ty ine ak Configuration Action Status Data Utility Configure Action gt Data gt Uility b BA TAa bron Ds eika qe rE Figure 11 8 The high level functions are built from the low level functions For the most control over the instrument use the low level functions The high level functions are easy to use and have soft front panels that resemble the instrument Instrument drivers have VIs in the following categories e Initialize Initializes the communication channel to the instrument This VI also can perform an identification query and reset operation and it can perform any necessary actions to place the instrument in its default power on state or other specified state e Configuration Configures the instrument to perform operations such as setting up the
53. the VI so it stops when the user clicks the Power switch or an error occurs 1 Edit the block diagram as shown in Figure 9 25 183 prompt Enter File Name Function fopen 0 Bo sec Wee End of Line ib Build Text T i pe o_o Divid oe Temperature History DEW T Warning fa ANALYSIS R i igh value oHe a wait Until Next Power o poo Tick Multiple LO Figure 9 25 a status Place the Unbundle by Name function located on the Functions gt All Functions gt gt Cluster palette on the block diagram This function reads the status output from the error cluster ya LAD Place the Not function and the And function located on the Functions gt gt Arithmetic amp Comparison gt gt Express Boolean palette on the block diagram These functions set the conditional terminal to continue while Power is True and no error occurs 2 Save and run the VI 3 Test the error handling by deleting the refnum wire between the Write File function and the left border of the While Loop Right click the refnum input of Write File and select Create gt gt Constant 4 Run the VI again The VI should wait for a path then stop immediately with an error If error handling was not included in this VI the VI would not report the error until the user stopped the VI 5 If time permits complete the challenge steps Otherwise close the VI Do not save changes 9 11 4 Challenge 1 Replace the Build Text Express
54. the VIs You also can have more front panel controls or indicators than terminals A solid border highlights the pattern currently associated with the icon The maximum number of terminals available for a subVI is 28 The most commonly used pattern is shown in pg 62 This pattern is used as a standard to assist in simplifying wiring The top inputs and outputs are commonly used for passing references and the bottom inputs and outputs are used for error handling Refer to the section on Clusters Section 6 5 for more information about error handling Note Try not to assign more than 16 terminals to a VI Too many terminals can reduce the readability and usability of the VI To change the spatial arrangement of the connector pane patterns right click the connector pane and select Flip Horizontal Flip Vertical or Rotate 90 Degrees from the shortcut menu 3 2 4 Assigning Terminals to Controls and Indicators After you select a pattern to use for the connector pane you must define connections by assigning a front panel control or indicator to each of the connector pane terminals When you link controls and indicators to the connector pane place inputs on the left and outputs on the right to prevent complicated unclear wiring patterns in your VIs To assign a terminal to a front panel control or indicator click a terminal of the connector pane then click the front panel control or indicator you want to assign to that terminal Click an open
55. the command field type IDN and select n as the Termination character iii Click the Add Step button and click Read and Parse iv Click the Add Step button and click Read and Parse again Note The Instrument Simulator returns the byte size of the response the termination character the response then another termination character Therefore after IDN is sent to the instrument the response must be read twice v Click the Run button not the Run this step button The Run button runs the entire sequence 236 CHAPTER 11 INSTRUMENT CONTROL vi Return to the first Read and Parse step vii Click the Auto parse button The value returned is the size in bytes of the query response viii Rename Token to String Length in the Token name text box ix Select the second Read and Parse step x Click the Auto parse button The value returned is the identification string of the NI Instrument Simulator xi Rename Token to String in the Token name text box The configuration window should be similar to the Figure 11 19 Instrument I O Assistant xi ac gt 2 Add Step Undo Redo Run Show Help Step Sequence lt A Auto parse Parsing help Drun this step Clear parsing v Select Instrument Byte index Binary representation ASCII representation 00000000000 CEEE 00000000012 7 00000000024 00000000036 00000000048 00000000060 f write a Read and Parse Read and Parse
56. the desired behavior is to have one condition met to stop the loop rather than requiring both conditions to be met Ea You can change the behavior and appearance of the conditional terminal by right clicking the terminal or the border of the While Loop and selecting Continue if True shown at left You also can use the Operating tool to click the conditional terminal to change the condition When a conditional terminal is Continue if True the While Loop executes its subdiagram until the conditional terminal receives a False value as shown in Figure 4 3 Figure 4 3 The While Loop executes until the sub VI output is less than 10 00 or the Enable control is False 4 1 1 Structure Tunnels Data can be passed out of or into a While Loop through a tunnel Tunnels feed data into and out of structures The tunnel appears as a solid block on the border of the While Loop The block is the color of the data type wired to the tunnel Data pass out of a loop after the loop terminates When a tunnel passes data into a loop the loop executes only after data arrive at the tunnel 75 In Figure 4 4 the iteration terminal is connected to a tunnel The value in the tunnel does not get passed to the Iteration Number indicator until the While Loop has finished execution Figure 4 4 Only the last value of the iteration terminal displays in the Iteration Number indicator 4 2 Auto Match VI Exercise 4 1 Complete the following steps to build a V
57. the following e Creating simple text messages e Passing numeric data as character strings to instruments and then converting the strings to numeric values e Storing numeric data to disk To store numeric values in an ASCII file you must first convert numeric values to strings before writing the numeric values to a disk file e Instructing or prompting the user with dialog boxes On the front panel strings appear as tables text entry boxes and labels 9 1 1 Creating String Controls and Indicators Use the string control and indicator located on the Controls gt gt Text Controls and Controls gt gt Text Indicators palettes to simulate text entry boxes and labels Use the Operating tool or Labeling tool to type or edit text in a string control Use the Positioning tool to resize a front panel string object To minimize the space that a string object occupies right click the object and select the Visible Items gt gt Scrollbar option from the shortcut menu Right click a string control or indicator on the front panel to select from the display types shown in the following table The table also shows an example message for each display type 157 158 CHAPTER 9 STRINGS AND FILE I O Display Description Message Type Normal Displays printable characters us There are four display types is a backslash Display ing the font of the control Non printable characters generally ap pear as boxes There are four dis
58. the foreground color Double click this tool to frame the icon in the foreground color 61 Use the Filled Rectangle tool to draw a rectangle with a foreground color frame and filled with the background color Double click this tool to frame the icon in the foreground color and fill it with the background color tae I I Use the Select tool to select an area of the icon to cut copy move or make other changes Double click this tool and press the lt Delete gt key to delete the entire icon Use the Text tool to enter text into the icon Double click this tool to select a different font Windows The Small Fonts option works well in icons ll Use the Foreground Background tool to display the current foreground and back ground colors Click each rectangle to display a color palette from which you can select new colors e Use the options on the right side of the editing area to perform the following tasks Show Terminals Displays the terminal pattern of the connector pane OK Saves the drawing as the icon and returns to the front panel Cancel Returns to the front panel without saving any changes e The menu bar in the Icon Editor dialog box contains more editing options such as Undo Redo Cut Copy Paste and Clear 3 2 2 Setting Up the Connector Pane To use a VI as asubVI you need to build a connector pane shown in pg 61 The connector pane is a set of terminals that corresponds to the controls an
59. the random waveform data appear in the second column and the cosine waveform data appear in the third column 3 Exit the word processor or spreadsheet application and return to LabVIEW 9 7 Low Level File I O VI and Functions Use the following low level File I O VI and functions to perform basic file I O operations e Open Create Replace File Eoy Opens an existing file creates a new file or replaces an existing file programmatically or interactively using a file dialog box You can optionally specify a dialog prompt default file name start path or filter pattern If file path is empty the VI displays a dialog box from which you can select a file FILE E e Read File Reads data from an open file specified by refnum and returns it in data Reading begins at the current file mark or a location specified by pos mode and pos offset How the data is read depends on the format of the specified file ie e Write File W Writes data to an open file specified by refnum Writing begins at a location specified by pos mode and pos offset for byte stream files and at the end of the file for datalog files data header and the format of the specified file determine the amount of data written CLOSE e Close File Closes an open file specified by refnum and returns the path to the file associated with the refnum Error I O operates uniquely in this function which closes regard less of whether an error occurred in a preceding operation Th
60. the time of the measurement e In the Generic Text File section remove the checkmark from the Read generic text files checkbox because the data is stored in a LabVIEW measurement file e Click the OK button to close the dialog box b status Place the Unbundle by Name function located on the Functions gt All Functions gt gt Cluster palette on the block diagram od Place the Or function located on the Functions gt Arithmetic amp Comparison gt gt Express Boolean palette on the block diagram d Wire the EOF output of the Read LabVIEW Measurement File function to the Or function Wire the status output of the error cluster to the second input of the Or function This stops the While Loop when the entire LabVIEW Measurement File has been read or when an error occurs 2 Save the VI as Simple Data Reader vi in the C Exercises LabVIEW Basics I direc tory 3 Display the front panel and run the VI In the filename prompt that appears select the logger lvm file that you created earlier pg 202 4 The data that was stored in the LabVIEW Measurement File appears in the waveform chart NoTE You might need to rescale or autoscale the y axis of the waveform chart to display the data 5 Close the Simple Data Reader VI 203 204 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS 10 9 Analog Output Use analog output to perform digital to analog D A conversions The available analog output types Figure 10 14 for a task are voltage and curr
61. the y axis single fit button on the scale legend shown in pg 132 and pg 132 uM Use the Panning tool shown in pg 132 to click and drag the graph display Click the x axis and y axis single fit buttons again to restore the display to its original position peH Use the Cursor Movement tool shown in pg 132 to return the cursor to standard mode 13 Save and close the VI 7 6 Temperature Analysis VI Exercise 7 4 Complete the following steps to build a VI that measures temperature every 0 25 seconds for 10 seconds During the acquisition the VI displays the measurements in real time on a waveform chart After the acquisition is complete the VI plots the data on a graph and calculates the minimum maximum and average temperatures The VI displays the best fit of the temperature graph 7 6 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 7 22 133 Temperature Chart Temperature Graph Temp Fitted Mean 82 02 Max 88 52 Min 1 I 4 00 6 00 8 00 10 00 Batts Time sec Figure 7 22 a Set the point style of the waveform chart plot to a small z b Hide the plot legend of the waveform chart c Change the label of the waveform chart to Temperature Chart d Change the label of the waveform graph to Temperature Graph e Right click Temperature Chart and select Properties from the shortcut menu On the Scales tab change the x axis multiplier to 0 25 On the Format and Precisi
62. to an input with a green label Notice the wires are the same color as the terminal The dynamic data type stores the information generated or acquired by an Express VI The dynamic data type appears as a dark blue terminal shown at left Most Express VIs accept and or return the dynamic data type You can wire the dynamic data type to any indicator or input that accepts numeric waveform or Boolean data Wire the dynamic data type to an indicator that can best present the data Indicators include a graph chart or numeric indicator Most other VIs and functions in LabVIEW do not accept the dynamic data type To use a built in VI or function to analyze or process the data the dynamic data type includes you must convert the dynamic data type Use the Convert from Dynamic Data Express VI shown at left to convert the dynamic data type to numeric Boolean waveform and array data types for use with other VIs and functions When you place the Convert from Dynamic Data Express VI on the block diagram the Configure Convert from Dynamic Data dialog box appears The Configure Convert from Dynamic Data dialog box displays options that let you specify how you want to format the data that the Convert from Dynamic Data Express VI returns When you wire a dynamic data type to an array indicator LabVIEW automatically places the Convert from Dynamic Data Express VI on the block diagram Double click the Convert from Dynamic Data Express VI to open the Config
63. updates at every iteration of the loop because it is inside the loop Number of iterations updates upon completion because it is outside the loop Ae To see how the VI updates the indicators enable execution highlighting On the block diagram toolbar click the Highlight Execution button shown at left to enable execution highlighting Execution highlighting shows the movement of data on the block diagram from one node to another so you can see each number as the VI generates it 4 Change Number to Match to a number that is out of the data range which is 0 to 10000 with an increment of 1 5 Run the VI LabVIEW coerces the out of range value to the nearest value in the specified data range 6 Close the VI 79 4 3 For Loops A For Loop executes a subdiagram a set number of times Figure 4 7 shows a For Loop in LabVIEW a flow chart equivalent of the For Loop functionality and a pseudo code example of the functionality of the For Loop Q J N 100 i 0 Until i N Repeat code i i 1 End Figure 4 7 N The For Loop is located on the Functions gt All Functions gt gt Structures palette You also can place a While Loop on the block diagram right click the border of the While Loop and select Replace with For Loop from the shortcut menu to change a While Loop to a For Loop The value in the count terminal an input terminal shown in pg 79 indicates how many times to repeat the subdiagram Li The it
64. variable name o Voltage is voltagefo Configure ariables variable ariable Properties Format O Text Format fractional number 12 345 v Number Minimum field width O Boolean C Use minimum field width 0 Justification Padding Left Using spaces Right Using zeros Precision Use specified precision 4 3 Sample Number Sample result 12 35 12 3450 Figure 9 2 This configuration produces the block diagram shown in Figure 9 3 A probe has been added to view the value of the output string The Build Text Express VI concatenates the Beginning Text input in this case the voltage value at the end of the configured text 161 gt 2 Result Figure 9 3 9 2 2 Converting Strings to Numeric Values with the Scan From String Function The Scan From String function converts a string containing valid numeric characters such as 0 9 e E and period to a numeric value This function scans the input string and converts the string according to format string Use this function when you know the exact format of the input text This function can scan input string into various data types such as numeric or Boolean based on the format string Resize the function to increase the number of outputs Example 9 1 For example use a format string of f an initial search location of 8 and VOLTS DC 1 28E 2 as the input string to produce an output of 128 as shown in the
65. wiring by right clicking the functions and selecting Visible Items gt gt Terminals from the shortcut menu to remove the checkmark 65 e When you move the Wiring tool over a terminal the terminal area blinks indi cating that clicking will connect the wire to that terminal and a tip strip appears displaying the name of the terminal If the Context Help window is open the terminal area also blinks in the Context Help window e To cancel a wire you started press the lt Esc gt key right click or click the terminal where you started the wire 7 Display the front panel by clicking it or by selecting Window gt gt Show Front Panel 8 Save the VI as Convert C to F vi in the C Exercises LabVIEW Basics I directory 3 3 3 Run the VI 1 Enter a number in the numeric control and run the VI oe Use the Operating tool shown in pg 65 or the Labeling tool to double click the numeric control and type a new number BE Click the Run button shown at left to run the VI c Try several different numbers and run the VI again 3 3 4 Icon and Connector Pane 1 Right click the icon in the upper right corner of the front panel window and select Edit Icon from the shortcut menu The Icon Editor dialog box appears de Double click the Select tool shown in pg 65 on the left side of the Icon Editor dialog box to select the default icon 3 Press the lt Delete gt key to remove the default icon p Double click the Rectangle tool shown in
66. within the range Complete the following steps pg 76 to set the range between 0 and 10000 with an increment of 1 and a default value of 50 1 Right click the Number to Match control and select Data Range from the shortcut menu The Data Range page of the Numeric Properties dialog box appears a Remove the checkmark from the Use Default Range checkbox b Set the Default Value to 50 c Set the Minimum value to 0 and select Coerce from the Out of Range Action pull down menu d Set the Maximum value to 10000 and select Coerce from the Out of Range Action pull down menu e Set the Increment value to 1 and select Coerce to Nearest from the Out of Range Action pull down menu Do not close the dialog box 4 2 3 Modifying Digits of Precision By default LabVIEW automatically formats numeric controls You also can specify the precision or notation You can display numeric values in floating point scientific or SI notation Complete the following steps to change the precision to 0 1 Select the Format and Precision tab If you closed the Numeric Properties dialog box right click the Current Number indicator and select Format amp Precision from the shortcut menu The Format amp Precision page of the Numeric Properties dialog box appears a Select Floating Point and change Significant digits to Digits of precision b Type 0 in the Digits of precision text box and click the OK button 2 Repeat the instructions to set the precision for Cur
67. you do not type the name immediately LabVIEW uses a default label NoTeE You can edit a label at any time by double clicking the label using the Labeling tool or right clicking and selecting Properties from the shortcut menu to display the property dialog box 4 Create a numeric indicator You will use this indicator to display the value for degrees Fahrenheit 123 a f Select the Numeric Indicator located on the Controls gt Numeric Indicators palette b Move the indicator to the front panel and click to place the indicator c Type deg F in the label and press the lt Enter gt key or click the Enter button CHAPTER 3 MODULAR PROGRAMMING 3 3 2 Block Diagram 1 Display the block diagram by clicking it or by selecting Window gt Show Block Dia gram LabVIEW creates corresponding control and indicator terminal icons on the block diagram when you place controls and indicators on the front panel The termi nals represent the data type of the control or indicator You should see two double precision floating point terminals on the block diagram one indicator and one con trol NOTE Control terminals have a thicker border than indicator terminals gt Place the Multiply function located on the Functions gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram to the right of the deg C indicator If the Functions palette is not visible right click an open space on the block diagram workspace to d
68. 10 Save this VI as Reduce Samples vi in the C Exercises LabVIEW Basics I directory 2 9 3 Modifying the Signal Complete the following steps to use the LabVIEW Help to search for the Express VI that reduces the number of samples in a signal 1 Select Help gt gt VI Function amp How To Help to open the LabVIEW Help 43 44 CHAPTER 2 INTRODUCTION 2 Click the Search tab and type sample compression in the Type in the word s to search for text box Notice that this word choice reflects what you want this Express VI to do compress or reduce the number of samples in a signal 3 To begin the search press the Enter key or click the List Topics button 4 Double click the Sample Compression topic to display the topic that describes the Sample Compression Express VI 5 After you read the description of the Express VI click the Place on the block diagram button to select the Express VI 6 Move the cursor to the block diagram Notice how LabVIEW attaches the Sample Compression Express VI to the cursor 7 Place the Sample Compression Express VI on the block diagram to the right of the Simulate Signal Express VI 8 Configure the Sample Compression Express VI to reduce the signal by a factor of 25 using the mean of these values 9 Close the Configure Sample Compression dialog box 10 Using the Wiring tool wire the Sine output in the Simulate Signal Express VI to the Signals input in the Sample Compression Express VI 2 9 4 Custom
69. 12289 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module About Instrument Drivers By National Instruments URL http cnx org content m12290 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Using Instrument Driver VIs By National Instruments URL http cnx org content m12291 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Voltage Monitor VI By National Instruments URL http cnx org content m12292 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Serial Port Communication By National Instruments URL http cnx org content m12293 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Serial Write amp amp Read VI By National Instruments URL http cnx org content m12294 latest Copyright National Instruments ATTRIBUTIONS ATTRIBUTIONS 277 License http creativecommons org licenses by 1 0 Module Waveform Transfers By National Instruments URL http cnx org content m12295 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Waveform Example VI By National Instruments URL http cnx org content m12296 latest Copyright National Instruments License http creativ
70. 22 which can be converted to RS 423 by proper wiring of an external cable RS 423 can then communicate with most RS 232 devices over distances of 15 m or so 11 11 2 3 RS 232 Cabling Devices that use serial cables for their communication are split into two categories These are DCE and DTE DCE are devices such as a modem TA adapter plotter and so on while DTE is a computer or terminal RS 232 serial ports come in two sizes the D Type 25 pin connector and the D Type 9 pin connector Both of these connectors are male on the back of the PC Thus you require a female connector Figure 11 14 on the device pg 232 shows the pin connections for the 9 pin and 25 pin D Type connectors Figure 11 14 Function Signal PIN DTE DCE Data TxD 3 Output Input RxD 2 Input Output Handshake RTS 7 Output Input CTS 8 Input Output DSR 6 Input Output DCD 1 Input Output STR 4 Output Input Common Com 5 Other RI 9 Output Input 233 The DB 9 connector is occasionally found on smaller RS 232 lab equipment It is compact yet has enough pins for the core set of serial pins with one pin extra NoTE The DB 9 pin numbers for transmit and receive 3 and 2 are opposite of those on the DB 25 connector 2 and 3 Be careful of this difference when you are determining if a device is DTE or DCE The DB 25 connector Figure 11 15 is the standard RS 232 connector with enough pins to co
71. 3 Run the VI 1 Enter values in the front panel controls and run the VI An Enter Filename dialog box appears 2 Type demofile txt and click the Save or OK button to save the file The VI writes the String to Write Numeric to Write and Unit to Write values to the file 3 Close the VI 9 9 File Reader VI Exercise 9 4 9 9 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 9 17 using the file path control located on the Controls gt gt Text Controls palette and a string indicator located on the Controls gt gt Text Indicators palette 175 176 CHAPTER 9 STRINGS AND FILE I O File Path 4 C exercises LabVIEW Basics I demofile txt Sf String Read from File The measurement is 12 4500 Volts Figure 9 17 9 9 2 Block Diagram 1 Build the block diagram shown in Figure 9 18 prompt Select file name File Path Read File Close File Simple Error Handler vi Open Create Replace File vi Figure 9 18 as Place the Open Create Replace File VI located on the Functions gt All Functions gt gt File I O palette on the block diagram This VI displays a dialog box that you use to open or create a file Right click the prompt input select Create gt gt Constant from the shortcut menu and type Select Filename in the con stant Right click the function input select Create gt gt Constant from the shortcut menu and click the constant with the Operating tool to select open FILE E b
72. 4 a ha Ran can a ee 7 4623 7 4559 7 4904 0 60 80 100 120 140 7 5197 7 5206 7 5029 Time Figure 11 28 Data Format specifies an ASCII waveform or a binary waveform Data Source specifies whether the data is simulated or read from the NI Instrument Simulator through the GPIB 11 14 3 Block Diagram 1 Display and examine the block diagram shown in Figure 11 29 242 CHAPTER 11 INSTRUMENT CONTROL Acquire and convert the binary waveform string into an array of ee saraaa Extract binary waveform string and convert it to lan array of numbers Waveform String Data Source waveform Plot Figure 11 29 Pon The String Subset function located on the Functions gt All Functions gt gt String palette returns a substring of 128 elements starting from the fifth byte of the binary waveform string excluding the header and trailer bytes e HI The String to Byte Array function located on the Functions gt All Functions gt String gt gt String Array Path Conversion palette converts the binary string to an array of unsigned integers e The String Length function located on the Functions gt All Functions gt gt String palette returns the number of characters in the wave form string The Extract Numbers VI located in the Exercises directory extracts num bers from the ASCII waveform string and places them in an array Non numeric characters such as commas separate numbers in the string e Th
73. 4 directly opposite each other on the vertical sides of the loop border The right terminal contains an up arrow and stores data on the completion of an iteration LabVIEW transfers the data connected to the right side of the register to the next iteration Create a shift register by right clicking the left or right border of a loop and selecting Add Shift Register from the shortcut menu A shift register transfers any data type and automatically changes to the data type of the first object wired to the shift register The data you wire to the terminals of each shift register must be the same type To initialize a shift register wire any value from outside the loop to the left terminal If you do not initialize the shift register the loop uses the value written to the shift register when the loop last executed or the default value for the data type if the loop has never executed Use a loop with an uninitialized shift register to run a VI repeatedly so that each time the VI runs the initial output of the shift register is the last value from the previous execution Use an uninitialized shift register to preserve state information between subsequent executions of a VI After the loop executes the last value stored in the shift register remains at the right terminal If you wire the right terminal outside the loop the wire transfers the last value stored in the shift register You can add more than one shift register to a loop If you have multiple ope
74. 7 3 Complete the following steps to build a VI that generates and plots an array on a waveform graph and modify the VI to graph multiple plots 7 5 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 7 16 Waveform Graph Plot 0 on Waveform Array J fees Amplitude Jamplitude Blt Figure 7 16 128 CHAPTER 7 PLOTTING DATA a Place an array located on the Controls gt gt All Controls gt Array amp Cluster palette on the front panel b Label the array Waveform Array c Place a numeric indicator located on the Controlss gt Numeric Indicators palette in the array shell d Place a waveform graph located on the Controls gt Graph Indicators palette on the front panel 7 5 2 Block Diagram 1 Build the block diagram shown in Figure 7 17 Waveform Array Waveform Graph Figure 7 17 a Place the Thermometer VI on the block diagram Select Functions gt gt All Functions gt gt Select a VI and navigate to C Exercises LabVIEW Basics I Thermometer vi This subVI returns one temperature reading during each For Loop iteration Note Use the Demo Thermometer VI if you do not have a DAQ device available oJ ned Place a For Loop located on the Functions gt gt All Functions gt gt Structures palette on the block diagram In this exercise each For Loop iteration generates a temperature value and stores it in the indexed tunnel Create a constant of 100 for the co
75. 8 2 8 39 2 9 42 2 10 48 2 11 49 2 12 52 5 1 1 5 2 93 5 3 94 5 4 96 5 5 A TS a wor ox aD A Ke Go we 5 7 99 6 1 101 6 2 is 6 3 105 6 4 108 6 5 109 6 6 111 7 2 115 7 3 121 7 7 135 7 9 138 7 11 140 8 1 143 8 2 144 8 3 148 8 4 150 8 5 153 8 6 154 8 7 155 8 8 156 9 1 157 9 2 159 9 3 162 9 4 165 9 5 167 9 6 168 9 7 171 9 8 173 9 9 175 9 10 177 9 11 180 9 12 184 9 13 185 9 14 186 10 1 187 10 2 191 10 3 194 10 4 195 10 5 197 10 6 199 10 7 200 10 8 201 10 10 205 10 11 208 10 9 204 10 12 209 10 13 210 10 14 210 10 15 211 10 16 212 11 1 213 11 2 213 11 3 216 11 4 218 11 5 219 11 6 220 11 7 222 11 8 224 11 9 224 11 10 227 11 11 229 11 12 234 11 13 237 11 14 240 11 15 243 11 16 243 12 1 245 12 2 247 12 3 247 12 4 250 12 5 250 12 6 252 12 7 253 12 8 254 12 9 254 13 1 257 LabVIEW Environment 2 2 5 lesson one 2 12 52 M MAX 10 2 191 11 3 216 Measurement Averaging 10 6 199 263 N National Instrument 9 2 159 10 14 210 National Instruments 2 1 5 2 2
76. APTER 7 PLOTTING DATA i gt Chart Properties Temperature History Appearance Format and Precision Plots Scales Documentation Temp v lt none gt o e o Line Color Fill To lt none gt v Y scale Deg F Y axis v Point Fill Color x scale Time sec X axis Figure 7 7 d Select the Scales tab and select the Time sec X axis in the top pull down menu Set the scale options as shown in Figure 7 8 Set the Multiplier to 0 50 to account for the 500 ms Wait function 119 gt Chart Properties Temperature History Appearance Format and Precision Plots Scales Documentation Time sec X axis v Name Time sec Scale Label Visible C Autoscale Scale Visible Minimum 0 00 log Maximum 20 00 inverted Scaling Factors Offset 0 00 __ Multiplier 0 50 Scale Style and Colors Grid Style and Colors I Major Tick Color Ey Minor Tick Color T Major Grid Color By Marker Text Color I Minor Grid Color Figure 7 8 e In the Scales tab select the Deg F Y axis in the top pull down menu Set the scale options as shown in Figure 7 9 120 CHAPTER 7 PLOTTING DATA gt Chart Properties Temperature History Appearance Format and Precision Plots Scales Documentation Deg F Y axis Name Deg F Scale Label Visible C Autoscale Scale Visible Minimum 70 00 Log Maximum 90 00
77. AX is the primary configuration and testing utility that is available for the DAQ device e The DAQ Assistant is used to configure the DAQ device and perform data acquisition e Most programs can use the DAQ Assistant For programs that require advanced timing and synchronization use the VIs that come with NI DAQmx 212 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS e The DAQ Assistant can perform analog input analog output counter and digital I O and operations 10 16 Additional Exercises for Data Acquisition and Waveforms Exercise 10 8 Build a VI that continuously measures temperature twice per second and displays the temperature on a waveform chart If the temperature goes over a preset limit the VI should turn on a front panel LED and LED 0 on the DAQ Signal Accessory The LEDs on the box are labeled The chart should plot both the temperature and limit Save the VI as Temp Monitor with LED vi in the C Exercises LabVIEW Basics I directory Chapter 11 Instrument Control 11 1 Instrument Control Overview You are not limited to the type of instrument that you control if you choose industry standard control technologies You can use instruments from many different categories including serial GPIB VXI PXI computer based instruments Ethernet SCSI CAMAC and parallel port devices This lesson describes the two most common instrument communication methods GPIB and serial port communication You must consider the following i
78. Bin and ASCII x Byte order Big Endian Motorola x Separators Selected Token Settings MMM Outputs Token name String Length Strind String Data Type Sealing Type String Ke and Serial Device Simulator Rev B 1 Character Count a v Ra To end of data OK Cancel Figure 11 19 xii Select OK to return to the block diagram b Right click the String output and select Create gt gt Indicator from the shortcut menu c Right click the String Length output and select Create gt gt Indicator from the shortcut menu TIP Since LabVIEW is set to handle errors automatically there is no need to connect a Simple Error Handler VI to error out 2 Display the front panel and run the VI 3 Save the VI as Serial Communication vi in the C Exercises LabVIEW Basics I directory 4 Close the VI when finished 237 11 13 Waveform Transfers Many instruments return a waveform as an ASCII string or a binary string Assuming the same waveform a binary string transfer is faster and requires less memory than an ASCII string transfer Binary encoding requires fewer bytes than ASCII encoding 11 13 1 ASCII Waveforms As an example consider a waveform composed of 1 024 points each point having a value between 0 and 255 Using ASCII encoding you would need a maximum of 4 bytes to represent each point a maximum of 3 bytes for the value of the point and 1 byte for the separator such as a
79. Bundle function located on the Functions gt All Functions gt gt Cluster palette on the block diagram This function assembles Small Cluster d Place the Unbundle by Name function located on the Functions gt gt All Functions gt gt Cluster palette on the block diagram This function returns two elements from Cluster Resize this function to have two output terminals If a label name is not correct right click the name and select the correct name from the Select Item shortcut menu o Place the Increment function located on the Functions gt All Functions gt Numeric palette on the block diagram This function adds one to the value of Numeric ot Place the Not function located on the Functions gt Arithmetic amp Comparison gt gt Express Boolean palette on the block diagram This function re turns the logical opposite of the value of the Boolean terminal of the Unbundle by Name function Numeric g Boolean Place the Bundle by Name function located on the Functions gt All Functions gt gt Cluster palette on the block diagram This function replaces the values of Numeric and Boolean 1 in Cluster and creates Modified Cluster Resize 107 108 CHAPTER 6 CLUSTERS this function to have two input terminals If a label name is not correct right click the name and select the correct name from the Select Item shortcut menu h Complete the block diagram and wire the objects as shown in Figure 6 9 2 Save the VI as Clust
80. Category pull down menu 9 Select and delete the Quit LabVIEW function from the block diagram 10 Save and close the Edit Me VI Close the new VI and do not save changes 11 Open the Edit Me VI again 12 After the VI runs try to edit it 13 Close the Edit Me VI 254 CHAPTER 12 CUSTOMIZING VIS 12 8 Customizing the Controls and Functions Palettes You can customize the Controls and Functions palettes to add VIs and controls to the palettes hide VIs and functions or rearrange the built in palettes to make the VIs and functions you use frequently more accessible 12 8 1 Adding VIs and Controls to the User Library and the Instrument Library The simplest method for adding VIs and controls to the Controls and Functions palettes is to save them in the labview user lib directory When you restart LabVIEW the Functionss gt Express User Libraries and Controlss gt Express User Controls palettes contain subpalettes for each directory VI library lb or menu mnu file in the labview user lib directory and icons for each file in the labview user lib directory After you add files to or remove files from specific directories LabVIEW automatically updates the palettes when you restart LabVIEW The Functions gt gt All Functions gt gt Instrument I O palette corresponds to the labview instr lib di rectory Save instrument drivers in this directory to add them to the Functions palette When you add VIs or controls to the Controls and Functions palet
81. Click the Finish button e The Analog Input Voltage Task dialog box appears Configure the Task Tim ing to Acquire 1 Sample e Click the OK button to close the Analog Input Voltage Task Configuration dialog box This saves the settings specified for the task in the DAQ Assistant Express VI ol Place the Wait Until Next ms Multiple function located on the Functions gt gt All Functions gt gt Time amp Dialog palette on the block diagram Right click the input and select Create Constant from the shortcut menu Type 100 in the constant to cause the loop to execute every 100 ms c L status Place the Unbundle by Name function located on the Functions gt All Functions gt gt Cluster palette on the block diagram Use this function to access the status from the error cluster d Place the Or function located on the Functions gt Arithmetic amp Comparison gt gt Express Boolean palette on the block diagram This function stops the loop if an error occurs or the user clicks the power switch on the front panel 2 Save the VI as Voltmeter vi in the C Exercises LabVIEW Basics I directory You will use this VI later in the course 3 Display the front panel and run the VI The meter displays the voltage the temperature sensor outputs Place your finger on the temperature sensor and notice that the voltage increases 10 5 3 Scales The temperature sensor on the DAQ Signal Accessory outputs the voltage in degrees Cel sius scaled by 100 In o
82. Configuration VI located on the Functions gt gt Input gt Instrument Drivers gt gt NI Device Simulator gt gt Configuration palette on the block diagram This VI configures the range of voltage measurements that the NI Instrument Simulator generates The default is 0 0 to 10 0 V DC DEVSIM d Place the NI DEVSIM Measure DC Voltage VI located on the Functions gt gt Input gt gt Instrument Driverss gt NI Device Simulator gt gt Data palette on the block diagram This VI returns a simulated voltage measurement from the NI Instrument Simulator 229 Lape e Place the NI DEVSIM Close VI located on the Functions gt gt Input gt Instrument Drivers gt gt NI Device Simulator palette on the block diagram This VI ends communication between LabVIEW and the NI Instrument Simulator Be f BELH Place the Max amp Min function located on the Functions gt All Functionss gt Comparison palette on the block diagram Use two of these functions to check the current voltage against the minimum and maximum values stored in the shift registers g ey Place the Simple Error Handler VI located on the Functions gt gt All Functions gt gt Time amp Dialog palette on the block diagram This VI displays a dialog box if an error occurs and displays the error information h Place the Unbundle by Name function located on the Functions gt gt All Functions gt gt Cluster palette on the block diagram This function accepts status from the error cl
83. Control terminals have a thicker border than indicator terminals To change a control to an indicator or to change an indicator to a control right click the object and select Change to Indicator or Change to Control from the shortcut menu 53 The block diagram is composed of nodes terminals and wires The broken Run button appears on the toolbar to indicate the VI is broken Click the broken Run button to display the Error list window which lists all the errors Use execution highlighting single stepping probes and breakpoints to debug VIs by animating the flow of data through the block diagram 2 12 2 Tips and Tricks 2 12 2 1 Operating Frequently used menu options have equivalent keyboard shortcuts For example to save a VI you can select Files gt Save or press the Ctrl S keys Common keyboard shortcuts include the following Ctrl R Runs a VI Ctrl E Toggles between the front panel and block diagram Ctrl H Toggles display of the Context Help window Ctrl B Removes all broken wires Ctrl F Finds VIs globals functions text or other objects loaded in memory or in a specified list of VIs To increment or decrement numeric controls faster use the Operating or Labeling tools to place the cursor in the control and press the Shift key while pressing the up or down arrow keys You can disable the debugging tools to reduce memory requirements and to increase perfor mance slightly Select Files gt VI Properties sel
84. ER 5 ARRAYS 1 7 300 1 00 Figure 5 1 1 Index Display 2 Element Display You must insert an object in the array shell before you use the array on the block diagram Otherwise the array terminal appears black with an empty bracket 5 1 1 1 Two Dimensional Arrays A 2D array stores elements in a grid It requires a column index and a row index both of which are zero based to locate an element Figure 5 2 shows a 6 column by 4 row 2D array which contains 6 x 4 24 elements Column Index 0 1 2 3 4 5 Row Index won oO Figure 5 2 To add dimensions to an array one at a time right click the index display and select Add Dimension from the shortcut menu You also can use the Positioning tool to resize the index display until you have as many dimensions as you want Figure 5 3 is an example of an uninitialized 2D array control 93 Figure 5 3 5 1 2 Creating Array Constants You can create an array constant on the block diagram by selecting an array constant from the Functions gt All Functions gt Array palette placing it on the block diagram and dragging a constant into the array shell Array constants are useful for passing data into a subVI 5 2 Auto Indexing 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 When you auto index an array output tunnel the output array receives a new element from
85. EW Technical Resource to discover power tips and techniques for developing LabVIEW applications This quarterly publication offers detailed technical information for novice users as well as advanced users In addition every issue contains a disk of LabVIEW VIs and utilities that implement methods covered in that issue To order LabVIEW Technical Resource contact LTR publishing at 214 706 0587 or visit www ltrpub com 13 1 1 2 2 LabVIEW Books Many books have been written about LabVIEW programming and applications The National Instruments Web site contains a list of all the LabVIEW books and links to places to purchase these books Publisher information is also included so you can directly contact the publisher for more information on the contents and ordering information for LabVIEW and related computer based measurement and automation books 13 1 1 3 The info labview Listserve Info labview is an email group of users from around the world who discuss Lab VIEW issues The list members can answer questions about building LabVIEW systems for particular applications where to get instrument drivers or help with a device and problems that appear Send subscription messages to the info labview list processor at listmanager pica army mil Send other administrative messages to the info labview list maintainer at info labview REQUEST Qpica army mil Post a message to subscribers at info labview pica army mil You may also want to search the ftp
86. I located in the C Exercises LabVIEW Basics I directory The following front panel is already built Edit Me vi Can You Edit Me Figure 12 6 The VI is already running when it opens While the VI runs you cannot use the menu bar toolbar or keyboard shortcuts to edit or abort the VI 2 Click the Start button After 10 seconds the VI stops running and quits LabVIEW 3 Relaunch LabVIEW and open a blank VI 4 If the VI you want to edit either does not have subVIs or you do not know what it contains complete pg 253 through pg 253 However if the VI you want to edit has subVIs open one of the subVIs and modify the block diagram to break the subVI For example place an Add function on the block diagram and do not wire the inputs Open the VI you want to edit Because its subVI is nonexecutable the VI that calls it is also nonexecutable It opens in edit mode and the Run button appears broken Make sure to fix the subVI after you edit the calling VI 5 Display the block diagram of the new VI 6 Place the Edit Me VI which is already built on the block diagram The front panel for the Edit Me VI displays Although you can display the block diagram of the Edit Me VI you cannot edit it 7 Select Operate gt gt Change to Edit Mode A dialog box informs you that the VI is locked 8 Click the Unlock button You now can edit the VI You also can unlock a VI by se lecting File gt gt VI Properties and selecting Security from the
87. I that generates random numbers until the number generated matches a number you specify The iteration terminal records the number of random numbers generated until a match occurs 4 2 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 4 5 Modify the controls and indicators as shown in the front panel Figure 4 5 and as described in the following steps pg 76 76 CHAPTER 4 REPETITION AND LOOPS Number to Match Current Number Also 0 numeric control numeric indicator Data Range Precision 0 Default 50 Min 0 Coerce Max 10000 Coerce of iterations Inc 1 Coerce to Nearest o Precision 0 numeric indicator Precision 0 Figure 4 5 a Place a numeric control located on the Controlss gt Numeric Controls palette on the front panel Label the control Number to Match This control specifies the number to match b Place a numeric indicator located on the Controlss gt Numeric Indicators palette on the front panel Label the indicator Current Number This indicator displays the current random number c Place another numeric indicator on the front panel Label the indicator Number of iterations This indicator displays the number of iterations before a match 4 2 2 Setting the Data Range Set a data range for a control to prevent the user from selecting a value that is not com patible with a range or increment You can choose to ignore a value that is out of range or coerce it to
88. LabVIEW Basics I Create String vi This subVI concatenates the three input strings to one combined string ia ow Place the Open Create Replace File VI located on the Functions gt All Functions gt gt File I O palette on the block diagram This VI displays a dialog box 1 lt http cnx org content mex81 latest gt to open or create a file Right click the prompt input select Create gt gt Constant from the shortcut menu and type Enter Filename in the constant When the VI runs a file navigation dialog box appears with Enter Filename as the title of the window Right click the function input select Create gt gt Constant from the shortcut menu and click the constant with the Operating tool to select create or replace Ve Place the Write File function located on the Functions gt gt All Functions gt gt File I O palette on the block diagram This function writes the concatenated strings to the file CLOSE d SH Place the Close File function located on the Functions gt All Functions gt File I O palette on the block diagram This function closes the file oe Place the Simple Error Handler VI located on the Functions gt gt All Functions gt gt Time amp Dialog palette on the block diagram This function checks the error cluster and displays a dialog box if an error occurs f Complete the block diagram as shown in Figure 9 16 2 Save the VI as File Writer vi in the C Exercises LabVIEW Basics I directory 9 8
89. LabVIEW Graphical Programming Course Collection edited by National Instruments LabVIEW Graphical Programming Course Collection edited by National Instruments By National Instruments Malan Shiralkar Authors listed in the order their modules appear Online lt http cnx org content coll0241 1 4 gt CONNEXIONS Rice University Houston Texas 2007 National Instruments This selection and arrangement of content is licensed under the Creative Commons Attribution License http creativecommons org licenses by 1 0 Table of Contents 1 Student Guide 1 1 LabVIEW Course Exercise Code 0 ccc cece cen nnn ene ten een nen eed 1 2 Introduction Dele uae VEE We gutted ieee aici AA tos ae ee ela es te et Leck ae ios iat 5 2 2 LabVIEW Environment erei eneee ue yn TENE E lied ped E E O E EEEE Ni 5 2 3 Pront Panel sxticscccitaied a We ead ce e E Deed E a E a a E aA 19 2 44 Blod Diagram dinane e a Aa a abana E Ea a ai ii 22 2 5 Acquiring a Signal VI osoase a ea thee ek ea Se Saal Waa E EAE O aS 27 2 0 Dataflow Programming sirarna rasen seen dea de ee eba pee eae eye ene eeu ETES 37 2 7 Express Filter V1o 0 2 cscccega a cae ea en onesie ek gad da Maa dca eee 38 2 8 LabVIEW Documentation Resources 0 0 ccc eee een e nee etna ennes 39 2 94 Reduce Samples VL ye eee ate gia oh ele awk Pak Wan Seedy Ria adn aw eek ttn baie eek 42 2 10 Debugging Techniques ccc ccc nen eee ee ees 48 2 04 De
90. Mathematics gt gt Probability and Statistics palette on the block diagram This subVI returns the average of the temperature measurements e Right click the output terminals of the Array Max amp Min function and Mean VI and select Create gt gt Indicator from the shortcut menu to create the Max Min and Mean indicators _ Place the General Polynomial Fit VI located on the Functions gt All Functions gt gt Analyze gt gt Mathematics gt gt Curve Fitting palette on the block diagram This subVI returns an array that is a polynomial fit to the temperature array wot Place the Bundle function located on the Functions gt All Functions gt gt Cluster palette on the block diagram This function assembles the plot elements into a single cluster Press the lt Ctrl gt key while you drag the function to copy it The elements include the initial x value 0 the Aa value 0 25 and the y array of temperature data The Az value of 0 25 is required so that the VI plots the temperature array points every 0 25 seconds on the waveform graph h ea Hi Place the Build Array function located on the Functions gt All Functions gt gt Array palette on the block diagram This function creates an ar ray of clusters from the temperature cluster and the best fit cluster i Complete the block diagram as shown 2 Save the VI as Temperature Analysis vi in the C Exercises LabVIEW Basics I direc tory 7 6 3 Run the VI 1 Display the front pan
91. NI Instrument Simulator Wires two per station 2 Copy the files from the CD accompanying this manual as described in the Installing the Course Software section of the Student Guide and the readme txt file on the disks 3 Test the station by starting LabVIEW by selecting Start gt gt Programs gt gt Station Tests gt gt LV Sta tion Test to run the LV Station Test VI Refer to the customer education resources coordinator for this VI 4 Open MAX to verify that both the DAQ device and GPIB interface are working properly 5 Verify that the NI DEVSIM instrument driver is installed and that the NI Instrument Simulator works in both the GPIB and serial modes GLOSSARY 261 Glossary T task of measurement or generation A collection of one or more channels specified in the channel name and and the timing triggering and other scaling information properties that apply to the task itself A task represents a VISA measurement or generation you want Virtual Instrument Software to perform Architecture VISA is the lower layer of functions in the LabVIEW V virtual channels instrument driver VIs that communicates with the driver software A collection of property settings that include a physical channel the type Index of Keywords and Terms INDEX Keywords are listed by the section with that keyword page numbers are in parentheses Keywords do not necessarily appear in the text of the page They are merely associated with
92. Place the Read File function located on the Functions gt gt All Functions gt File I O palette on the block diagram This function reads count bytes of data from the file starting at the beginning of the file CLOSE ol Place the Close File function located on the Functions gt gt All Functions gt File I O palette on the block diagram This function closes the file a Place the Simple Error Handler VI located on the Functions gt gt All Functions gt gt Time amp Dialog palette on the block diagram This VI checks the error cluster and displays a dialog box if an error occurs e Complete the block diagram as shown in Figure 9 18 2 Save the VI as File Reader vi in the C Exercises LabVIEW Basics I directory 177 9 9 3 Run the VI 1 Display the front panel and use the Operating tool to click the Browse button in the path control 2 Navigate to demofile txt and click the Open or OK button 3 Run the VI String Read from File displays the contents of the file 4 If time permits complete the challenge step Section 9 9 4 Otherwise save and close the VI 9 9 4 Challenge 1 Modify the VI so it parses the numeric value and displays the numeric value in a numeric indicator After you finish save and close the VI TIP Use the Match Pattern function to search for the first numeric char acter 9 10 Formatting Spreadsheet Strings To write data to a spreadsheet file you must format the string as a spreadsheet string whic
93. SA Read function 11 7 Programming with VISA 1 Make sure the Instrument Simulator is powered on and connected to the GPIB Interface 11 7 1 Front Panel 1 Open a blank VI The front panel shown in Figure 11 6 will result from building the block diagram Figure 11 6 11 7 2 Block Diagram 1 Build the block diagram shown in Figure 11 7 223 write buffer byte count VISA resource name yIsA Open VISA Write VISA Read VISA Close Simple Error Handler vi Figure 11 7 a Place the VISA Open function located on the Functions gt All Functions gt Instrument I O gt gt VISASVISA Advanced palette on the block dia gram This function opens a VISA session with an instrument Right click the VISA resource name input and select Create gt gt Control from the shortcut menu visa abc b Place the VISA Write function located on the Functions gt All Functions gt gt Instrument I O gt gt VISA palette on the block diagram This function writes a string to the instrument Right click the write buffer input and select Create gt gt Control from the shortcut menu VISA abe c RA Place the VISA Read function located on the Functions gt All Functions gt Instrument I O gt gt VISA palette on the block diagram This function reads data from the instrument Right click the byte count input and select Create gt gt Control from the shortcut menu Right click the read buffer output and select Create gt gt Indicator fro
94. Sa Traditional NI DAQ Devices HBB PCI 6024E Device 1 PXI PXI System 0 Unidentified NI DAQmx Devices E PCI 6024E Devi J GPIBO PCI GPIB Ports Serial amp Parallel IVI Instruments Gg Scales Historical Data Software VI Logger Tasks B Remote Systems if Properes RDH te 4 Self Test 3P Show Help HA Test Panels This panel shows the routes that can be made within this device Hover over a cell to see what subsystem is used Destinations Dev1 PFIO Dev1 PFI1 Dev1 PFIZ Dev1 PFI3 Dev1 PFI4 Sources Dev1 PFI5 ie Direct Route Indirect Route Through Subsys Devi PFI6 Devi PFI Devi PFIS Devi PFIS Dev1jRTSIO iDev1 CtrOOut Dev1 CtrOGate lt Subsystem Used ay Attributes E Device Routes Figure 10 4 4 The Calibration Figure 10 5 tab provides information about the last time the device was calibrated both internally and externally 193 PCI 6024E Dey1 Measurement amp Automation Explorer File Edit View Tools Help Configuration Ef Properties 2 Self Test M Test Panels 5 Show Help E My System x a Data Neighborhood Zz Devices and Interfaces External Calibration Traditional NI DAQ Devices Last Calibration Date HB PCI 6024E Device 1 PXI PXI System 0 Unidentified NI DAQmx Devices fi Comments GPIBO PCI GPIB Ports Serial amp Paralle
95. VI e The Select function selects between two inputs dependent on a third Boolean input 155 e A Case structure has two or more subdiagrams or cases Only one subdiagram is visible at a time and the structure executes only one case at a time e Ifthe case selector terminal is a Boolean value the structure has a True case and a False case If the selector terminal is an integer string or enumerated type value the structure can have up to 2 1 cases e Inputs are available to all subdiagrams of a Case structure but subdiagrams do not need to use each input If at least one output tunnel is not defined all output tunnels on the structure appear as white squares e When creating a subVI from a Case structure wire the error input to the selector terminal and place all subVI code within the No Error case to prevent the subVI from executing if it receives an error e Formula Nodes are useful for equations that have many variables or are otherwise compli cated and for using existing text based code Each equation statement must terminate with a semicolon 156 CHAPTER 8 MAKING DECISIONS IN A VI 8 8 Additional Exercises for Making Decisions in a VI Exercise 8 4 Build a VI that uses the Formula Node to calculate the following equations y r 2 5 Y2 MT b Use only one Formula Node for both equations and use a semicolon after each equation in the node Save the VI as Equations vi in the C Exerc
96. VI Click the arrow on the Open button to open recent files Click the Configure button to configure your data acquisition devices Click the arrow on the Configure button to configure LabVIEW Click the Help button to launch the LabVIEW Help Click the arrow on the Help button for other Help options including the NI Example Finder 2 2 1 Creating and Saving a VI When you click the New button in the LabVIEW dialog box the New dialog box appears You also can select Files gt New to display this dialog box When you select a template in the Create new list previews of the VI appear in the Front panel preview and the Block diagram preview sections and a description of the template appears in the Description section Figure 2 2 shows the New dialog box and the SubVI with Error Handling VI template ny gt New Create new Front panel preview Description Blank VI p VI From Template EP Frameworks Dialog Base Package Dialog Using Events Single Loop Application Sub I with Error Handling Top Level Application Using Events ff Design Patterns Master Slave Design Pattern Producer Consumer Design Patt Producer Consumer Design Patt Queued Message Handler Block diagram preview Standard State Machine User Interface Event Handler Instrument I O GPIB Read and Display Simulated Generate and Display Load From File and Display Tutorial Getting Started Generate Analyze and Display Generate and Display Other Document Types
97. VI and the Write File function with the Format Into File function 2 Run the VI 3 Close the VI Do not save changes 184 CHAPTER 9 STRINGS AND FILE I O 9 12 Temperature Application VI Exercise 9 6 1 Build a VI that performs the following tasks a Takes a temperature measurement once every second until you stop the VI or an error occurs b Displays both the current temperature and the average of the last three measure ments on a waveform chart c If the temperature exceeds a limit turns on an LED d After each measurement logs the date time including seconds temperature av erage of the last three measurements and a one word message describing whether the temperature is normal or over the limit Logs data so each item appears in one column of a spreadsheet as shown in Figure 9 26 A B ca Soe EE Date Time Temp Avg Comment 9 26 00 12 45 17 AM 74 46 74 46 Normal 9 26 00 12 45 18 AM 74 46 74 46 Normal 9 26 00 12 45 19 AM 74 46 74 46 Normal 9 26 00 12 45 20 AM 74 46 74 46 Normal Figure 9 26 aaa e After you stop the acquisition plots both the raw temperature data and a best fit curve in an XY graph and displays the average maximum and minimum temperatures TIP Start with the Temperature Logger VI Section 9 11 To com plete this step pg 184 use portions of the Temperature Analysis VI Section 7 6 TIP The Build Text Express VI is limited to eight inputs Use multiple Bui
98. a e a a Ee d 237 11 14 Waveform Example VI errodeisibnr eisein e i benenansa 240 11 15 Summary Tips and Tricks on Instrument Control 0 ccc cece eee eee 243 11 16 Additional Exercises for Instrument Control 0 0 cece eens 243 12 Customizing VIs 12 1 Configuring the Appearance of Front Panels 0 cece eee eee n ene 245 12 2 Opening SubVI Front Panels when a VI Runs 0 eects 247 12 3 Pop up Graph VI and Use Pop up Graph VI 0 cece cence eee eens 247 12 4 Keyboard Shortcuts for Controls 0 ccc cee cnet nen tenet ene 250 12 5 Temp rature System VL gece inisi ia erect AAAA E ied E a S A AAAA A bh ees 250 12 6 Editing VI Properties sresserrsserrsrerrerrrrerrreerrsrerrererrsirurerreree 252 TAT EGE NENI wee oe a a ie AA A EAA A EA E A A a ell AT 253 12 8 Customizing the Controls and Functions Palettes 0 cece eee en ene 254 12 9 Summary Tips and Tricks on Customizing VIs 00 cc cece cece eee eee 254 13 Appendix TSA Appendix iene As oe Mets ak ees eink de eed Le ee dh et CaS Aart MaMa he ee 3 257 Attributions isle he ace dh eae Sere Ro oie ale ay he eet Be ee eh ete A Le 265 vi Chapter 1 Student Guide 1 1 LabVIEW Course Exercise Code 1 1 1 A About This Course This course teaches you how to use LabVIEW to develop test and measurement data acquisition instrument control datalogging measurement analysis and report generation applications This cours
99. able execution highlighting oeal Click the Step Into button shown in pg 51 to start single stepping Exe cution highlighting shows the movement of data on the block diagram from one node to another using bubbles that move along the wires Nodes blink to indicate they are ready to execute el Click the Step Over button shown in pg 51 after each node to step through the entire block diagram Each time you click the Step Over button the current node executes and pauses at the next node Data appear on the front panel as you step through the VI The VI generates a random number and multiplies it by 10 0 The subVI adds 100 0 and takes the square root of the result atl When a blinking border surrounds the entire block diagram click the Step Out button shown in pg 51 to stop single stepping through the Debug Exercise Main VI 4 Single step through the VI and its subVI a Click the Step Into button to start single stepping oe When the Debug Exercise Sub VI blinks click the Step Into button Notice the run button on the subVI c Display the Debug Exercise Main VI block diagram by clicking it A green glyph shown in pg 51 appears on the subVI icon on the Debug Exercise Main VI block diagram indicating that the subVI is running d Display the Debug Exercise Sub VI block diagram by clicking it e Click the Step Out button twice to finish single stepping through the subVI block diagram The Debug Exercise Main VI block
100. ading might take longer than one second to retrieve if the computer needs to configure the DAQ device 4 If time permits complete the following optional and challenge steps otherwise close the VI 4 4 3 Optional 1 Build a VI that generates random numbers in a While Loop and stops when you click a stop button on the front panel 2 Save the VI as General While Loop vi in the C Exercises LabVIEW Basics I direc tory 4 4 4 Challenge 1 Modify the General While Loop VI to stop when the stop button is clicked or when the While Loop reaches a number of iterations specified by a front panel control 2 Select Files gt Save As to save the VI as Combo While For Loop vi in the C Exercises LabVIEW Basics I directory 4 5 Accessing Previous Loop Data When programming with loops you often need to access data from previous iterations of the loop For example you may have a VI that reads the temperature and displays it on a graph If you want to display a running average of the temperature as well you need to use data generated in previous iterations Two ways of accessing this data include the shift register and the Feedback Node 84 CHAPTER 4 REPETITION AND LOOPS 4 5 1 Shift Registers Use shift registers on For Loops and While Loops to transfer values from one loop iteration to the next Shift registers are similar to static variables in text based programming languages a A shift register appears as a pair of terminals shown in pg 8
101. alette that associates numeric values with text items If the text ring control wired to the selector terminal is 0 add the VI adds the numeric values If the value is 1 subtract the VI subtracts the numeric values If the text ring control is any other value than 0 add or 1 subtract the VI adds the numeric values because that is the default case 147 Example 8 3 String Case Structure The example in Figure 8 7 is a string Case structure feel Figure 8 7 If String is add the VI adds the numeric values If String is subtract the VI subtracts the numeric values Example 8 4 Enumerated Case Structure The example in Figure 8 8 is an enumerated Case structure eo Figure 8 8 An enumerated control gives users a list of items from which to select The data type of an enumerated control includes information about the numeric values and string labels in the control When you wire an enumerated control to the selector terminal of a Case structure the case selector displays a case for each item in the enumerated control The Case structure executes the appropriate case subdiagram based on the current item in the enumerated control In the block diagram Figure 8 8 if Enum is add the VI adds the numeric values If Enum is subtract the VI subtracts the numeric values 148 CHAPTER 8 MAKING DECISIONS IN A VI Example 8 5 Error Case Structure The example in Figure 8 9 is an error cluster Case stru
102. alog box should appear similar to Figure 2 21 Configure Scaling and Mapping Scaling and BA Figure 2 21 6 Click the OK button to apply the current configuration and close the Configure Scaling and Mapping dialog box 7 Move the cursor over the arrow on the Sawtooth output of the Simulate Signal Express Sawtecth at fas Signals caled Signals ai When the Wiring tool appears click the arrow and then click the arrow on the Signals input of the Scaling and Mapping Express VI shown in pg 33 to wire the two objects together 9 Using the Wiring tool wire the Scaled Signals output of the Scaling and Mapping Express VI to the Waveform Graph terminal Notice the wires connecting the Express VIs and terminals The arrows on the Express VIs and terminals indicate the direction that the data flows along these wires The block diagram should appear similar to Figure 2 22 33 34 CHAPTER 2 INTRODUCTION Generate and Display Acquiring a Signal vi Block Diagram ioj x File Edit Operate Tools Browse Window Help al 212 CLM 2 kaalt 15t Applcatonrort oi ee A A Scaling and Simulate Signal Mapping error out gt Amplitude Figure 2 22 NOTE The terminals in the block diagram are set to display as icons To display a terminal as a data type on the block diagram right click the terminal and select View As Icon from the shortcut menu to remove the checkmark 10 Select Files gt Save to save this
103. alyzer P Show Help A 9 My System Name value Description 6 Data Neighborhood W GPIB Interface Number 0 Gl Devices and Interfaces InstrumentO Primary Address 2 National Instruments GPIB and Serial Device Simulator Traditional NI DAQ Devices NI DAQmx Devices GPIBO PCI GPIB J Instrumento PXI PXI System Unidentified Ports Serial amp Parallel H B Scales El 5B Software ffri IVI Drivers gS Remote Systems if Td l W Attributes Figure 11 1 The Remote Systems section in the Configuration pane allows you to view and configure remote systems such as RT Series PXI Controllers Configure the objects listed in MAX by right clicking each item and selecting an option from the shortcut menu 11 3 GPIB Configuration with MAX Windows Only 1 Power off the NI Instrument Simulator and configure it to communicate through GPIB by setting the following left bank of switches Figure 11 2 on the side of the box S MODE DATA FORMAT BAUD RATE 47 Figure 11 2 2 Power on the NI Instrument Simulator and verify that both the Power and Ready LEDs are lit 3 Launch MAX by either double clicking the icon on the desktop or by selecting Tools gt gt Measurement amp Automation Explorer in LabVIEW 10 11 12 13 14 15 217 Expand the Devices and Interfaces section to display the installed interfaces If a GPIB interface is listed the NI 488 2 software is correctly loaded on th
104. ance page the user cannot resize the front panel smaller than the width and height you set on this page e Size the front panel to the width and height of the entire screen Automatically resizes the front panel window to fit the screen when you run the VI The VI does not retain a record of its original size and location so it stays in the new location if you switch back to edit mode e Maintain proportions of window for different monitor resolutions Resizes the VI so it takes up approximately the same amount of screen space when opened on a computer with a different monitor resolution For example if you develop a VI on a computer with a monitor resolution of 1 024 x 768 you might want to run the VI on a computer with a monitor resolution of 800 x 600 Use this control in conjunction with scaling one or all the objects on the front panel 247 e Scale all objects on front panel as the window resizes Automatically resizes all front panel objects with respect to and in proportion to the size of the front panel window Text does not resize because the font sizes are fixed Use this option when you allow the user to resize the front panel window 12 2 Opening SubVI Front Panels when a VI Runs A single front panel sometimes is too restrictive to present numerous options or displays To solve this problem organize VIs so the top most VI presents high level options and subVIs present related options TIP You also can use tab controls t
105. and returns the square root of Number If Number is negative the VI executes the False case returns 99999 and displays a dialog box with the message Error Negative Number 2 Close the VI 8 4 Temperature Control VI Exercise 8 2 8 4 1 Front Panel 1 Open the Temperature Running Average VI Section 7 3 2 Modify the front panel as shown in Figure 8 13 Running Avg s 4 72 Power Temperature History Current Temp 85 89 g 90 0 OFF 88 0 86 0 ANALYSIS 34 0 ON 82 0 w OFF T 80 0 a High Limit 78 0 38 00 4 76 0 Warning 74 0 72 05 High alue 70 0 1 ji 1 i 1 1 I 1 1 1 89 4031 420 0 421 0 422 0 423 0 424 0 425 0 426 0 427 0 428 0 429 0 430 0 Time sec 2 Figure 8 13 a Place a horizontal smooth box located on the ControlsAll Controls gt gt Decorations palette on the front panel This decoration visibly groups the Analysis items b Create a duplicate of the Power Boolean switch Label the new switch ANALYSIS Right click the switch and select Mechanical Action gt gt Switch When Pressed from the shortcut menu c Place a numeric control located on the Controlss gt Numeric Controls palette on the front panel Label the control High Limit d Place a round LED located on the Controlss gt LEDs palette on the front panel Label the indicator Warning e Place a numeric indicator from the Controlss gt Numeric Indicators palette on the front panel Label the indicator High
106. anel has two terminals deg C and deg F so LabVIEW selects a connector pane pattern with two terminals shown in pg 66 7 Assign the terminals to the numeric control and numeric indicator a Select Help gt gt Show Context Help to display the Context Help window b Click the left terminal in the connector pane The tool automatically changes to the Wiring tool and the terminal turns black c Click the deg C control A marquee highlights the control on the front panel d Click an open space on the front panel The marquee disappears and the terminal changes to the data type color of the control to indicate that you connected the terminal e Click the right terminal in the connector pane and click the deg F indicator f Click an open space on the front panel Both terminals of the connector pane are orange g Move the cursor over the connector pane The Context Help window shows that both terminals are connected to double precision floating point values 8 Save and close the VI You will use this VI later in the course 3 4 Using SubVIs After you build a VI and create its icon and connector pane you can use the VI as a subVI To place a subVI on the block diagram select Functions gt gt All Functions gt Select a VI Navigate to the VI you want to use as a subVI and and double click to place it on the block diagram You also can place an open VI on the block diagram of another open VI Use the Positioning tool to click the i
107. aph indicator terminal created in the previous step Notice that the Merge Signals function appears 6 Arrange the objects on the block diagram so that they appear similar to Figure 2 32 TIP You can right click any wire and select Clean Up Wire from the shortcut menu to automatically route an existing wire 7 Display the front panel Notice that the controls and indicators you added automati cally appear on the front panel with labels that correspond to their function 8 Save this VI 2 9 5 Configuring the VI to Run Continuously Until the User Stops It In the current state the VI runs once generates one signal then stops executing To run the VI until a condition is met you can add a While Loop to the block diagram Complete the following steps to add a While Loop 1 Display the front panel and run the VI Notice how the VI runs once and then stops Also notice how there is no Stop button 2 Display the block diagram and select the While Loop on the Functionss gt Execution Control palette 3 Move the cursor to the upper left corner of the block diagram Place the top left corner of the While Loop here 4 Click and drag the cursor diagonally to enclose all the Express VIs and wires as shown in Figure 2 33 45 46 CHAPTER 2 INTRODUCTION if Reduce Samples vi Block Diagram File Edit Operate Tools Browse Window Help f Sample Simulate Signal Compression Figure 2 33 Notice that the While Loop shown i
108. applications including controlling relays and monitoring alarm states Generally measuring and generating digital values is used in laboratory testing production testing and industrial process monitoring and control Digital I O can read from or write to a line or an entire digital port which is a collection of lines You can use the digital lines in a DAQ device to acquire a digital value This acquisition is based on software timing On some devices you can configure the lines individually to either measure or generate digital samples Each line corresponds to a channel in the task You can use the digital port s in a DAQ device to acquire a digital value from a collection of digital lines This acquisition is based on software timing You can configure the ports individually to either measure or generate digital samples Each port corresponds to a channel in the task 10 14 Digital Example VI Exercise 10 7 Note The LEDs use negative logic That is writing a 1 to the LED digital line turns off the LED Writing a 0 to the LED digital line turns on the LED 1 Open the Digital Example VI located in the C Exercises LabVIEW Basics I direc tory and modify the block diagram as shown in Figure 10 21 211 Boolean Array To Number Build Array LES Z Digital Port 0 Array Subset uve Reverse 1D Array Figure 10 21 Place the DAQ Assistant Express VI located on the Functions gt gt Input palette in the While Loop Comple
109. archives at ftp ftp pica army mil pub labview The archives contain a large set of donated VIs for doing a wide variety of tasks 13 1 2 ASCII Character Code Equivalents Table The table pg 259 contains the hexadecimal octal and decimal code equivalents for ASCII character codes http www ltrpub com 5http cnx org content m12308 latest ftp ftp pica army mil pub labview 259 Hex Octal Decimal ASCII Hex Octal Decimal ASCII 00 000 0 NUL 20 040 32 SP 01 001 1 SOH 21 041 33 02 002 2 STX 22 042 34 N 03 003 3 ETX 23 043 35 04 004 4 EOT 24 044 36 05 005 5 ENQ 25 045 37 06 006 6 ACK 26 046 38 amp 07 007 7 BEL 27 047 39 08 010 8 BS 28 050 40 09 011 9 HT 29 051 41 0A 012 10 LF 2A 052 42 0B 013 11 VT 2B 053 43 0C 014 12 FF 2C 054 44 OD 015 13 CR 2D 055 45 0E 016 14 SO 2E 056 46 OF 017 15 SI 2F 057 47 10 020 16 DLE 30 060 48 0 11 021 17 DC1 31 061 49 1 12 022 18 DC2 32 062 50 2 13 023 19 DC3 33 063 51 3 14 024 20 DC4 34 064 52 4 15 025 21 NAK 35 065 53 5 16 026 22 SYN 36 066 54 6 17 027 23 ETB 37 067 55 7 18 030 24 CAN 38 070 56 8 19 031 25 EM 39 071 57 9 1A 032 26 SUB 3A 072 58 1B 033 27 ESC 3B 073 59 1C 034 28 FS 3C 074 60 lt 1D 035 29 GS 3D 075 61 1E 036 30 RS 3E 076 62 gt 1F 037 31 US 3F 077 63 40 100 64 60 140 93 41 101
110. as shown in Figure 10 11 E TT gt Collector Statistics Collected Signals gt Arithmetic Mean e P5B1 E Write Lab IEW Measurement File Figure 10 11 Place the Write LabVIEW Measurement File Express VI located on the Functions gt 0utput palette on the block diagram This Express VI stores the data acquired from the DAQ device In the Configure Write LabVIEW Measurement File dialog box that appears set the following options a Set the Action to Ask user to choose file for the filename b Set the Segment Headers to One header only to provide a header for all of the data The header contains information about the sampling rate and the time when the sample was taken c Set X Value Columns to One column per channel to provide a table of data that can be read by any spreadsheet editor or an ASCII text file editor 202 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS d Set the Delimiter to Tab to make it easy for a spreadsheet editor to determine where a column of data starts in the file e Click the OK button to close the dialog box 71 May aA HA Place the Merge Errors VI located on the Functions gt gt All Functions gt Time amp Dialog palette on the block diagram It is important to catch errors with both DAQ and file I O and because the code has a parallel structure it is necessary to merge the errors from all of the parallel operations to determine if the code is functioning properly 3 Sele
111. at left to change the font settings for the selected portions of the VI including size style and color a tit Select the Align Objects pull down menu shown at left to align objects along axes including vertical top edge left and so on TE F im Select the Distribute Objects pull down menu shown at left to space objects evenly including gaps compression and so on HH Select the Resize Objects pull down menu shown at left to resize multiple front panel objects to the same size 13 F Select the Reorder pull down menu shown at left when you have objects that overlap each other and you want to define which one is in front or back of another Select one of the objects with the Positioning tool and then select from Move Forward Move Backward Move To Front and Move _To Back A Select the Show Context Help Window button shown at left to toggle the display of the Context Help window Type appears to remind you that a new value is available to replace an old value The Enter button disappears when you click it press the Enter key or click the front panel or block diagram workspace 2 2 5 Block Diagram Toolbar When you run a VI buttons appear on the block diagram toolbar that you can use to debug the VI The toolbar in Figure 2 6 appears on the block diagram a n Figure 2 6 Click the Highlight Execution button shown at left to display an animation of the block diagram execution when you click th
112. ation about LabVIEW features not described in this course Analog to digital A D theory Operation of the serial port Operation of the GPIB bus Developing an instrument driver Developing a complete application for any student in the class refer to the NI Example Finder available by selecting Help Find Examples for example VIs you can use and incorporate into VIs you create Note If you need assistance beyond that provided in this course you can post a message to the National Instruments discussion forums at http forums ni com CHAPTER 1 STUDENT GUIDE Chapter 2 Introduction 2 1 LabVIEW LabVIEW programs are called virtual instruments or VIs because their appearance and op eration imitate physical instruments such as oscilloscopes and multimeters LabVIEW contains a comprehensive set of tools for acquiring analyzing displaying and storing data as well as tools to help you troubleshoot your code LabVIEW VIs contain three components the front panel the block diagram and the icon and connector pane This lesson describes the front panel and the block diagram refer to Modular Programming Section 3 1 for more information about the icon and the connector pane In LabVIEW you build a user interface or front panel with controls and indicators Controls are knobs push buttons dials and other input devices Indicators are graphs LEDs and other displays After you build the user interface you add code using VIs and s
113. ation of each style displays on the right when you select the style e Top level Application Window Shows the title bar and menu bar hides the scrollbars and toolbar allows the user to close the window allows run time shortcut menus does not allow resizing and shows the front panel when called e Dialog The VI functions as a dialog box in the operating system so the user cannot interact with other LabVIEW windows while this VI window is open This option does not prevent you from bringing windows of other applications to the front UNIX You cannot make a window stay in front of all other windows Dialog style windows stay on top have no menu bar scrollbars or toolbar allow the user to close the window but not resize it allow run time shortcut menus and show the front panel when called Also if a Boolean parameter on the front panel is associated with the lt Enter gt or lt Return gt key LabVIEW highlights the parameter with a dark border e Default Same window style used in the Lab VIEW development environment e Custom Custom window style e Customize Displays the Customize Window Appearance dialog box 12 1 2 Window Size In the VI Properties dialog box select Window Size from the Category pull down menu to customize the window size for VIs This page includes the following components e Minimum Panel Size Sets the minimum size of the front panel If you allow the user to resize the window on the Window Appear
114. aveforms XY graphs display any set of points evenly sampled or not Resize the plot legend to display multiple plots Use multiple plots to save space on the front panel and to make comparisons between plots XY and waveform graphs automatically adapt to multiple plots 7 4 1 Single Plot Waveform Graphs The waveform graph accepts a single array of values and interprets the data as points on the graph and increments the x index by one starting at x 0 The graph also accepts a cluster of an initial x value a Az and an array of y data Refer to the Waveform Graph VI in the NI Example Finder for examples of the data types that single plot waveform graphs accept 7 4 2 Multiplot Waveform Graphs A multiplot waveform graph accepts a 2D array of values where each row of the array is a single plot The graph interprets the data as points on the graph and increments the x index by one starting at x 0 Wire a 2D array data type to the graph right click the graph and select Transpose Array from the shortcut menu to handle each column of the array as a plot Refer to the Y Multi Plot 1 graph in the Waveform Graph VI in the NI Example Finder for an example of a graph that accepts this data type A multiplot waveform graph also accepts a cluster of an x value a Ax value and a 2D array of y data The graph interprets the y data as points on the graph and increments the x index by Az starting at x 0 Refer to the Xo dX Y Multi Plot 3 graph i
115. ay of temperature values using the Thermometer Sec tion 3 5 VI Set the array size with a control on the front panel Initialize an array using the Initialize Array function of the same size where all the values are equal to 10 Add the two arrays calculate the size of the final array and extract the middle value from the final array Display the Temperature Array Initialized Array Final Array and Mid Value Save the VI as Find Mid Value vi in the C Exercises LabVIEW Basics I directory Exercise 5 4 Build a VI that generates a 2D array of three rows by 10 columns that contains random numbers After generating the array index each row and plot each row on its own graph The front panel should contain three graphs Save the VI as Extract 2D Array vi in the C Exercises LabVIEW Basics I directory Exercise 5 5 Build a VI that simulates the roll of a die with possible values 1 through 6 and records the number of times that the die rolls each value The input is the number of times to roll the die and the outputs include the number of times the die falls on each possible value Use only one shift register Save the VI as Die Roller vi in the C Exercises LabVIEW Basics I directory 100 CHAPTER 5 ARRAYS Exercise 5 6 Build a VI that generates a 1D array and then multiplies pairs of elements together starting with elements 0 and 1 and returns the resulting array For example the input array with values 1 23 10 5 7 11 r
116. bVIEW DAQ VIs a series of VIs for pro gramming with NI measurement devices e For C developers LabWindows CVI is a fully integrated ANSI C environment that provides the LabWindows CVI Data Acquisition library for programming NI measurement devices e Measurement Studio development tools are for designing your test and measurement software in Microsoft Visual Studio NET Measurement Studio includes tools for Visual C Visual Basic NET and Visual C NET 10 1 2 DAQ Hardware Configuration You must complete several steps before you can use the Data Acquisition VIs The devices are configured for the computers in this class 10 1 2 1 Windows The Windows Configuration Manager keeps track of all the hardware installed in the computer including National Instruments DAQ devices If you have a Plug amp Play PnP device such as an E Series MIO device the Windows Configuration Manager automatically detects and configures the device If you have a non PnP device or legacy device you must configure the device manually using the Add New Hardware option in the Control Panel You can verify the Windows Configuration by accessing the Device Manager You can see Data Acquisition Devices which lists all DAQ devices installed in the computer Double click a DAQ device to display a dialog box with tabbed pages The General tab displays overall information regarding the device The Resources tab specifies the system resources to the device such as i
117. bVIEW features The LabVIEW Help includes links to the following resources e LabVIEW Bookshelf which includes PDF versions of all the LabVIEW manuals and Applica tion Notes e Technical support resources on the National Instruments Web site such as the NI Developer Zone the Knowledge Base and the Product Manuals Library 2 8 1 3 NI Example Finder The New dialog box contains many LabVIEW template VIs that you can use to start building VIs However these template VIs are only a subset of the hundreds of example VIs included with Thttp ni com http zone ni com zone jsp zone jsp 3http digital ni com public nsf MainPage OpenForm amp node 133020_US http digital ni com manuals nsf MainPage ReadForm amp node 132020_ US 42 CHAPTER 2 INTRODUCTION LabVIEW You can modify any example VI to fit an application or you can copy and paste from an example into a VI that you create In addition to the example VIs that ship with LabVIEW you also can access hundreds of example VIs on the NI Developer Zone at ni com zone To search all examples using LabVIEW VIs use the NI Example Finder The NI Example Finder is the gateway to all installed examples and the examples located on the NI Developer Zone To launch the NI Example Finder select Help gt gt Find Examples from the front panel or block diagram menu bar You also can launch the NI Example Finder by clicking the arrow on the Open button on the LabVIEW dialog box and
118. been converted to a subVI it cannot be converted back 219 11 5 Using the Instrument I O Assistant Exercise Exercise 11 1 11 5 1 Front Panel 1 Open a blank VI 2 The front panel in Figure 11 4 will result from building the block diagram ID String National Instruments GPIB and Serial Device Simulator Rev B 1 voltage 4 84 Figure 11 4 11 5 2 Block Diagram 1 Display and build the block diagram shown in Figure 11 5 Simple Error Handler vi Instrument I O paene Assistant jeee i voltage Voltage r I ID String error in Figure 11 5 aka Place the Instrument I O Assistant Express VI located on the Functions gt gt Input palette on the block diagram Complete the following steps to configure the Express VI in the Instrument I O Assistant dialog box iSelect devsim from the Select an instrument pull down menu and select VISA Code Generation from the Code generation type pull down menu ii Click the Add Step button Click Query and Parse to write and read from the Instrument Simulator iii Type IDN as the command select n as the Termination character and click the Run this step button If no error warning appears in the lower half of the dialog box this step has successfully completed 220 CHAPTER 11 INSTRUMENT CONTROL iv To parse the data received click the Auto parse button Notice that Token now appears in the Outputs pane on the left side of the dialog box This val
119. bug Exercise Main VI wiativclngtwaclag igor dgphieideds eias erii eiaei 49 2 12 Summary Tips and Tricks on Introduction to LabVIEW 00 00 eee eee 52 3 Modular Programming 3 1 Modular Programming 20 tece si failed cant ie dad hele wid Peles eee eal Hearne sea ee 57 8 2 Icons and Connector Panes cece cece ene E ADAE ERA tenes 59 3 3 Convert C to F VE asic ence edna end a ha ads gota e laa naan ned acer 63 3 4 Using Sub Visics c c0 te E EEE et Ah ee i eee Se Al it E a 66 3 5 Thermometer VD v 8 cacgeiqede ce ase va hehe de YOR We See a tee Mid 67 3 6 Creating a SubVI from Sections of a VI 1 cence eee e eens 71 3 7 Summary Tips and Tricks on Modular Programming 0 cece eee eee 72 4 Repetition and Loops AAV WihileTOOps ome kon peices Se fie hae ae aie eae Geel ead eat Yep ae hase 73 4 2 Auto Matek VE sosnpesrann rina iinan lel a ea it aai iid edie ia 75 43 For LOOPS essione r oe e ae n cal a oean hl eee aA ad ode ie E a 79 4 A Timed Temp rature Vi kerireterrenei ei iaoei see ond EE hanna bent tes de teas 81 4 5 Accessing Previous Loop Data noort sge e aA ented een a ened 83 4 6 Accessing Previous Data VI 0 ccc ected ete n ete t en ene 85 4 7 Summary Tips and Tricks on Repetition and Loops 0 0 0 cece eee eee eee 88 5 Arrays Bil VArrays Hd sind Rites hse ined eda Medios ce Cea Male eels ae gens ate eee Laut tees 91 5 2 AUto Indexing es wavonntnne eter oud erg eer eae aha
120. cept it shows the old data on the right and the new data on the left separated by a vertical line Waveform graphs and XY graphs display data from arrays Right click a waveform chart or graph or its components to set attributes of the chart and its plots You can display more than one plot on a graph using the Build Array function located on the Functions gt gt All Functionss gt Array palette and the Bundle function located on the Functions gt All Functions gt gt Cluster palette for charts and XY graphs The graph becomes a multiplot graph when you wire the array of outputs to the terminal You can use intensity charts and graphs to plot three dimensional data The third dimension is represented by different colors corresponding to a color mapping that you define Intensity charts and graphs are commonly used in conjunction with spectrum analysis temperature display and image processing When you wire data to charts and graphs use the Context Help window to determine how to wire them 7 11 Additional Exercises for Plotting Data Exercise 7 7 Build a VI that displays two plots a random plot and a running average of the last four points on a waveform chart in sweep update mode Use the following tips e Use a For Loop n 200 instead of a While Loop e Use a shift register with three left terminals to average the last four data points e Use the Random Number 0 1 function located on the Functions gt gt Arithmetic amp Compa
121. ces Mid Remedy a ak a a Neamt ah obetes hires Mydweoeeet nade 208 10 12 Simple Event Counting VI cece oe e ened 209 10 13 Digital O ses ck pt kick a ie aaa Ble EEE ial cated Aaa da ghee GEA 210 10 14 Digital Example VI woe cciee angie dirian piv dace nea Gee Eee ow has Dae Hae Peele 210 10 15 Summary Tips and Tricks on Data Acquisition and Waveforms 211 10 16 Additional Exercises for Data Acquisition and Waveforms 0 00005 212 11 Instrument Control 11 1 Instrument Control Overview 0 000 c ccc ene need n etn netted 213 11 2 GPIB Communication and Configuration 0 cece eee ece nett nen 213 11 3 GPIB Configuration with MAX Windows Only 0 0 cece cece eee 216 11 4 Using the Instrument I O Assistant 0 0 0 218 11 5 Using the Instrument I O Assistant Exercise 00 0 c cece cece eens 219 PVG WAS A ick a Taaa Rt obit a ad hte Oe Meebo AA aa aan Se RA ane a ee 220 11 7 Programming with VISA er 6 vides Saad Cesc Codon aaa tek ets Sie hs 222 11 8 About Instrument Drivers 0 c ccc een nent e eee ene 224 11 9 Using Instrument Driver VIs sorres erat edit eed beans red Chee eo AEE A 224 TITO Voltage Monitor V1 ruc ekiaxs sneer pak dined enabled E eiea bb nade otg 227 11 11 Serial Port Communication 0 0 0 c cece nee e nent e ene e ned 229 11 12 Serial Write amp amp Read VI dy tiiu cece cee e ett E 234 11 138 Waveform Transfers escoar eee e en i Ear
122. ch button on the Functions palette toolbar 17 and start typing Random Number in the text box at the top of the palette LabVIEW lists all matching items that either start with or contain the text you typed You can click one of the search results and drag it to the block diagram as shown in Figure 2 10 unctions i Qrem random Periodic Random Noise PtByPt vi Periodic Random Noise Waveform vi lt lt Waveform Generation gt gt Periodic Random Noise Waveform vi lt lt Waveform Generation gt gt Periodic Random Noise vi Random Number 0 1 lt lt Express Numeric gt gt Random Number 0 1 lt lt Numeric gt gt F O Simulate Arbitrary Signal Foi O Simulate Signal lt lt Waveform Generation gt gt O Simulate Signal lt lt Waveform Generation gt gt CO Simulate Signal lt lt Input gt gt O Simulate Signal lt lt Signal Analysis gt gt Figure 2 10 Double click the search result to highlight its location on the palette You then can click the Up to Owning Palette button to view the hierarchy of where the object resides 2 2 7 Shortcut Menus The most often used menu is the object shortcut menu All LabVIEW objects and empty space on the front panel and block diagram have associated shortcut menus Use the shortcut menu items to change the look or behavior of front panel and block diagram objects To access the shortcut menu right click the object front panel or block diagram The shortcut menu for a
123. ck intermediate values in a VI that produces questionable or unexpected results Uv Ss ea oO ns S Use the Color Copy tool shown at left to copy colors for pasting with the Coloring tool Lh Use the Coloring tool shown at left to color an object It also displays the current foreground and background color settings 2 2 6 2 Controls and Functions Palettes The Controls and Functions palettes contain subpalettes of objects you can use to create a VI When you click a subpalette icon the entire palette changes to the subpalette you selected To use an object on the palettes click the object and place it on the front panel or block diagram The Controls palette shown in Figure 2 8 is available only on the front panel The Controls palette contains the controls and indicators you use to build the front panel Refer to the Front Panel Section 2 3 section for more information about the using the Controls palette on the front panel The controls and indicators located on the Controls palette depend on the palette view currently selected ji if gt Controls zA Num Ctrls Buttons User Ctrls gt o m Num Inds Text Inds Graph Inds All Controls Figure 2 8 Controls Palette 16 CHAPTER 2 INTRODUCTION The Functions palette shown in the Figure 2 9 is available only on the block diagram The Functions palette contains the VIs and functions you use to build the block diagram Re
124. comma You would need a maximum of 4 096 4 x 1 024 bytes plus any header and trailer bytes to represent the waveform as an ASCII string Figure 11 20 is an ASCII waveform string CURVE 12 28 63 1024 points in total CR_L Header Data Point up to 4 bytes each Trailer 6 bytes 2 bytes Figure 11 20 You can use the Extract Numbers VI located in the C Exercises LabVIEW Basics I directory to convert an ASCII waveform into a numeric array as follows This VI outputs the waveform as a double precision array Figure 11 21 Extract Numbers vi Numeric ASCII Waveform Array String Figure 11 21 11 13 2 Binary Waveforms Encoded as 1 Byte Integers The same waveform using binary encoding requires only 1 024 bytes 1 x 1 024 plus any header and trailer bytes to be represented as a binary string Using binary encoding you need only 1 byte to represent the point assuming each point is an unsigned 8 bit integer Figure 11 22 is a binary waveform string 238 CHAPTER 11 INSTRUMENT CONTROL CURVE MSB LSB AAnA 1024 bytes in total Chk CR Header Count Data Point Trailer 7 bytes 4 bytes 1 byte each 3 bytes Figure 11 22 Converting the binary string to a numeric array is a little more complex You must convert the string to an integer array You can do this by using the String To Byte Array Figure 11 23 function located on the Functions gt gt All Functions gt gt String
125. con Editor In the Icon Editor dialog box double click the Text tool to select a different font You can designate which inputs and outputs are required recommended and optional to prevent users from forgetting to wire subVI connections Right click a terminal in the connector pane and select This Connection Is from the shortcut menu Document a VI by selecting Files gt VI Properties and selecting Documentation from the Cat egory pull down menu When you move the cursor over a VI icon the Context Help window displays this description and indicates which terminals are required recommended or optional Add descriptions and tip strips to controls and indicators by right clicking them and selecting Description and Tip from the shortcut menu When you move the cursor over controls and indicators the Context Help window displays this description Convert a section of a VI into a subVI by using the Positioning tool to select the section of the block diagram you want to reuse and selecting Edit gt gt Create SubVI Chapter 4 Repetition and Loops 4 1 While Loops A While Loop executes a subdiagram until a condition is met The While Loop is similar to a Do Loop or a Repeat Until Loop in text based programming Figure 4 1 shows a While Loop in LabVIEW a flow chart equivalent of the While Loop functionality and a pseudo code example of the functionality of the While Loop No Repeat code Until Condition met End Condition met
126. con in the upper right corner of the front panel or block diagram of the VI you want to use as a subVI and drag the icon to the block diagram of the other VI 67 3 4 1 Opening and Editing SubVIs To display the front panel of a subVI from the calling VI use the Operating or Positioning tool to double click the subVI on the block diagram You also can select Browse gt gt This VI s SubVIs To display the block diagram of a subVI from the calling VI press the lt Ctrl gt key and use the Operating or Positioning tool to double click the subVI on the block diagram Any changes you make to a subVI affect only the current instance of the subVI until you save the subVI When you save the subVI the changes affect all calls to the subVI not just the current instance 3 4 2 Setting Required Recommended and Optional Inputs and Outputs In the Context Help window which you can access by selecting Help gt gt Show Context Help required terminals appear bold recommended terminals appear as plain text and optional terminals appear dimmed The labels of optional terminals do not appear if you click the Hide Optional Terminals and Full Path button in the Context Help window You can designate which inputs and outputs are required recommended and optional to prevent users from forgetting to wire subVI terminals Right click a terminal in the connector pane and select This Connection Is from the shortcut menu A checkmark indicates the terminal settin
127. ct Files gt Save As to save the VI as Simple Data Logger vi in the C Exercises LabVIEW Basics I directory 4 Run the VI A filename prompt appears Name the file logger lvm in the C Exercises LabVIEW Basics I directory 5 Stop and close the VI 10 8 2 Simple Data Reader Front Panel 1 Open a blank VI and build the front panel shown in Figure 10 12 by placing a waveform chart located on the Controlss gt Graph Indicators palette on the front panel Waveform Chart 28 5 28 25 28 27 75 27 5 27 25 27 26 75 26 5 26 25 Amplitude 0 000 Figure 10 12 10 8 3 Block Diagram 1 Build the block diagram shown in Figure 10 13 gt Read LabVIEW Measurement File eh eS Figure 10 13 Place the Read LabVIEW Measurement File Express VI located on the Functions gt gt Input palette on the block diagram Because this Express VI reads data located in a LabVIEW measurement file one data point at a time it must be placed in a loop In the Configure Read LabVIEW Measurement File dialog box that appears set the following options e In the Action section place a checkmark in the Ask user to choose file check box e Set the Segment Size to Retrieve segments of original size so that all the data stored in the file is retrieved e Set Time Stamps to Relative to start of measurement Because the dynamic data type stores information about the signal timing this setting aligns the data with
128. ction generator CHAPTER 1 STUDENT GUIDE 1 1 2 B What You Need to Get Started Before you use this course manual ensure you have all the following items Windows Windows 98 or later installed on your computer Mac OS System 10 2 or later for Mac OS X System 9 1 or later for OS 9 x or earlier UNIX Sun workstation running Solaris 2 5 1 or later and X Window System server such as OpenWindows CDE or X11R6 or a PC running Linux kernel 2 0 x or later for Intel x86 processors Windows Multifunction DAQ device configured as device 1 using Measurement amp Automa tion Explorer MAX DAQ Signal Accessory wires and cable GPIB interface NI Instrument Simulator and power supply LabVIEW Full or Professional Development System 7 0 or later This course assumes you are using the default installation of LabVIEW If you have changed the palette views from the default settings some palette paths described in the course may not match your settings To reset palette views to LabVIEW defaults select Tools Options and select Controls Functions Palettes from the top pull down menu Set Palette View to Express and set Format to Standard Click the OK button to apply the changes and close the dialog box A serial cable A GPIB cable Optional A word processing application such as Notepad or WordPad The following files provided Filename Description Exercises Folder for saving VIs created during the course and for completing c
129. cture Figure 8 9 When you wire an error cluster to the selector terminal of a Case structure the case selector label displays two cases Error and No Error and the border of the Case structure changes color red for Error and green for No Error The Case structure executes the appropriate case subdiagram based on the error state When an error cluster is wired to the selection terminal the Case structure recognizes only the status Boolean of the cluster 8 3 Square Root VI Exercise 8 1 8 3 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 8 10 Square Root Value 0 00 Figure 8 10 8 3 2 Block Diagram 1 Build the block diagram shown in Figure 8 11 Square Root Yalue Figure 8 11 M True P E s Place the Case structure located on the Functions gt Execution Control galete on the block diagram Click the decrement or increment button to select the False case i Place the Greater or Equal to 0 function located on the Functions gt gt Arithmetic amp Comparison gt Express Comparison palette on the block diagram This function returns True if Number is greater than or equal to 0 99999 0 Right click the numeric constant and select Properties from the short cut menu Select the Format and Precision tab Set Digits of precision to 1 select Floating point notation and click the OK button to ensure there is no data conversion between the constant and the numeric
130. cument Blank VI Opens a blank front panel and blank block diagram VI from Template Opens a front panel and block diagram with components you need to build different types of VIs Other Document Types Opens the tools you use to build other LabVIEW objects e Browse for Template Displays the Browse dialog box so you can navigate to a VI control or template If you previously have browsed for and selected a template from this dialog box use the pull down menu of the Browse button to select a template to reopen it e Front panel preview Displays the front panel for the VI template you selected in the Create new list e Block diagram preview Displays the block diagram for the VI template you selected in the Create new list e Description Displays a description of the template you selected in the Create new list if the template includes a description 2 2 1 2 Opening an Existing VI You load a VI into memory by selecting Files gt Open In the Choose the VI to open dialog box that appears navigate to the VI you want to open The VIs you edit in this course are located in the C Exercises LabVIEW Basics I directory As the VI loads a status dialog box similar to Figure 2 3 might appear p Frequency Response yvi Loading 2 Loaded C Program Files National Instruments LabYIEW 6 examples apps freqresp lb Demo Tek FG 5010 i Searching C Program Files National Instruments LabVIEW 7 0 vi lib Daq leas
131. d Double click the Rectangle tool shown at pg 71 to redraw the border ala Use the Pencil tool shown in pg 71 to draw an icon that represents the thermometer f Use the Foreground and Fill tools to color the thermometer red NoTE To draw horizontal or vertical straight lines press the lt Shift gt key while you use the Pencil tool to drag the cursor oA Double click the Text tool shown in pg 71 and change the font to Small Fonts h Type Temp Reposition the text if necessary i Select the B amp W icon and select 256 Colors in the Copy from section to create a black and white icon which LabVIEW uses for printing unless you have a color printer j When the icon is complete click the OK button The icon appears in the upper right corner of the front panel 2 Right click the icon and select Show Connector from the shortcut menu and assign terminals to the switch and the thermometer a Click the left terminal in the connector pane b Click the Temp Scale control The left terminal turns green c Click the right terminal in the connector pane d Click the Temperature indicator The right terminal turns orange e Click an open space on the front panel 3 Save the VI as Thermometer vi in the C Exercises LabVIEW Basics I directory You will use this VI later in the course 4 Close the VI 3 6 Creating a SubVI from Sections of a VI You can simplify the block diagram of a VI by converting sections of the block diagram i
132. d indicators of that VI similar to the parameter list of a function call in text based programming languages The connector pane defines the inputs and outputs you can wire to the VI so you can use it as a subVI Define connections by assigning a front panel control or indicator to each of the connector pane terminals To define a connector pane right click the icon in the upper right corner of the front panel window and select Show Connector from the shortcut menu The connector pane replaces the icon Each rectangle on the connector pane represents a terminal Use the rectangles to assign inputs and outputs The number of terminals LabVIEW displays on the connector pane depends on the number of controls and indicators on the front panel The following front panel has four controls and one indicator so LabVIEW displays four input terminals and one output terminal on the connector pane 62 CHAPTER 3 MODULAR PROGRAMMING iS Slope vi Front Panel File Edit Operate Tools Browse Window Help m rreson x1 1 Joo Jo Slope m ee Figure 3 4 3 2 3 Selecting and Modifying Terminal Patterns Select a different terminal pattern for a VI by right clicking the connector pane and selecting Patterns from the shortcut menu Select a connector pane pattern with extra terminals You can leave the extra terminals unconnected until you need them This flexibility enables you to make changes with minimal effect on the hierarchy of
133. d run VIs The three palettes include the Tools Controls and Functions palettes You can place these palettes anywhere on the screen 2 2 6 1 Tools Palette You can create modify and debug VIs using the tools located on the floating Tools Figure 2 7 palette The Tools palette is available on both the front panel and the block diagram A tool is a special operating mode of the mouse cursor The cursor corresponds to the icon of the tool selected in the Tools palette Use the tools to operate and modify front panel and block diagram objects Select Window gt gt Show Tools Palette to display the Tools palette NOTE Press the Shift key and right click to display a temporary version of the Tools palette at the location of the cursor Figure 2 7 Tools Palette If automatic tool selection is enabled and you move the cursor over objects on the front panel or block diagram LabVIEW automatically selects the corresponding tool from the Tools palette You can disable automatic tool selection and select a tool manually by clicking the tool you want on the Tools palette _ If you want to use the Tab key to cycle through the four most common tools on the Tools palette click the Automatic Tool Selection button shown at left on the Tools palette to disable automatic tool selection Press the Shift Tab keys or click the Automatic Tool Selection button to enable automatic tool selection again You also can manually select a tool on the T
134. device Remember the following important considerations when planning to store data to a file e Not all data logging applications use LabVIEW to process and analyze the stored data Con sider which applications will need to read the data e The data storage format defines which applications can read the file Since LabVIEW contains standard file operation functions that exist in other languages the programmer has complete control over the data logging process 201 LabVIEW includes the ability to create a LabVIEW measurement file an ASCII text file that can be read by a spreadsheet or a text editor The LabVIEW measurement file is easy to create in LabVIEW and easy to read in LabVIEW or other applications The Write LabVIEW Measurement File Express VI located on the Functions gt gt Output palette writes signals to a LabVIEW measurement file When you place this Express VI on the block diagram a configuration dialog box appears where you can specify how to store the file The Read LabVIEW Measurement File Express VI located on the Functions gt gt Input palette reads signals in a LabVIEW measurement file This Express VI reads data one point at a time so it is necessary to place this Express VI in a loop 10 8 Simple Data Logger VI Exercise 10 4 10 8 1 Simple Data Logger Block Diagram 1 Open the Measurement Averaging VI located in the C Exercises LabVIEW Basics I directory 2 Modify the block diagram to log the acquired data
135. diagram is active f Click the Step Out button to stop single stepping 5 Use a probe to check intermediate values on a wire as a VI runs mica Use the Probe tool shown pg 51 to click any wire A window similar to Figure 2 37 appears 1 Probe o c000E 0 Figure 2 37 LabVIEW numbers the Probe window automatically and displays the same num ber in a glyph on the wire you clicked b Single step through the VI again The Probe window displays data passed along the wire 6 Place breakpoints on the block diagram to pause execution at that location 51 52 CHAPTER 2 INTRODUCTION Alc Use the Breakpoint tool shown in pg 52 to click nodes or wires Place a breakpoint on the block diagram to pause execution after all nodes on the block diagram execute b Click the Run button to run the VI When you reach a breakpoint during execu tion the VI pauses and the Pause button on the toolbar appears red AL Click the Continue button shown pg 52 to continue running to the next breakpoint or until the VI finishes running d Use the Breakpoint tool to click the breakpoints you set and remove them 7 Click the Highlight Execution button to disable execution highlighting 8 Select File gt gt Close to close the VI and all open windows 2 12 Summary Tips and Tricks on Introduction to LabVIEW 2 12 1 Summary Virtual instruments VIs contain three main components the front panel the block diagram and the icon and conn
136. e 7 25 7 7 2 Block Diagram 1 Build the block diagram shown in Figure 7 26 Sine amp Cosine Bundle xY Circle Graph Figure 7 26 Place the Sine amp Cosine function located on the Functions gt Arithmetic amp Comparison gt gt Express Numeric gt gt Express Trigonometric palette on the block diagram This function builds an array of points that represents one cycle of a sine wave and a cosine wave 137 ot Place the Bundle function located on the Functions gt All Functions gt gt Cluster palette on the block diagram This function assembles the sine array and the cosine array to plot the sine array against the cosine array to produce a circle 6 aul Place the Pi Multiplied by 2 constant located on the Functions gt Arithmetic amp Comparison gt gt Express NumericS gt Express Numeric Constants palette on the block diagram 2 Save the VI as Graph Circle vi in the C Exercises LabVIEW Basics I directory 3 Display the front panel and run the VI 4 Close the VI 7 8 Intensity Plots You can use intensity graphs and charts to display patterned data such as temperature patterns and topographical terrain where the magnitude represents altitude Like the waveform graph and chart the intensity graph features a fixed display while the intensity chart features a scrolling display The intensity graph and chart accept a 2D array of numbers Each number in the array represents a specific color The indexes of the element
137. e Run button see the flow of data through the block diagram Click the button again to disable execution highlighting Click the Step Into button shown at left to open a node and pause When you click the Step Into button again it executes the first action and pauses at the next action of the subVI or structure You also can press the Ctrl and down arrow keys Single stepping through a VI steps through the VI node by node Each node blinks to denote when it is ready to execute By stepping into the node you are ready to single step inside the node Click the Step Over button shown at left to execute a node and pause at the next node You also can press the Ctrl and right arrow keys By stepping over the node you execute the node without single stepping through the node Click the Step Out button shown at left to finish executing the current node and pause When the VI finishes executing the Step Out button becomes dimmed You also can press the Ctrl and up arrow keys By stepping out of a node you complete single stepping through the node and go to the next node The Warning button shown at left appears if a VI includes a warning and you placed a checkmark in the Show Warnings checkbox in the Error List window A warning indicates there is a potential problem with the block diagram but it does not stop the VI from running 14 CHAPTER 2 INTRODUCTION 2 2 6 Palettes LabVIEW has graphical floating palettes to help you create an
138. e The listener counts the bytes handshaked and stops reading when the listener reaches a byte count limit This method is often used as a default termination method because the transfer stops on the logical OR of EOI EOS if used in conjunction with the byte count Thus you typically set the byte count to equal or exceed the expected number of bytes to be read 11 2 3 Restrictions To achieve the high data transfer rate that the GPIB was designed for you must limit the number of devices on the bus and the physical distance between devices The following restrictions are typical e A maximum separation of 4 m between any two devices and an average separation of 2 m over the entire bus e A maximum total cable length of 20 m e A maximum of 15 devices connected to each bus with at least two thirds powered on For high speed operation the following restrictions apply e All devices in the system must be powered on e Cable lengths must be as short as possible with up to a maximum of 15 m of cable for each system e There must be at least one equivalent device load per meter of cable If you want to exceed these limitations you can use a bus extender to increase the cable length or a bus expander to increase the number of device loads You can order bus extenders and expanders from National Instruments Note Refer to the National Instruments GPIB support Web site for more information about GPIB Thttp www ni com support gpibsupp htm
139. e VISA Write and VISA Read functions located on the Functions gt gt All Functions gt gt Instrument I O gt gt VISA palette query the NI Instrument Simulator for a square wave in either ASCII or 1 byte binary format W The Simple Error Handler VI located on the Functions gt All Functions gt Time amp Dialog palette reports any errors 2 Display the front panel and run the VI The True case acquires and converts the binary waveform string to an array of numeric values The False case acquires and converts the ASCII waveform string to an array of numeric values 243 3 Set Data Format to ASCII and run the VI The ASCII waveform string displays the VI converts the values to a numeric array and displays the string length and numeric array 4 Set Data Format to Binary and run the VI again The binary waveform string and string length display the VI converts the string to a numeric array and displays it in the graph Note The binary waveform is similar to the ASCII waveform However the number of bytes in the string is significantly lower It is more efficient to transfer waveforms as binary strings than as ASCII strings because binary encoding requires fewer bytes to transfer the same information 5 Close the VI Do not save changes 11 15 Summary Tips and Tricks on Instrument Control e LabVIEW can communicate with an instrument that connects to the computer as long as you know what kind of interface it is and what cabling
140. e assumes that you are familiar with Windows Mac OS or UNIX and that you have experience writing algorithms in the form of flowcharts or block diagrams The course is divided into lessons each covering a topic or a set of topics Each lesson consists of the following e An introduction that describes the purpose of the lesson and what you will learn e A description of the topics in the lesson e A set of exercises to reinforce those topics Some lessons include optional and challenge exercise sections or a set of additional exercises to complete if time permits e A summary that outlines important concepts and skills taught in the lesson Several exercises in this manual use one of the following National Instruments hardware products e A plug in multifunction data acquisition DAQ device connected to a DAQ Signal Accessory containing a temperature sensor function generator and LEDs e A GPIB interface connected to an NI Instrument Simulator panen If you do not have this hardware you still can complete most of the exercises Be sure to use the demo versions of the VIs when you are working through exercises Exercises that explicitly require hardware are indicated with an icon shown in Figure 1 You also can substitute other hardware for those previously mentioned For example you can use a GPIB instrument in place of the NI Instrument Simulator or another National Instruments DAQ device connected to a signal source such as a fun
141. e block diagram includes wires front panel icons functions possibly subVIs and other LabVIEW objects that also might look familiar The upper right corner of the front panel and block diagram displays the icon for the VI This icon is the same as the icon that appears when you place the VI on the block diagram 3 1 1 Icon and Connector Pane After you build a front panel and block diagram build the icon and the connector pane so you can use the VI as a subVI Every VI displays an icon such as the one shown in pg 57 in the upper right corner of the front panel and block diagram windows An icon is a graphical representation of a VI It can contain text images or a combination of both If you use a VI as a subVI the icon identifies the subVI on the block diagram of the VI You can double click the icon to customize or edit_it You also need to build a connector pane shown in pg 57 to use the VI as a subVI The connector pane is a set of terminals that correspond to the controls and indicators of that VI similar to the parameter list of a function call in text based programming languages The connector pane defines the inputs and outputs you can wire to the VI so you can use it as a subVI A connector pane receives data at its input terminals and passes the data to the block diagram code through the front panel controls and receives the results at its output terminals from the front panel indicators As you create VIs you might find that you
142. e computer Select the GPIB interface and click the Properties button on the toolbar to display the Prop erties dialog box Examine but do not change the settings for the GPIB interface and click the OK button Make sure the GPIB interface is still selected in the Devices and Interfaces section and click the Scan for Instruments button on the toolbar Expand the GPIB board section One instrument named Instrument0 appears Click Instrument0 to display information about it in the right pane of MAX The NI Instrument Simulator has a GPIB primary address PAD of 2 Click the Communicate with Instrument button on the toolbar An interactive window ap pears You can use it to query write to and read from that instrument Type IDN in Send String and click the Query button The instrument returns its make and model number in String Received You can use this window Figure 11 3 to debug instrument problems or to verify that specific commands work as described in the instrument documentation PI NI 488 2 Communicator Ble xi GPIBO InstumentO Primary Address 2 m Status Globals Send String IDN ibsta 0x2100 an i r Mo i i Write Read iber None END ibentk 62 SRAI Configured ngs String Received CMPL LOR National Instruments GPIB and Serial Device Simulator Rev Show Sample Exit Figure 11 3 Type MEAS DC in Send String and click the Query button The NI Instrume
143. e connector panes Double clicking a function only selects the function 2 4 3 Nodes Nodes are objects on the block diagram that have inputs and or outputs and perform operations when a VI runs They are analogous to statements operators functions and subroutines in text based programming languages Nodes can be functions subVIs or structures Structures are process control elements such as Case structures For Loops or While Loops The Add and Subtract functions in Figure 2 16 are function nodes 2 4 3 1 Expandable Nodes versus Icons You can display VIs and Express VIs as icons or as expandable nodes Expandable nodes appear as icons surrounded by a colored field SubVIs appear with a yellow field and Express VIs appear with a blue field Use icons such as the Basic Function Generator VI icon if you want to conserve space on the block diagram Use expandable nodes such as the Basic Function Generator VI expandable node to make wiring easier and to aid in documenting block diagrams By default subVIs appear as icons on the block diagram and Express VIs appear as expandable nodes 24 CHAPTER 2 INTRODUCTION To display a subVI or Express VI as an expandable node right click the subVI or Express VI and select View As Icon from the shortcut menu to remove the checkmark You can resize the expandable node to make wiring even easier but it also takes a large amount of space on the block diagram Complete the following steps to resize a
144. e measurements begin to fluctuate with noise spikes 10 6 1 Block Diagram 1 Stop the VI and display the block diagram Figure 10 10 Modify the block diagram to calculate the average of 100 measurements 199 200 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS Cy a Statistics b Signals EE Signals D ee Figure 10 10 Y Place the Collector Express VI located on the Functions gt gt Signal Manipulation palette on the block diagram This Express VI creates an internal buffer to store the individual points When the maximum number of input points is collected the Express VI discards the oldest points and adds the newest points In the Configure Collector dialog box that appears set the Maximum number of samples to 100 Click the OK button to close the dialog box 3 Place the Statistics Express VI located on the Functions gt Analysis palette on the block diagram In the Configure Statistics dialog box that appears place a checkmark in the Arithmetic Mean checkbox to perform averaging on the collected data Click the OK button to close the dialog box 4 Select Files gt Save As to save the VI as Measurement Averaging vi in the C Exercises LabVIEW Basics I directory 5 Display the front panel and run the VI Notice that the noise spikes are reduced when the Temp Sensor Noise switch is turned on 6 Stop and close the VI 10 7 Data Logging It is often necessary to permanently store data acquired from the DAQ
145. e wiring to the correct terminal 27 2 5 Acquiring a Signal VI Exercise 2 1 In the following exercise you will build a VI that generates a signal and displays that signal in a graph LabVIEW provides templates containing information from which you can build a VI These templates help you get started with LabVIEW Complete the following steps to create a VI that generates a signal and displays it on the front panel 1 Launch LabVIEW 2 In the LabVIEW dialog box that appears shown in Figure 2 18 click the New button to display the New dialog box B LabVIEW File Edit Tools Help NATIONAL INSTRUMENTS ome dl Open 9 LabVIEW 7 e d Figure 2 18 3 Select VI from Template gt gt Tutorial Getting Started gt Generate and Display in the Create new list This template VI generates and displays a signal Notice that pre views of the template VI appear in the Front panel preview and the Block diagram preview sections The Figure 2 19 shows the New dialog box and the Generate and Display template VI 28 CHAPTER 2 INTRODUCTION 5j E Design Patterns Other Document Types Create new Front panel preview Description Blank VI VI from Template Use this template to simulate the acquisition and display of data by generating data Note VIs created from this template will have automatic error handling enabled by default Framewor
146. e you set the control The mechanical action of the Stop button is Latch When Released This setting changes the control value only after you release the mouse button within the graphical boundary of the control When the VI reads it once the control reverts to the old value This action guarantees at least one new value This action is similar to dialog box buttons and system buttons 2 Right click a control and select Advanced gt gt Key Navigation from the shortcut menu to display the Key Navigation dialog box 3 In the Key Assignment section assign the shortcut key shown in the Figure 12 4 4 Repeat pg 251 and pg 251 for each control 12 5 2 Block Diagram 1 Examine the block diagram Figure 12 5 which is already built zg All False Cases Are Empty Wait Until Next ms moo 1 Display Temp Figure 12 5 gt e The Display Temp VI simulates a temperature measurement every 500 ms and plots it on a strip chart The Display and Log Temp VI simulates a temperature measurement every 500 ms plots it on a strip chart and logs it to a file B The Display Logged Temp VI opens a file that you select reads the logged data and displays them on a graph 2 Configure each subVI to display its front panel when called a Right click the subVI and select SubVI Node Setup from the shortcut menu 252 CHAPTER 12 CUSTOMIZING VIS b Place checkmarks in the Show Front Panel when called and Close afterwards if origina
147. eates the data structure to plot two arrays on a waveform graph om Place the pi constant located on the Functions gt Arithmetic amp Comparison gt gt Express Numerics gt Express Numeric Constants palette on the block diagram d Wire the block diagram as shown Figure 7 20 4 Save the VI 5 Display the front panel and run the VI The two waveforms plot on the same waveform graph 6 Display the block diagram 7 Right click the wire to Waveform Array select Custom Probes gt gt Controlss gt Graph Indicators from the shortcut menu and select a waveform graph to place a graph probe on the wire 8 Display the front panel and run the VI The probe shows only the data array The sine wave is not present because you did not place the probe on the wire to which the sine wave is bundled 9 Close the Probe window 10 Zoom in on a portion of the graph a Leal Click the Zoom button on the graph palette shown in pg 131 to display the Zoom pull down menu b Select Zoom by X Rectangle as shown in Figure 7 21 132 CHAPTER 7 PLOTTING DATA Figure 7 21 c Click and drag a selection rectangle on the graph When you release the mouse button the graph display zooms in on the selected area d You also can select Zoom by Y Rectangle or Zoom by Selected Area Experiment with these options 81 iby he a Select Undo Zoom from the lower left corner of the pull down menu to undo a zoom or click the x axis single fit button and
148. ecessary close or move the Tools and Functions palettes Feedback Before Figure 4 16 The 1 wired to the left terminals on the For Loop initializes the Feedback Node to 1 The Wait Until Next ms Timer slows the operation of the code You also could use Highlight Execution instead of the wait function to slow the operation The same code is used twice in this block diagram with the Feedback Node in a different portion of the wire 4 6 3 Run the VI 1 Run the VI The top section of the code reads the initialized Feedback Node and passes this value to the Multiply function The bottom section of the code reads the initialized Feedback Node and passes this value to the indicator This Multiply function does not execute until the next iteration of the loop Le Click the Highlight Execution button shown in pg 86 to enable execution highlighting Run the VI again to observe the order of execution Turn off execution highlighting when you understand the execution order The VI continues executing at normal speed 3 Replace the bottom Feedback Node with a shift register as shown in Figure 4 17 87 Feedback Node Figure 4 17 a Select the bottom Feedback Node and press the lt Delete key to delete it Right click the border of the For Loop and select Add Shift Register Initialize the shift register by wiring 1 to the left shift register d Change the label of the bottom indicator to Shift Register and the top indicator to
149. ecommons org licenses by 1 0 Module Summary Tips and Tricks on Instrument Control By National Instruments URL http cnx org content m12297 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Additional Exercises for Instrument Control By National Instruments URL http cnx org content m12298 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Configuring the Appearance of Front Panels By National Instruments URL http cnx org content m12299 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Opening SubVI Front Panels when a VI Runs By National Instruments URL http cnx org content m12300 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Pop up Graph VI and Use Pop up Graph VI By National Instruments URL http cnx org content m12301 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Keyboard Shortcuts for Controls By National Instruments URL http cnx org content m12302 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Temperature System VI 278 ATTRIBUTIONS By National Instruments URL http cnx org content m12303 latest Copyright National Instruments License http
150. ect Execution from the top pull down menu and remove the checkmark from the Allow Debugging checkbox 2 12 2 2 Wiring Click the Show Context Help Window button on the toolbar to display the Context Help window Use the Context Help window to determine which terminals are required Required terminals are bold recommended connections are plain text and optional connections are dimmed Press the spacebar to toggle the wire direction To move objects one pixel press the arrow keys To move objects several pixels press the Shift key while you press the arrow keys To cancel a wire you started press the Esc key right click or click the terminal where you started the wire Use the tip strips that appear as you move the Wiring tool over terminals Display the connector pane by right clicking the node and selecting Visible Items gt gt Terminals from the shortcut menu 54 CHAPTER 2 INTRODUCTION You can bend a wire by clicking to tack the wire down and moving the cursor in a perpendicular direction To tack down a wire and break it double click Figure 2 38 1 Tack Down a Wire by Clicking 2 Tack and Break the Wire by Double clicking 2 12 2 3 Editing Use the following shortcuts to create constants controls and indicators Right click a function terminal and select Create gt Constant Create gt gt Control or Create gt gt Indicator from the shortcut menu Drag controls and indicators from the front panel to t
151. ector pane The front panel is the user interface of a VI and specifies the inputs and displays the outputs of the VI The block diagram contains the graphical source code composed of nodes terminals and wires Use the Tools palette to create modify and debug VIs Press the Shift key and right click to display a temporary version of the Tools palette at the location of the cursor Use the Controls palette to place controls and indicators on the front panel Right click an open space on the front panel to display the Controls palette Use the Functions palette to place VIs and functions on the block diagram Right click an open space on the block diagram to display the Functions palette Use the Search button on the Controls and Functions palettes to search for controls VIs and functions All LabVIEW objects and empty space on the front panel and block diagram have associated shortcut menus which you access by right clicking an object the front panel or the block diagram Use the Help menu to display the Context Help window and the LabVIEW Help which describes most palettes menus tools VIs functions and features Select Help gt gt Search the LabVIEW Bookshelf to display the LabVIEW Bookshelf which you can use to search PDF versions of all the LabVIEW manuals and Application Notes You build the front panel with controls and indicators which are the interactive input and output terminals of the VI respectively
152. ed by refnum CLOSE f Place the Close File function located on the Functions gt All Functions gt File I O palette on the block diagram This function closes the file of Place the Simple Error Handler VI located on the Functions gt All Functions gt gt Time amp Dialog palette on the block diagram This VI checks the error cluster and displays a dialog box if an error occurs h Complete the block diagram as shown in Figure 9 24 3 Save the VI You will use this VI later in the course 9 11 2 Run the VI 1 Display the front panel and run the VI The Enter File Name dialog box appears 2 Type temp txt and click the Save or OK button The VI creates a file called temp txt The VI takes readings every half second and saves the time and temperature data to a file until you click the Power switch When the VI finishes it closes the file 3 Open a word processor or spreadsheet application such as Windows Notepad or WordPad Mac OS SimpleText or UNIX Text Editor 4 Open the temp txt file in the word processing or spreadsheet application The time appears in the first column and the temperature data appears in the second column 5 Exit the word processor or spreadsheet application and return to LabVIEW 6 If time permits complete the optional steps Otherwise close the VI 9 11 3 Optional When using error handling in a VI the While Loop should stop executing when an error occurs Complete the following steps to modify
153. el and run the VI The graph displays both the temperature data and best fit curve of the temperature waveform 135 2 Try different values for the polynomial order constant on the block diagram and run the VI again 3 Change the appearance of the plots by modifying the plot styles and fill styles a Right click the Temp plot display in the plot legend and select Common Plots gt gt Scatter Plot from the shortcut menu the top middle option b Right click the Fitted plot display in the plot legend select Bar Plots from the shortcut menu and select the second option in the middle row The waveform graph should appear similar to the front panel in Figure 7 24 Temp Fitted Temp Graph Cc i o Q E o Be 40 eo eG Time s Figure 7 24 4 Save and close the VI 7 7 Graph Circle VI Exercise 7 5 Complete the following steps to build a VI that plots a circle using independent x and y arrays 7 7 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 7 25 136 CHAPTER 7 PLOTTING DATA xY Circle Graph Figure 7 25 a Place an XY Graph located on the Controls gt gt All Controlss gt Graph palette on the front panel b Label the graph XY Circle Graph c Change Plot 0 to Circle in the plot legend d Right click the plot in the plot legend select Point Style from the shortcut menu and select the small square e Change the scale labels and ranges as shown in Figur
154. el changes 9 Experiment with other properties of the graph by using the Graph Properties dialog box For example try disabling the autoscale feature located on the Scales tab 10 Click the Cancel button to avoid applying the changes you made while experimenting If you want to keep the changes you made click the OK button 11 Save and close this VI 2 6 Dataflow Programming LabVIEW follows a dataflow model for running VIs A block diagram node executes when all its inputs are available When a node completes execution it supplies data to its output terminals and passes the output data to the next node in the dataflow path Visual Basic C JAVA and most other text based programming languages follow a con trol flow model of program execution In control flow the sequential order of program elements determines the execution order of a program Example 2 1 For a dataflow programming example consider a block diagram Figure 2 26 that adds two numbers and then subtracts 50 00 from the result of the addition In this case the 38 CHAPTER 2 INTRODUCTION block diagram executes from left to right not because the objects are placed in that order but because the Subtract function cannot execute until the Add function finishes executing and passes the data to the Subtract function Remember that a node executes only when data are available at all of its input terminals and it supplies data to its output terminals only when it fin
155. en Save Copy and Paste and other items specific to LabVIEW Some menu items also list shortcut key combinations Mac OS The menus appear at the top of the screen Windows and UNIX The menus display only the most recently used items by default Click the arrows at the bottom of a menu to display all items You can display all menu items by default by selecting Tools gt gt Options and selecting Miscellaneous from the top pull down menu NOTE Some menu items are unavailable while a VI is in run mode e The File menu contains items used for basic file operations such as opening closing saving and printing files 10 CHAPTER 2 INTRODUCTION e The Edit menu contains items that allow you to search for and modify LabVIEW files and their components e The Operate menu contains items you use to control the operation of VIs e The Tools menu contains items for configuring LabVIEW your projects and your VIs e The Browse menu contains items that allow you to view aspects of the current VI and its hierarchy e The Window menu contains items that allow you to configure the appearance of the current windows and palettes You also can access the Error List window and view the contents of the clipboard e The Help menu contains items to explain and define LabVIEW features and other components provide full LabVIEW documentation and access National Instruments technical support 2 2 3 Front Panel and Block Diagram Windows When you op
156. en a blank VI an untitled front panel window appears This window displays the front panel and is one of the two LabVIEW windows you use to build a VI The other window contains the block diagram The illustration in Figure 2 4 shows a front panel and its corresponding block diagram with front panel and block diagram components 11 f gt Using Temperature vi Front Panel O 2 10 D gt Using Temperature vi Block Diagram File Edit Operate Tools Browse Window Help SE m E boleh e Fora Number of Measurements Figure 2 4 1 Toolbar 2 Owned Label 3 Numeric Control 4 Free Label 5 Numeric Control Terminal 6 Knob Terminal 7 Numeric Constant 8 Multiply Function 9 Icon 10 Knob Control 11 Plot Legend 12 XY Graph 13 Wire Data Path 14 XY Graph Terminal 15 Bundle Function 16 SubVI 17 For Loop Structure 2 2 4 Front Panel Toolbar Use the toolbar buttons to run and edit a VI The toolbar in Figure 2 5 appears on the front panel 12 CHAPTER 2 INTRODUCTION SUE Pao Figure 2 5 Click the Run button to run a VI LabVIEW compiles the VI if necessary You can run a VI if the Run button appears as a solid white arrow The solid white arrow shown above also indicates you can use the VI as a subVI if you create a connector pane for the VI While the VI runs the Run button appears as shown at left if the VI is a top level VI
157. ens a refnum represents the file A reference number or refnum is a unique identifier for an object such as a file device or network connection 2 Read from or write to the file 3 Close the file 9 5 High Level File I O VIs Most File I O VIs and functions perform only one step in a file I O operation However some high level File I O VIs designed for common file I O operations perform all four steps Although these VIs are not always as efficient as the low level functions you might find them easier to use Use the high level File I O VIs located on the top row of the File I O palette to perform common I O operations such as writing to or reading from the following types of data Characters to or from text files Lines from text files 1D or 2D arrays of single precision numeric values to or from spreadsheet text files 1D or 2D arrays of single precision numeric values or signed 16 bit integers to or from binary files High level File I O VIs include the following Write to Spreadsheet File Converts a 2D or 1D array of single precision numbers to a text string and writes the string to a new byte stream file or appends the string to an existing file You also can transpose the data The VI opens or creates the file before writing to it and closes it afterwards You can use this VI to create a text file readable by most spreadsheet applications Read From Spreadsheet File Reads a specified number of lines or rows from a numer
158. ensity Plots eriei eds ed teh Lad ta el adn adie eee a 137 7 9 Intensity Graph Example Vior gic cgey Mapes ay eed ae eed eat ef ve eae aa at 138 7 10 Summary Tips and Tricks on Plotting Data 0 c ccc cece ene eee 139 7 11 Additional Exercises for Plotting Data 0 cc eect nen ee een ens 140 8 Making Decisions in a VI 8 1 Making Decisions with the Select Function 00 cece cece eee ene ene 143 8 2 Cases Structures pena aE arene a ea vented ai agen eg ENE E eee Rhee a 144 8 3 r Sduare ROGt Vil fies wines one heed the aes Game nme pa eal E EE ok gee 1 ee beens 148 8 4 Temperature Control VI 0 cece cence ened ent e tent t inuus 150 8 5 Formala Nod ssi did ceed eae dg ee a eee ee Been te Bede AEREE bes 153 8 6 Formula Node Exercise VI 11 2 0 cece bene nee ene nna 154 8 7 Summary Tips and Tricks on Making Decisions in a VI 00 0 cece ee ee 155 8 8 Additional Exercises for Making Decisions ina VI cee cece eee 156 9 Strings and File I O DEEL M EE E E ae ss alt eel nt ge ee eae 157 922 String FUNCtHONS st pended T A de yee teed Diese hve Rone eae beets 159 9 3 Create String VI wilco gaia poe nba teod sey aa aaa Gahan Garde aaa i 162 9 4 File 1 O VIs and Functions eis spei i eia ioniy cece ee eee 165 9 5 High Level File I O VIs 0c ccc ee en eee eens 167 9 6 Spreadsheet Example VI 0 0 honeri cece eee tne EEA PAE teen ented 168 9 7 Low Level File I O VI and Fu
159. ent NI DAQ Ens DAQ Assistant 4 Measurement Types Analog Output Select the measurement type for your task Voltage Current lt Back Next gt ish Cancel ly ZA Figure 10 14 To perform a voltage or current task a compatible device must be installed that can generate that form of signal 10 9 1 Task Timing When performing analog output the task can be timed to Generate 1 Sample Section 10 9 1 1 Generate n Samples Section 10 9 1 2 or Generate Continuously Section 10 9 1 3 10 9 1 1 Generate 1 Sample Use single updates if the signal level is more important than the generation rate For example generate one sample at a time if you need to generate a constant or DC signal You can use software timing to control when the device generates a signal This operation does not require any buffering or hardware timing For example if you need to generate a known voltage to stimulate a device a single update would be an appropriate task 205 10 9 1 2 Generate n Samples One way to generate multiple samples for one or more channels is to generate single samples in a repetitive manner However generating a single data sample on one or more channels over and over is inefficient and time consuming Moreover you do not have accurate control over the time between each sample or channel Instead you can use hardware timing which uses a buffer in computer memory to generate samp
160. ent m12213 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module For Loops By National Instruments URL http cnx org content m12214 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Timed Temperature VI By National Instruments URL http cnx org content m12216 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Accessing Previous Loop Data 268 By National Instruments URL http cnx org content m12217 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Accessing Previous Data VI By National Instruments URL http cnx org content m12218 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Summary Tips and Tricks on Repetition and Loops By National Instruments URL http cnx org content m12219 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Arrays By National Instruments URL http cnx org content m12220 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Auto Indexing By National Instruments URL http cnx org content m12221 latest Copyright National Instruments License http creativecommons org licenses by 1 0
161. ent DAQ and signal generation speeds Also each DAQ device is designed for specific hardware platforms and operating systems Refer to ni com daq for more information about DAQ devices 10 1 1 DAQ System Components Before a computer based measurement system can measure a physical signal such as temperature a sensor or transducer must convert the physical signal into an electrical one such as voltage or current You might consider the plug in DAQ device to be the entire measurement system but it is actually only one system component You cannot always directly connect signals to a plug in DAQ device In these cases you must use signal conditioning accessories to condition the signals before the plug in DAQ device converts them to digital information The software controls the DAQ system by acquiring the raw data analyzing and presenting the results Consider the following options for a DAQ system e The plug in DAQ device resides in the computer You can plug the device into the PCI slot of a desktop computer or the PCMCIA slot of a laptop computer for a portable DAQ measurement system e The DAQ device is external and connects to the computer through an existing port such as the serial port or Ethernet port which means you can quickly and easily place measurement nodes near sensors The computer receives raw data through the DAQ device The application you write presents and manipulates the raw data in a form you can understand The soft
162. ents URL http cnx org content m12244 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Case Structures By National Instruments URL http cnx org content m12245 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Square Root VI By National Instruments URL http cnx org content m12246 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Temperature Control VI By National Instruments URL http cnx org content m12247 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Formula Node By National Instruments URL http cnx org content m12248 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Formula Node Exercise VI By National Instruments URL http cnx org content m12249 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Summary Tips and Tricks on Making Decisions in a VI By National Instruments URL http cnx org content m12250 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Additional Exercises for Making Decisions in a VI 271 272 By National Instruments URL http cnx org content m12251 latest Copyright Natio
163. epresents a double precision floating point numeric control or indicator Terminals are entry and exit ports that exchange information between the front panel and block diagram Terminals are analogous to parameters and constants in text based programming languages Types of terminals include control or indicator terminals and node terminals Control and indicator terminals belong to front panel controls and indicators Data you enter into the front panel controls a and b in Figure 2 16 enter the block diagram through the control terminals The data then enter the Add and Subtract functions When the Add and Subtract functions complete their internal calculations they produce new data values The data flow to the indicator terminals where they exit the block diagram reenter the front panel and appear in front panel indicators a b and a b in Figure 2 16 The terminals in Figure 2 16 belong to four front panel controls and indicators The connector panes of the Add and Subtract functions shown in pg 25 have three node terminals To display the terminals of the function on the block diagram right click the function node and select Visible Items gt gt Terminals from the shortcut menu 2 4 3 3 Wires You transfer data among block diagram objects through wires Wires are analogous to variables in text based programming languages In Figure 2 16 wires connect the control and indicator terminals to the Add and Subtract functions Each wire has a
164. er The following header precedes the data points CURVE Bin Count MSB Bin Count LSB aad 128 bytes in total Checksum CR LF Complete the following steps to examine a VI that converts the waveform to an array of numbers The VI graphs the array and reads the waveform string from the NI Instrument Simulator or from a previously stored array 11 14 1 NI Instrument Simulator 1 Power off the NI Instrument Simulator and configure it to communicate through the GPIB by setting the switches Figure 11 27 on the side of the box S MODE DATA FORMAT BAUD RATE Figure 11 27 241 These switch settings configure the instrument as a GPIB device with an address of 2 2 Power on the NI Instrument Simulator Only the Power and Ready LEDs are lit to indicate that the NI Instrument Simulator is in GPIB communication mode 11 14 2 Front Panel 1 Open the Waveform Example VI located in the C Exercises LabVIEW Basics I di rectory The front panel shown in Figure 11 28 is already built Data Format Data Source tees ein Binary Simulated Bles 979 Jase J see Waveform String Waveform Plot CURVE 4 3748 0 9054E1 a 0 8429E1 7 1068 6 6331 7 0970 7 7300 7 9161 7 6677 7 3702 7 3012 7 4318 7 5704 7 5936 7 5261 7 4620 7 4556 3 7 4901 7 5197 7 5203 7 5026 7 4892 7 4901 pe 7 4993 7 5051 4 3754 0 9055E 1 0 8429E1 7 1071 6 6335 7 0970 7 7303 7 9165 7 6680 7 3705 7 3015 7 4318 7 5707 7 5939 7 526
165. er Exercise vi in the C Exercises LabVIEW Basics I directory 6 3 3 Run the VI 1 Display the front panel and run the VI 2 Enter different values in Cluster and run the VI again Notice how values entered in Cluster affect the Modified Cluster and Small Cluster indicators Is this the behavior you expected 3 Try changing the cluster order of Modified Cluster Run the VI How did the changed order affect the behavior 4 Close the VI Do not save changes 6 4 Cluster Scaling VI Exercise 6 2 Complete the following steps to build a VI that scales values stored in a cluster where each cluster element has a different scale factor Assume that the voltages were measured from transducers that measure the pressure flow rate and temperature The VI then scales these values to get the actual values present in the system 6 4 1 Front Panel 1 Open the Cluster Scaling VI located in the C Exercises LabVIEW Basics I directory The front panel is already built 2 Change the controls as shown in Figure 6 10 Figure 6 10 109 6 4 2 Block Diagram 1 Build the block diagram shown in Figure 6 11 Make sure you apply the correct scale factors to each element in the Raw Data cluster Raw Data Scaled Data Nim 2 j 10000 00 Figure 6 11 2 Save the VI 3 Display the front panel and run the VI 4 Change the front panel controls and run the VI again 5 Close the VI when you are finished 6 5 Error Clusters No ma
166. eration terminal an output terminal shown in pg 79 contains the number of com pleted iterations The iteration count always starts at zero During the first iteration the iteration terminal returns 0 The For Loop differs from the While Loop in that the For Loop executes a set number of times A While Loop stops executing the subdiagram only if the value at the conditional terminal exists The For Loop in Figure 4 8 generates a random number every second for 100 seconds and displays the random numbers in a numeric indicator 80 CHAPTER 4 REPETITION AND LOOPS Random Number Indicator Figure 4 8 4 3 1 Wait Functions h The Wait Until Next ms Multiple function shown in pg 80 monitors a millisecond counter and waits until the millisecond counter reaches a multiple of the amount you specify Use this function to synchronize activities Place this function within a loop to control the loop execution rate The Wait ms function shown in pg 80 adds the wait time to the code execution time This can cause a problem if code execution time is variable NoTE The Time Delay Express VI located on the Functions gt Execution Control palette behaves similar to the Wait ms function with the addition of built in error clusters Refer to Clusters Section 6 5 for more information about error clusters 4 3 2 Wait Functions LabVIEW can represent numeric data types as signed or unsigned integers 8 bit 16 bit or 32 bit floating poin
167. ertain course exercises also includes subVIs necessary for some exercises nidevsim zip Zip file containing the LabVIEW instrument driver for the NI Instrument Simulator Contained in Exercises zip Solutions Folder containing the solutions to all the course exercises 1 1 3 C Installing the Course Software Complete the following steps to install the course software 1 2 3 Copy the contents of the nidevsim directory to the labview instr lib directory After you start LabVIEW the NI DevSim instrument driver is located on the Functions Input Instrument Drivers palette Copy the Exercises directory to the top level of the C directory Copy the Solutions directory to the top level of the C directory 3http cnx org content m14634 latest Exercises zip http cnx org content m14634 latest Solutions zip 1 1 4 D Course Goals and Non Goals This course prepares you to do the following Understand front panels block diagrams icons and connector panes Use the programming structures and data types that exist in LabVIEW Use various editing and debugging techniques Create and save VIs so you can use them as subVIs Display and log data Create applications that use plug in DAQ devices Create applications that use serial port and GPIB instruments This course does not describe any of the following Every built in VI function or object refer to the LabVIEW Help for more inform
168. es VI 2 9 42 RS 232 231 select 8 1 143 8 7 155 8 8 156 Serial Port 11 11 229 Serial Read 11 12 234 Serial Write 11 12 234 shift register 83 Shortcuts 12 4 250 Solutions 1 1 1 264 source 110 111 spreadsheet 9 6 168 9 10 177 status 110 110 111 string 9 1 157 9 2 159 9 3 162 9 10 177 9 13 185 string function 9 2 159 SubVI 12 2 247 subVIs 3 4 66 summary 2 12 52 5 6 98 6 6 111 12 9 254 task 190 tasks 190 Temperature Monitor 7 2 115 Temperature Running Average VI 7 3 121 Temperature System 12 5 250 The Alliance Program 13 1 257 tips 2 12 52 5 6 98 6 6 111 11 15 243 training 13 1 257 tricks 2 12 52 5 6 98 6 6 111 triggers 197 INDEX U UNIX 246 V VI 8 3 148 8 4 150 9 8 173 9 9 175 9 11 180 9 12 184 9 14 186 10 5 197 10 6 199 10 12 209 10 14 210 11 9 224 11 10 227 11 14 240 11 16 243 12 3 247 12 5 250 12 6 252 12 7 253 12 9 254 VI properties 12 6 252 virtual channels 190 Virtual Instrument Software Architecture 11 6 220 virtual instruments 5 VIs 5 VISA 11 6 220 221 11 7 222 voltage output 10 10 205 Voltmeter 10 5 197 W waveform chart 113 waveform transfer 11 13 237 wave
169. es a wait of 500ms so the loop executes once every half second NOTE To measure temperature in Celsius wire a Boolean True con stant located on the Functions gt gt Arithmetic amp Comparison gt gt Express Boolean palette to the Temp Scale input of the Thermometer VI Change the scales on charts and graphs in subsequent exercises to a range of 20 to 32 instead of 70 to 90 5 Save the VI as Temperature Monitor vi in the C Exercises LabVIEW Basics I direc tory 7 2 3 Run the VI 1 Display the front panel by clicking it or by selecting Window gt gt Show Front Panel 2 Use the Operating tool to click the vertical toggle switch and turn it to the ON position 3 Run the VI The subdiagram within the While Loop border executes until the specified condition is True For example while the switch is on True the Thermometer VI takes and returns a new measurement and displays it on the waveform chart 4 Click the vertical toggle switch to stop the acquisition The condition is False and the loop stops executing 7 2 4 Front Panel 1 Format and customize the x and y scales of the waveform chart a Right click the chart and select Properties from the shortcut menu to display the Chart Properties dialog box b Click the Format and Precision tab Select Deg F Y axis in the top pull down menu Set the Digits of precision to 1 c Click the Plots tab and select different styles for the y axis as shown in Fig ure 7 7 117 118 CH
170. ess Comparison palette on the block diagram This function re turns either the Fahrenheit False or Celsius True temperature value depending on the value of Temp Scale Use the Positioning tool to place the icons as shown in the block diagram Figure 3 9 and use the Wiring tool to wire them together Note To display terminals for a node right click the icon and select Visible Items gt gt Terminals from the shortcut menu 3 5 4 Front Panel 1 Display the front panel by clicking it or by selecting Window gt gt Show Front Panel 2 Click the Run Continuously button shown at left to run the VI continuously 3 Put your finger on the temperature sensor and notice the temperature increase 4 Click the Run Continuously button again to stop the VI This allows the VI to finish the current run of the VI 3 5 5 Icon and Connector Pane 1 Create an icon so you can use the Thermometer VI as a subVI The following icon is an example If necessary create a simpler icon to save time i gt Icon Editor File Edit Help Copy From Black amp White 16 Colors C Show Terminals Figure 3 10 71 a Right click the icon in the upper right corner of the front panel and select Edit Icon from the shortcut menu The Icon Editor dialog box appears lea Double click the Select tool shown at left on the left side of the Icon Editor dialog box to select the default icon c Press the lt Delete gt key to remove the default icon a
171. esults in the output array 23 50 77 TIP Use the Decimate 1D Array function located on the Functions gt gt All Functions gt Array palette Save the VI as Array Pair Multiplier vi in the C Exercises LabVIEW Basics I directory Chapter 6 Clusters 6 1 Clusters Clusters group data elements of mixed types such as a bundle of wires as in a telephone cable where each wire in the cable represents a different element of the cluster A cluster is similar to a record or a struct in text based programming languages Bundling several data elements into clusters eliminates wire clutter on the block diagram and reduces the number of connector pane terminals that subVIs need The connector pane has at most 28 terminals If a front panel contains more than 28 controls and indicators that you want to use programmatically group some of them into a cluster and assign the cluster to a terminal on the connector pane Like an array a cluster is either a control or an indicator A cluster cannot contain a mixture of controls and indicators Although cluster and array elements are both ordered you must unbundle all cluster elements at once rather than index one element at a time You also can use the Unbundle By Name function to access specific cluster elements 6 1 1 Creating Cluster Controls and Indicators To create a cluster control or indicator select a cluster on the Controls gt gt All Controlss gt Array amp Cluster palette place it on t
172. every iteration of the loop The wire from the output tunnel to the array indicator becomes thicker as it changes to an array at the loop border and the output tunnel contains square brackets representing an array as shown in Figure 5 4 Figure 5 4 Disable auto indexing by right clicking the tunnel and selecting Disable Indexing from the short cut menu For example disable auto indexing if you need only the last value passed to the tunnel in the previous example Because you can use For Loops to process arrays an element at a time LabVIEW enables auto indexing by default for every array you wire to a For Loop and for each output tunnel that is created Auto indexing for While Loops is disabled by default To enable auto indexing right click a tunnel and select Enable Indexing from the shortcut menu 5 2 1 Creating Two Dimensional Arrays You can use two For Loops one inside the other to create a 2 D array The outer For Loop creates the row elements and the inner For Loop creates the column elements as shown in Figure 5 5 94 CHAPTER 5 ARRAYS Figure 5 5 5 2 2 Using Auto Indexing to Set the For Loop Count If you enable auto indexing on an array wired to a For Loop input terminal LabVIEW sets the count terminal to the array size so you do not need to wire the count terminal In Figure 5 6 the For Loop executes a number of times equal to the number of elements in the array Normally if the count terminal of the For Loop i
173. fer to the Block Diagram Section 2 4 section of this lesson for more information about using the Functions palette on the block diagram The VIs and functions located on the Functions palette depend on the palette view currently selected The VIs and functions are located on subpalettes based on the types of VIs and functions Figure 2 9 Functions Palette 2 2 6 3 Changing Palette Views Use the Options button on the Controls or Functions palette toolbar to change to another palette view or format 1 Click the Options button shown at left on the Controls or Functions palette toolbar to display the Controls Functions Palettes page of the Options dialog box 2 Select a palette view from the Palette View pull down menu 3 Select a format from the Format pull down menu such as Standard All Icons All Text or Icons and Text 4 Click the OK button The Controls and Functions palettes change to the palette view and format you selected 2 2 6 4 Searching for Controls VIs and Functions Use the following navigation buttons on the Controls and Functions palettes to navigate and search for controls VIs and functions e Up to Owning Palette Navigates up one level in the palette hierarchy e Search ce Changes the palette to search mode In search mode you can perform text based searches to locate controls VIs or functions on the palettes For example if you want to find the Random Number function click the Sear
174. find the Express VI you want to use and then add it to the block diagram a 2 If the Context Help window is not visible press the Ctrl H keys to open the Context Help window You also can press the Show Context Help Window button shown in pg 43 to open the Context Help window 2 Select the Input palette on the Functions palette and move the cursor over the Express VIs on the Input palette Notice that the Context Help window displays information about the function of each Express VI 3 From the information provided in the Context Help window find the Express VI that can simulate a sine wave signal 4 Select the Express VI and place it on the block diagram The Configure Simulate Signal dialog box appears 5 Idle the cursor over the various options in the Configure Simulate Signal dialog box such as Frequency Hz Amplitude and Samples per second Hz Read the informa tion that appears in the Context Help window 6 Configure the Simulate Signal Express VI to generate a sine wave with a frequency of 10 7 and amplitude of 2 7 Notice how the signal displayed in the Result Preview window changes to reflect the configured sine wave 8 Close the Configure Simulate Signal dialog box by clicking the OK button 9 Move the cursor over the Simulate Signal Express VI and read the information that appears in the Context Help window Notice that the Context Help window now displays the configuration of the Simulate Signal Express VI
175. following settings e Baud rate 9 600 e Data bits 8 235 e Parity no parity e Stop bits 1 e Flow control parameters hardware handshaking Handshaking is a means of data flow control Software handshaking involves embedding control characters in transmitted data For example XON XOFF flow control works by enclosing a transmitted message between the two control characters XON and XOFF Hardware handshak ing uses voltages on physical wires to control data flow The RTS and CTS lines of the RS 232 device are frequently used for this purpose Most lab equipment uses hardware handshaking 2 Make sure the NI Instrument Simulator is connected to a serial port on the computer with a serial cable Make a note of the port number 3 Power on the NI Instrument Simulator The Power Ready and Listen LEDs are lit to indicate that the device is in serial communication mode 11 12 2 Block Diagram 1 Open a blank VI and build the block diagram shown in Figure 11 18 Instrument I O Assistant aS a String Length Figure 11 18 a Place the Instrument I O Express VI located on the Functions gt gt Input palette on the block diagram Complete the following steps in the Instrument I O Assistant dialog box that appears to configure the Express VI i Choose COM1 or COM2 depending on the connection port of the NI Instrument Simulator from the Select an instrument pull down menu ii Click the Add Step button and click Write In
176. form and cluster data types 99 e 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 e You must insert an object in the array shell before you use the array on the block diagram Otherwise the array terminal appears black with an empty bracket e To create an array control or indicator select an array on the Controlss gt Array amp Cluster palette place it on the front panel and drag a control or indicator into the array shell e 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 e Use the Array functions located on the Functions gt gt All Functions gt Array palette to create and manipulate arrays e By default LabVIEW enables auto indexing in For Loops and disables auto indexing in While Loops e Polymorphism is the ability of a function to adjust to input data of different data structures 5 7 Additional Exercises for Arrays Exercise 5 2 Build a VI that reverses the order of an array that contains 100 random numbers For example array 0 becomes array 99 array 1 becomes array 98 and so on TIP Use the Reverse 1D Array function located on the Functions gt All Functions gt Array palette to reverse the array order Save the VI as Reverse Random Array vi in the C Exercises LabVIEW Basics I directory Exercise 5 3 Build a VI that accumulates an arr
177. forms 11 14 240 ATTRIBUTIONS Attributions Collection LabVIEW Graphical Programming Course Edited by National Instruments URL http cnx org content col10241 1 4 License http creativecommons org licenses by 1 0 Module LabVIEW Course Exercise Code By National Instruments URL http cnx org content m14634 latest Copyright National Instruments License http creativecommons org licenses by 2 0 Module LabVIEW By National Instruments URL http cnx org content m12192 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module LabVIEW Environment By National Instruments URL http cnx org content m12193 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Front Panel By National Instruments URL http cnx org content m12194 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Block Diagram By National Instruments URL http cnx org content m12195 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Acquiring a Signal VI By National Instruments URL http cnx org content m12196 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Dataflow Programming By National Instruments URL http cnx org content m12197 latest Cop
178. g Select Required Recommended or Optional For terminal inputs required means that the block diagram on which you placed the subVI will be broken if you do not wire the required inputs Required is not available for terminal outputs For terminal inputs and outputs recommended or optional means that the block diagram on which you placed the subVI can execute if you do not wire the recommended or optional terminals If you do not wire the terminals the VI does not generate any warnings LabVIEW sets inputs and outputs of VIs you create to Recommended by default Set a terminal setting to required only if the VI must have the input or output to run properly Refer to the Read File function located on the Functions gt gt All Functions gt File I O palette for examples of required recommended and optional inputs and outputs 3 5 Thermometer VI Exercise 3 2 Complete the following steps to create a VI that reads a measurement from the temperature sensor on the DAQ Signal Accessory and displays the temperature in Celsius or Fahrenheit The sensor returns a voltage proportional to temperature For example if the temperature is 23 the sensor output voltage is 0 23 V The sensor is connected to Channel 0 of Device 1 Device 1 is the DAQ device On some systems the DAQ device may have another device number 3 5 1 Front Panel 1 In the LabVIEW dialog box click the arrow on the New button and select Blank VI from the shortcut menu or press
179. ght data lines five bus management lines ATN EOI IFC REN and SRQ three handshake lines and eight ground lines The GPIB uses a byte serial asynchronous data transfer scheme This means that whole bytes are sequentially handshaked across the bus at a speed that the slowest participant in the transfer determines Because 213 214 CHAPTER 11 INSTRUMENT CONTROL the unit of data on the GPIB is a byte the messages transferred are frequently encoded as ASCII character strings 11 2 1 GPIB Addressing All GPIB devices and interfaces must have a unique GPIB address between 0 and 30 Address 0 is normally assigned to the GPIB interface The instruments on the GPIB can use addresses 1 through 30 GPIB devices can be talkers listeners or controllers A talker sends out data messages Listeners receive data messages The controller usually a computer manages the flow of information on the bus It defines the communication links and sends GPIB commands to devices The GPIB VIs automatically handle the addressing and most other bus management functions 11 2 2 Data Transfer Termination You can terminate a GPIB data transfer in the following three ways e The GPIB includes a hardware line EOI that can be asserted with the last data byte This is the preferred method e Place a specific end of string EOS character at the end of the data string itself Some instruments use this method instead of or in addition to the EOI line assertion
180. gt gt String Array Path Conversion palette You must remove all header and trailer information from the string before you can convert it to an array Otherwise this information also is converted Binary Waveform String without header or trailer Numeric Array Figure 11 23 11 13 3 Binary Waveforms Encoded as 2 Byte Integers If each point in the binary waveform string is encoded as a 2 byte integer it is easier and much faster to use the Type Cast function located on the Functions gt gt All Functions gt gt Advanced gt gt Data Manipulation palette Refer to the LabVIEW Basics II Development Course Manual for more information about type casting For example consider a GPIB oscilloscope that transfers waveform data in binary notation The waveform is composed of 1 024 data points Each data point is a 2 byte signed integer Therefore the entire waveform is composed of 2 048 bytes In Figure 11 24 the waveform has a 4 byte header DATA and a 2 byte trailer a carriage return followed by a linefeed 239 4 byte header 2 byte trailer carriage return line feed DATA HB1 LBl HB2 LB2 HB1024 LB1024 CR LF 2 bytes representing the first data point Memory LF CR LB1024 HB1024 LB2 HB2 LB1 HB1 ATAD GPIB from instrument 2 vse we 2050 2052 Figure 11 24 The block diagram in Figure 11 25 shows how you can use the Type Cast function to cast the binary
181. h Waveform Array VI By National Instruments URL http cnx org content m12237 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Temperature Analysis VI By National Instruments URL http cnx org content m12238 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Graph Circle VI By National Instruments URL http cnx org content m12239 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Intensity Plots By National Instruments URL http cnx org content m12240 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Intensity Graph Example VI By National Instruments URL http cnx org content m12241 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Summary Tips and Tricks on Plotting Data By National Instruments URL http cnx org content m12242 latest Copyright National Instruments ATTRIBUTIONS ATTRIBUTIONS License http creativecommons org licenses by 1 0 Module Additional Exercises for Plotting Data By National Instruments URL http cnx org content m12243 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Making Decisions with the Select Function By National Instrum
182. h is a string that includes delimiters such as tabs In many spreadsheet applications the tab character separates columns and the end of line character separates rows NoTE Use the end of line constant located on the Functions gt gt All Functions gt gt String palette to ensure portability of VIs among platforms Windows The constant inserts a carriage return and a linefeed Mac OS The constant inserts a carriage return UNIX The constant inserts a linefeed Use the Write To Spreadsheet File VI or the Array To Spreadsheet String function to convert a set of numbers from a graph a chart or an acquisition into a spreadsheet string If you want to write numbers and text to a spreadsheet or word processing application use the String functions and the Array functions to format the data and to combine the strings Then write the data to a file 9 10 1 Format Into File Use the Format Into File function to format string numeric path and Boolean data as text and write the text to a file Often you can use this function instead of separately formatting the string with the Format Into String function or Build Text Express VI and writing the resulting string with the Write Characters To File VI or Write File function Use the Format Into File function to determine the order in which the data appears in the text file However you cannot use this function to append data to a file or overwrite existing data in a file For these operations use t
183. handling functions It also handles formatting the string with either a tab or comma delimiter The Merge Signals function combines the iteration count and the random number into the dynamic data type Random Number 0 1 d gt Write Lab IEW Measurement File Figure 9 21 179 The dialog box in Figure 9 22 shows the configuration for the Write LabVIEW Measurement File Express VI gt Configure Write LabVIEW Measurement File Write LabVIEW Measurement File File name C Exercises data lym Action Save to one File Ask user to choose file Ask only once O Ask each iteration If a file already exists Q Rename existing file Ouse next available file name Append to file Overwrite file O Save to series of files multiple files File Description Settings Segment Headers O Ore header per segment One header only No headers X alue Columns One column per channel O Ore column only Empty time column Delimiter Tab O Comma Figure 9 22 180 CHAPTER 9 STRINGS AND FILE I O This VI creates a lvm file which you can open in a spreadsheet application Figure 9 23 shows an example of the spreadsheet created by the previous configuration of the Write LabVIEW Mea surement File Express VI A B C D 0 0 385055 1 0 23516 2 0 985184 3 0 177693 4 L 0 9359151 Oo Se w Nn e Figure 9 23 Refer to the lesson on Data Acqui
184. he Format Into String function with the Write File function You can wire a refnum or path to the input file terminal of the Format Into File function or you can leave this input unwired for a dialog box to prompt you for the filename In the block diagram shown in Figure 9 19 the Open Create Replace File VI opens a file and the For Loop executes five times The Format Into File function converts the iteration count and the random number to strings and places the tab and end of line characters in the correct positions to create two columns and one row in spreadsheet format After the loop completes five iterations the file closes and the VI checks the error condition 178 CHAPTER 9 STRINGS AND FILE I O Format Into String Close File o HENSE n r Figure 9 19 Simple Error Handler wil This VI creates this text file where an arrow indicates a tab and a paragraph symbol indicates an end of line character 0 gt 0 798141 1 0 659364 2 0 581409 3 0 526433 4 0 171062 You can open the previous text file in a spreadsheet application to display the spreadsheet shown in Figure 9 20 in EE al 0 0 798141 EE 1 0 659364 3 2 0 581409 4 3 5 4 0 526433 0 171062 Figure 9 20 9 10 2 Write LabVIEW Measurement File In the block diagram shown in Figure 9 21 the Write LabVIEW Measurement File Express VI includes the open write close and error
185. he action is performed Causes for actions are called triggers The start trigger starts the generation The reference trigger is not supported for analog output tasks 10 10 Voltage Output VI Exercise 10 5 1 Connect Analog Out CHO to Analog In CH1 on the DAQ Signal Accessory 10 10 1 Front Panel 1 Open the Voltage Output VI located in the C Exercises LabVIEW Basics I directory The front panel Figure 10 15 is already built Voltage Output 0 Figure 10 15 206 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS Voltage Output displays the current voltage output 10 10 2 Block Diagram 1 Display and examine the block diagram Figure 10 16 Figure 10 16 i The Wait Until Next ms Multiple function located on the Functions gt All Functions gt gt Time amp Dialog palette causes the For Loop to execute every 500 ms bE The Select VI located on the FunctionsSArithmetic amp Comparison gt gt Express Comparison palette checks if the loop is in its last iteration If the loop is in its last iteration then the DAQ device outputs 0 volts This is a good technique to reset the output voltage to a known level It is always a good idea to reset the output voltage to something that will not damage a device that is connected to the DAQ device 2 Modify the block diagram as shown in Figure 10 17 207 Figure 10 17 Place the DAQ Assistant Express VI located on the Functions gt gt Output palette in the For Loo
186. he block diagram to create a con stant Drag constants from the block diagram to the front panel to create a control To duplicate an object press the Ctrl key while using the Positioning tool to click and drag a selection To restrict an object s direction of movement horizontally or vertically use the Positioning tool to select the object and press the Shift key while you move the object To keep an object proportional to its original size as you resize it press the Shift key while you drag the resizing handles or circles To resize an object as you place it on the front panel press the Ctrl key while you click to place the object and drag the resizing handles or circles To replace nodes right click the node and select Replace from the shortcut menu To display the block diagram of a subVI from the calling VI press the Ctrl key and use the Operating or Positioning tool to double click the subVI on the block diagram To display the front panel of a subVI from the calling VI use the Operating or Positioning tool to double click the subVI on the block diagram You also can select Browse gt gt This VI s SubVIs After you type a label press the Enter key to end text entry 55 To add items quickly to ring controls and Case structures press the Shift Enter keys after each item Pressing Shift Enter accepts the item and positions the cursor to add the next item Refer to Making Decisions in a VI Section 8 2 for more infor
187. he front panel and drag controls or indicators into the cluster shell Resize the cluster shell by dragging the cursor while you place the cluster shell The example in Figure 6 1 is a cluster of three controls Cluster Digital Control OK Button 0 00 String Control mene Figure 6 1 101 102 CHAPTER 6 CLUSTERS 6 1 2 Creating Cluster Constants Create a cluster constant on the block diagram by selecting a cluster constant on the Cluster palette placing it on the block diagram and dragging a constant into the cluster shell If you have a cluster control or indicator on the front panel and you want to create a cluster constant containing the same elements on the block diagram you can either drag that cluster from the front panel to the block diagram or right click the cluster on the front panel and select Create gt gt Constant from the shortcut menu 6 1 3 Cluster Order Cluster elements have a logical order unrelated to their position in the shell The first object you place in the cluster is element 0 the second is element 1 and so on If you delete an element the order adjusts automatically The cluster order determines the order in which the elements appear as terminals on the Bundle and Unbundle functions on the block diagram You can view and modify the cluster order by right clicking the cluster border and selecting Reorder Controls In Cluster from the shortcut menu The toolbar and cluster change as sho
188. he front panel select the Express Table indicator on the Controls gt gt Text Indicators palette and place it on the front panel to the right of the waveform graph 2 Display the block diagram Notice that the Table terminal appears wired to the Build Table Express VI automatically Build Table If the Build Table Express VI and the Table terminal are not selected already click an open space on the block diagram to the left of the Build Table Express VI and the Table terminal Drag the cursor diagonally until the selection rectangle encloses the Build Table Express VI and the Table terminal shown in pg 47 A moving dashed outline called a marquee highlights the Build Table Express VI the Table terminal and the wire joining the two 4 Drag the objects into the While Loop to the right of the Mean terminal Notice that the While Loop automatically resizes to enclose the Build Table Express VI and the Table terminal 5 Using the Wiring tool wire the Mean terminal of the Sample Compression Express VI to the Signals input of the Build Table Express VI The block diagram should appear similar to Figure 2 34 if gt Reduce Samples vi Block Diagram File Edit Operate Tools Browse Window Help E Sample y Simulate Signal Compression Time Delay Figure 2 34 6 Display the front panel and run the VI 47 48 CHAPTER 2 INTRODUCTION 7 Click the Enable switch The table displays the mean values of every 25
189. high level VIs perform read or write operations in addition to opening and closing the file If an error occurs the high level VIs display a dialog box that describes the error You can choose to halt execution or to continue However because high level VIs encapsulate the entire file operation into one VI they are difficult to customize to any use other than the one intended Use low level VIs for more specific tasks 9 4 1 2 Low Level and Advanced File I O VIs and Functions Use the low level File I O VIs and functions located on the middle row of the Functions gt All Functions gt gt File I O palette and the Advanced File I O functions located on the Functions gt All Functions gt File I O gt gt Advanced File Functions palette to control each file I O operation individu ally Use the principal low level functions to create or open a file write data to or read data from the file and close the file The low level VIs and functions can handle most file I O needs Refer to the LabVIEW Basics II Development Course Manual for more information about the Advanced File I O functions 9 4 1 3 File I O Express VIs The Express VIs on the File I O palette include the Read LabVIEW Measurement File Express VI and the Write LabVIEW Measurement File Express VI The LabVIEW measurement data file lvm is a tab delimited text file you can open with a spreadsheet application or a text editing application In addition to the data an Express VI generates the
190. ic text file beginning at a specified character offset and converts the data to a 2D single precision array of numbers The VI opens the file before reading from it and closes it afterwards You can use this VI to read a spreadsheet file saved in text format Write Characters to File Writes a character string to a new byte stream file or appends the string to an existing file The VI opens or creates the file before writing to it and closes it afterwards Read Characters From File Reads a specified number of characters from a byte stream file beginning at start of read offset The VI opens the file before reading from it and closes it afterwards Read Lines From File Reads a specified number of lines from a text or binary file beginning at a specified character offset The VI opens the file before reading from it and closes it afterwards Binary File VIs These VIs read from and write to binary files Data can be integers or single precision numbers 168 CHAPTER 9 STRINGS AND FILE I O 9 6 Spreadsheet Example VI Exercise 9 2 9 6 1 Front Panel 1 Open the Spreadsheet Example VI located in the C Exercises LabVIEW Basics I directory The front panel in Figure 9 9 is already built Cosine 11 00 1 00 Waveform Graph 0 99 1 0 0 98 0 97 0 96 0 94 0 92 oj won Se coho Figure 9 9 9 6 2 Run the VI 1 Run the VI The VI generates a 2D array of 128
191. ient features such as providing a list of recent paths and reducing the steps necessary to save VIs in VI libraries 2 2 1 4 Moving VIs Across Platforms You can transfer VIs from one platform to another such as from Mac OS to Windows LabVIEW automatically translates and recompiles the VIs on the new platform Because VIs are files you can use any file transfer method or utility to move VIs between platforms You can port VIs over networks using FTP Z or XModem protocols or similar utilities Such network transfers eliminate the need for additional file translation software If you port VIs using magnetic media such as floppy disks or a moveable external hard drive you need a generic file transfer utility program such as the following e Windows MacDisk and TransferPro transfer Mac OS files to the PC format and vice versa e Mac OS DOS Mounter MacLink and Apple File Exchange convert PC files to the Mac OS format and vice versa e Sun PC File System PCFS converts PC files to the Sun format and vice versa NOTE Certain operating system specific VIs are not portable between platforms such as DDE Dynamic Data Exchange VIs ActiveX VIs and AppleEvents Refer to the Porting and Localizing LabVIEW VIs Application Note available by selecting Help gt gt Search the LabVIEW Bookshelf for more information about porting VIs 2 2 2 Menus The menus at the top of a VI window contain items common to other applications such as Op
192. ies Select Window Appearance from the Category pull down menu click the Customize button and place checkmarks in the Show Front Panel When Called and Close Afterwards if Originally Closed checkboxes 12 3 Pop up Graph VI and Use Pop up Graph VI Exercise 12 1 Complete the following steps to build a VI that acquires temperature once every 0 5 seconds for 10 seconds displays a subVI front panel that shows the acquired data in a graph and keeps the front panel open until you click a button 248 CHAPTER 12 CUSTOMIZING VIS 12 3 1 Front Panel Open a blank VI and build the following front panel Temperature of data values 88 52 hs Figure 12 1 Use the following guidelines to assist you in building the front panel e The indicator to the right of the thermometer is a digital display belonging to the thermometer Right click the thermometer and select Visible Items gt gt Digital Display from the shortcut menu to display the digital value e Change of data values to signed 32 bit integer 132 representation 12 3 2 Block Diagram 1 Build the following block diagram of readings op up Graph vi T A Wat Until Next PE ms Multiple Figure 12 2 rene a Place the Thermometer VI from a previous exercise Section 3 5 on the block diagram This VI acquires the current temperature value 249 ol Place the Wait Until Next ms Multiple function located on the Functions gt gt All Functions gt
193. igure 8 18 a Place the Formula Node located on the Functions gt gt All Functions gt Structures palette on the block diagram b Create the x input terminal by right clicking the left border and selecting Add Input from the shortcut menu Type x in the box that appears c Create the y and a output terminals by right clicking the right border and selecting Add Output from the shortcut menu Enter y and a respectively in the boxes that appear You must create output terminals for temporary variables like a Note When you create an input or output terminal you must use a variable name that exactly matches the one in the equation Variable names are case sensitive d Type the following equations in the Formula Node where is the exponentiation operator Refer to the LabVIEW Help for more information about syntax for the Formula Node tanh x cos x a 3 a a y e Complete the block diagram as shown in Figure 8 18 2 Save the VI as Formula Node Exercise vi in the C Exercises LabVIEW Basics I directory 8 6 3 Run the VI 1 Display the front panel and run the VI The graph displays the plot of the equation y f x f x where f x tanh x cos x During each iteration the VI divides the iteration terminal value by 15 0 The quotient is wired to the Formula Node which calculates the function value The VI plots the array as a graph 2 Close the VI 8 7 Summary Tips and Tricks on Making Decisions in a
194. indicator outside the Case structure Lo Place the One Button Dialog function located on the Functions gt All Functions gt gt Time amp Dialog palette on the block diagram This function displays a dialog box that contains the message Error Negative Number Error e Right click the message terminal of the One Button Dialog func tion select Create gt gt Constant from the shortcut menu type Error Negative Number in the constant and click the Enter button on the toolbar or click outside the control Refer to the lesson on Strings and File I O Section 9 1 for more information about strings f Complete the diagram as shown in Figure 8 11 2 Select the True case of the Case structure i gt Place the Square Root function located on the Functions gt gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram This function returns the square root of Number Wire the function as shown in Figure 8 12 149 150 CHAPTER 8 MAKING DECISIONS IN A VI PT Te pp Square Root Square Root Yalue Greater Or E Equal To 0 Numbe pery Figure 8 12 3 Save the VI as Square Root vi in the C Exercises LabVIEW Basics I directory 8 3 3 Run the VI 1 Display the front panel and run the VI CAUTION Do not run this VI continuously Under certain circumstances continuously running this VI could result in an endless loop If Number is positive the VI executes the True case
195. ing Subset function returns the following substring for an offset of 4 and a length of 5 quick e Match Pattern Searches for regular expression in string beginning at offset and if it finds a match splits string into three substrings If no match is found match substring is empty and offset past match is 1 For example use a regular expression of and use the following string as the input VOLTS DC 1 22863E 1 160 CHAPTER 9 STRINGS AND FILE I O The Match Pattern function returns a before substring of VOLTS DC a match substring of an after substring of 1 22863E 1 and an offset past match of 9 9 2 1 Converting Numeric Values to Strings with the Build Text Express VI Use the Build Text Express VI to convert numeric values into strings The Build Text Express VI located on the Functions gt gt Output palette concatenates an input string If the input is not a string this Express VI converts the input into a string based on the configuration of the Express VI When you place the Build Text Express VI on the block diagram the Configure Build Text Figure 9 2 dialog box appears The dialog box Figure 9 2 shows the Express VI configured to accept one input voltage and change it to a fractional number with a precision of 4 The input concatenates on the end of the string Voltage is A space has been added to the end of the Voltage is string i Configure Build Text Build Text Text with ariables in Percents
196. ing a new task 10 4 Analog Input Use analog input to perform analog to digital A D conversions The available analog input measurement types Figure 10 7 for a task are voltage temperature strain current resistance or frequency 196 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS Create New NI DAQ DAQ Assistant EJ 4 Measurement Types Select the measurement type for your task Analog Input Temperature Current Resistance Frequency lt Back Newt gt aa Cancel ly Figure 10 7 Each measurement type has its own characteristics such as resistor values for current measure ments or strain gauge parameters for strain measurements 10 4 1 Task Timing When performing analog input the task can be timed to Acquire 1 Sample Section 10 4 1 1 Acquire n Samples Section 10 4 1 2 or Acquire Continuously Section 10 4 1 3 10 4 1 1 Acquire 1 Sample Acquiring a single sample is an on demand operation In other words NI DAQmx acquires one value from an input channel and immediately returns the value This operation does not require any buffering or hardware timing For example if you periodically monitor the fluid level in a tank you would acquire single data points You can connect the transducer that produces a voltage representing the fluid level to a single channel on the measurement device and initiate a single channel single point acquisition when you want to know the fluid level
197. input select Create gt gt Constant from the shortcut menu and click the constant with the Operating tool to change the constant from False to True The True Boolean constant sets the function to include seconds in the string LEC c Place the Build Text Express VI located on the Functions gt gt Output palette on the block diagram This Express VI converts the inputs to one string The Configure Build Text dialog box appears i Type tab temp end in the Text with Variables in Percents text box to set up three variables one for the tab constant one for the temperature and one for the end of line constant Because time uses the Beginning Text input of the Build Text Express VI it does not need a variable ii Select temp in the Configure Variables section Select the Number option and a format of Format fractional number The tab and end variables do not 182 CHAPTER 9 STRINGS AND FILE I O need to be formatted You can leave them in the default state iii Click the OK button to close the configuration dialog box iv Right click the Build Text Express VI and select View As Icon to conserve block diagram space aye Place a Tab constant and an End of Line constant located on the Functions gt gt All Functions gt gt String palette on the block diagram Ve c kaiW Place the Write File function located on the Functions gt All Functions gt gt File I O palette on the block diagram This function writes to the file specifi
198. is ensures that files are closed correctly 172 CHAPTER 9 STRINGS AND FILE I O 9 7 1 Error Handling The low level File I O VIs and functions return error information Wire the error information from the beginning of the VI to the end Include an error handler VI such as the Simple Error Handler pg 172 VI located on the Time amp Dialog palette at the end of the VI to determine if the VI ran without errors Use the error in and error out clusters in each VI you use or build to pass the error information through the VI 9 7 2 Saving Data in a New or Existing File You can write any data type to a file you open or create with the File I O VIs and functions If other users or applications need to access the file write string data in ASCII format to the file Refer to the LabVIEW Basics II Development Course Manual for more information about writing LabVIEW datalog or binary files You can access files either programmatically or interactively through a file dialog box To access a file through a dialog box do not wire file path in the Open Create Replace File VI However you can save time by programmatically wiring the default filename and path to the VI pg 172 describes how pathnames are organized Platform Pathname Windows Consists of the drive name a colon backslash separated directory names and the filename For example c testdata test1 dat is the pathname to a file named test1 dat in the testdata directory UNIX UNIX Cons
199. is required e Use MAX to configure and test GPIB interface cards connected instruments serial ports and parallel ports e LabVIEW instrument drivers eliminate the need to learn the complex low level programming commands for each instrument e The LabVIEW instrument driver library is located on the LabVIEW CD You also can down load drivers from the NI Web site at ni com e All instrument drivers in the library have the same basic VI hierarchy e Use the Instrument I O Assistant to rapidly and easily build a VI to communicate with an instrument You can control VXI GPIB RS 232 and other types of instruments e Serial communication is a popular means of transmitting data between a computer and a peripheral device such as a programmable instrument or even another computer 11 16 Additional Exercises for Instrument Control Exercise 11 3 Open the Voltage Monitor Section 11 10 VI Modify the block diagram so that the data are written to a spreadsheet file named voltage txt in the format shown in Figure 11 30 http ni com 244 CHAPTER 11 INSTRUMENT CONTROL A Start Date 6 8 00 Start Time 1 26 PM Max Voltage 9 151000 Min Voltage 0 554010 Data 6 965 9 067 0 354 5 08 4 511 3 946 6 446 Figure 11 30 Select File gt gt Save As to save the VI as Voltage Data to File vi in the C Exercises Lab VIEW Basics I directory Chapter 12 Customizing VIs 12 1 Configuring the Appearance of Fr
200. ises LabVIEW Basics I directory Exercise 8 5 Build a VI that functions like a calculator On the front panel use numeric controls to input two numbers and a numeric indicator to display the result of the operation Add Subtract Divide or Multiply that the VI performs on the two numbers Use a slide control to specify the operation to perform Save the VI as Calculator vi in the C Exercises LabVIEW Basics I directory Exercise 8 6 Modify the Square Root VI Section 8 3 so the VI performs all calculations and condition checking using the Formula Node Select Files gt Save As to save the VI as Square Root 2 vi in the C Exercises LabVIEW Basics I directory Exercise 8 7 Build a VI that has two inputs Threshold and Input Array and one output Output Array Output Array contains values from Input Array that are greater than Threshold Save the VI as Array Over Threshold vi in the C Exercises LabVIEW Basics I directory Create another VI that generates an array of random numbers between 0 and 1 and uses the Array Over Threshold VI to output an array with the values greater than 0 5 Save the VI as Using Array Over Threshold vi in the C Exercises LabVIEW Basics I directory Chapter 9 Strings and File I O 9 1 Strings A string is a sequence of displayable or non displayable ASCII characters Strings provide a platform independent format for information and data Some of the more common applications of strings include
201. ishes execution Number 1 Figure 2 26 Example 2 2 In the following example Figure 2 27 consider which code segment would execute first the Add Random Number or Divide function You cannot know because inputs to the Add and Divide functions are available at the same time and the Random Number function has no inputs In a situation where one code segment must execute before another and no data dependency exists between the functions use other programming methods such as error clusters to force the order of execution Refer to the Error Handling Section 6 5 section of Clusters for more information about error clusters Number 1 Result 1 Figure 2 27 2 7 Express Filter VI Exercise 2 2 Complete the following steps to use the NI Example Finder to search for an example VI that generates a sine wave with a frequency of 10Hz and an amplitude of 10V with white noise of 1V of amplitude and applies a filter 1 Select Help gt gt Find Examples to open the NI Example Finder 2 Click the Search tab and type filter in the Type in the word s to search for text box Notice that this word choice reflects what you want this Express VI to do filter a signal 3 Select filter to display the example VIs that include filter in the title 4 Find the example VI called Express Filter vi and double click to open it 5 Open the block diagram of the VI shown in Figure 2 28 imulated amplitude Simulate Signal gt Frequency
202. isplay it i gt Place the Add function located on the FunctionssArithmetic amp Comparison gt gt Express Numeric palette on the block diagram to the right of the Mul tiply function 4023 Place a Numeric Constant located on the Functions gt gt Arithmetic amp Comparison gt gt Express Numeric palette to the lower left of the Multiply function Type 1 80 in the constant When you first place a numeric constant it is highlighted so you can type a value If the constant is no longer highlighted double click the constant to activate the Labeling tool 5 23 Place a Numeric Constant located on the FunctionsArithmetic amp Comparison gt gt Express Numeric palette to the left of the Add function Type 32 0 in the constant Aka Use the Wiring tool shown in pg 64 to wire the icons as shown in Figure 3 6 deg C Multiply Add ete Ee deg F Figure 3 6 e To wire from one terminal to another use the Wiring tool to click the first ter minal move the tool to the second terminal and click the second terminal You can start wiring at either terminal e You can bend a wire by clicking to tack down the wire and moving the cursor in a perpendicular direction Press the spacebar to toggle the wire direction e To identify terminals on the nodes right click the Multiply and Add functions and select Visible Items gt gt Terminals from the shortcut menu to display the connector pane on the block diagram Return to the icons after
203. ists of forward slash separated directory names and the file name For example home testdata test1l dat is the pathname to a file named testl dat in the testdata directory in the home directory File names and pathnames are case sensitive Mac OS Consists of the volume name the name of the disk a colon colon separated folder names and the filename For example Hard Disk testdata test1 dat is the pathname to a file named test1 dat in a folder named testdata on a disk named Hard Disk The block diagram shown in Figure 9 14 shows how to write string data to a file while program matically wiring the filename and pathname If the file already exists it is replaced otherwise a new file is created 173 Open Create Replace File vi LC testdataltest1 dat gt create or replace v Figure 9 14 The Open Create Replace File VI opens the file test1 dat The VI also generates a refnum and an error cluster When you open a file device or network connection LabVIEW creates a refnum associated with that file device or network connection All operations you perform on open files devices or network connections use refnums to identify each object The error cluster and refnum pass in sequence from one node to the next Because a node cannot execute until it receives all its inputs passing these two parameters forces the nodes to run in order and creates a data dependency The Open Create Re
204. izing the Front Panel In a previous exercise Section 2 5 you added controls and indicators to the front panel using the Controls palette You also can add controls and indicators from the block diagram Complete the following steps to create controls and indicators as shown in Figure 2 32 I gt Reduce Samples yvi Block Diagram Pije x File Edit Operate Tools Browse Window Help al Fee tn 2 ealeP 2 15 Apelcation Font v 22 f te Sample Simulate Signal Compression Figure 2 32 1 Right click the Mean output in the Sample Compression Express VI and select Create gt gt Numeric Indicator from the shortcut menu to create a numeric indicator 2 Right click the Mean output of the Sample Compression Express VI and select Insert Input Output from the shortcut menu to insert the Enable input 3 Right click the Enable input and select Create gt gt Control from the shortcut menu to create the Enableswitch 4 Right click the wire linking the Sine output in the Simulate Signal Express VI to the Signals input in the Signal Compression Express VI and select Create gt gt Graph Indicator from the shortcut menu Notice that you can create controls and indicators from the block diagram When you create controls and indicators using this method LabVIEW automatically creates terminals that are labeled and formatted correctly 5 Using the Wiring tool wire the Mean output in the Sample Compression Express VI to the Sine gr
205. k the tunnel that connects to the Warning Indicator and select 153 Create gt gt Constant Use the Operating tool to change the Boolean constant to False b Right click the tunnel that connects to the High Value indicator and select Create gt gt Constant Enter 99999 for the value of the constant 3 Save the VI You will use this VI later in the course 8 4 3 Run the VI 1 Display the front panel type 80 in High Limit and run the VI If ANALYSIS is off the VI turns off the Warning LED and displays a value of 99999 for High Value If ANALYSIS is on the VI turns on the Warning LED when the temperature is above High Limit and displays the current High Value 2 Close the VI 8 5 Formula Node Use the Formula Node to perform mathematical operations in the LabVIEW environment For additional functionality you can link to the mathematics application MATLAB 8 5 1 Formula Node The Formula Node is a convenient text based node you can use to perform mathematical operations on the block diagram Formula Nodes are useful for equations that have many variables or are otherwise complicated and for using existing text based code You can copy and paste the existing text based code into a Formula Node rather than recreating it graphically on the block diagram Create the input and output terminals of the Formula Node by right clicking the border of the node and selecting Add Input or Add Output from the shortcut menu then enter the variab
206. ks Dialog Base Package Dialog Using Events Single Loop Application Sub I with Error Handling Top Level Application Using Events Master Slave Design Pattern Producer Consumer Design Patt Producer Consumer Design Patt Queued Message Handler Block diagram preview Standard State Machine User Interface Event Handler Instrument I O GPIB Read and Display Simulated Generate and Display Load From File and Display Tutorial Getting Started Generate Analyze and Display Generate and Display Fa E Browse for Template Small dialog Large dialog Cancel Help Figure 2 19 4 Click the OK button to open the template You also can double click the name of the template VI in the Create new list to open the template 5 Examine the front panel of the VI The user interface or front panel appears with a gray background and includes controls and indicators The title bar of the front panel indicates that this window is the front panel for the Generate and Display VI NOTE Ifthe front panel is not visible you can display the front panel by selecting Window gt gt Show Front Panel 6 Examine the block diagram of the VI The block diagram appears with a white back ground and includes VIs and structures that control the front panel objects The title bar of the block diagram indicates that this window is the block diagram for the Generate and Display VI NOTE Ifthe block diagram is not visible you can disp
207. l 11 Instruments Self Calibration Last Calibration Date 3 18 2003 9 45 AM Historical Data Software Temperature 35 C a VI Logger Tasks a Remote Systems Expiration Date Temperature as Attributes g Device Routes 4E Calibration Figure 10 5 5 Right click the NI DAQmx device in the configuration tree and select Self Calibrate to calibrate the DAQ device using a precision voltage reference source and update the built in calibration constants When the device has been calibrated the Self Calibration information updates in the Calibration tab 10 2 2 Testing the DAQ Device Components 1 Click the Self Test button to test the device This tests the system resources assigned to the device The device should pass the test because it is already configured 2 Click the Test Panels button to test the individual functions of the DAQ device such as analog input and output The Test Panels dialog box appears a Use the Analog Input tab to test the various analog input channels on the DAQ device Channel Dev1 ai0 is connected to the temperature sensor on the DAQ Signal Accessory Click the Start button to acquire data from analog input channel 0 Place your finger on the sensor to see the voltage rise You also can move the Noise switch to On on the DAQ Signal Accessory to see the signal change in this tab When you are finished click the Stop button b Click the Analog Output tab to set up a single voltage or si
208. l above there are two spaces after the colon s s and the text ends with a carriage return r n You may see only a r or a n for the carriage return e Change String Length and Offset Past Match to 32 bit signed integer 132 rep resentation e After entering text in the controls select Operate gt gt Make Current Values Default to set the text as the default values of these controls 9 3 2 Block Diagram 1 Build the block diagram shown in Figure 9 7 164 CHAPTER 9 STRINGS AND FILE I O b L3 LEC 4 LILEC 0 gt Build Text string Length Combined String String 2 Number Out regular expression Figure 9 7 RES Place the Build Text Express VI located on the Functions gt gt Output palette on the block diagram This function converts Number to a string The Build Text configuration dialog box appears i Type Header Number Trailer in the Text with Variables in Per cents text box to create three variables The variables appear in the Configure Variables section ii Select Number in the Variable section iii In the Variable Properties section select the Number option set the Format to Format fractional number Place a checkmark in the Use specified precision checkbox and set the Precision to 4 Leave the Header and Trailer variables in the default state iv Click the OK button to close the dialog box p Place the String Length function located on the Functions gt gt All Functi
209. late acquisition timing Number of samples Run as Fast as possible 100 IV Automatic I Integer number of cycles Actual number of samples 100 Actual frequency 10 3 Signal Result Preview Signal type z Sawtooth gt Frequency Hz Phase deg fio 3 0 E Amplitude Offset T fi 0 Add noise Noise type Noise type i f Uniform White Noise v 0 0 099 aa Time Noise amplitude Seed number Trials 0 1 E li m Time Stamps Relative to start of measurement Timing Absolute date and time Reset Signal Reset phase seed and time stamps Use continuous generation m Signal Name JV Use signal type name Signal name OK Cancel Help Figure 2 20 4 Click the OK button to apply the current configuration and close the Configure Sim ulate Signal dialog box 5 Move the cursor over the down arrows at the bottom of the Simulate Signal Express VI F T TT gt 1 g i P 1 1 1 j Sawtooth gt EE Li 6 q When a double headed arrow appears shown at left click and drag the border of the Express VI until the Amplitude input appears Notice how you expanded the Simulate Signal Express VI to display a new input Because the Amplitude input appears on the block diagram you can configure the amplitude of the sawtooth wave on the block diagram In Figure 2 20 notice how Amplitude is an option in the Configure Simulate Signal dialog box When
210. lay the block diagram by selecting Window gt gt Show Block Diagram EA On the front panel toolbar click the Run button shown at left Notice that a sine wave appears on the graph 8 Nee Stop the VI by clicking the Stop button shown at left on the front panel 2 5 1 Adding a Control to the Front Panel Controls on the front panel simulate the input devices on a physical instrument and supply data to the block diagram of the VI Many physical instruments have knobs you can turn to change an input value Complete the following steps to add a knob control to the front panel TIP Throughout these exercises you can undo recent edits by selecting Edit gt gt Undo or pressing the Ctrl Z keys 1 If the Controls palette is not visible on the front panel select Window gt gt Show Controls Palette to display it 2 Move the cursor over the icons on the Controls palette to locate the Numeric Controls palette Notice that when you move the cursor over icons on the Controls palette the name of that subpalette appears in the gray space above all the icons on the palette When you idle the cursor over any icon on any palette the full name of the subpalette control or indicator appears 3 Click the Numeric Controls icon to access the Numeric Controls palette 4 Select the knob control on the Numeric Controls palette and place it on the front panel to the left of the waveform graph You will use this knob in a later exercise to control the a
211. ld Text Express VIs or use the Format into String function You can build the delimiters into the format string to require fewer inputs The front panel should be similar to Figure 9 27 185 Power Temperature S ON Average a l 90 0 OFF Curent G 85 0 uw 200S D High Limit Waming 75 0 50 00 9 70 0 00 20 40 e0 8 0 10 0 120 14 0 16 0 18 0 20 0 Time sec Temp Graph Mean Raw 88 0 179 90 Fitted a 86 0 84 0 a u 820 186 77 8 60 0 78 0 Min 76 0 as 74 0 72 Sin 5 6 7 8 9 1011 12 13 14 15 Time sec Figure 9 27 2 Save the VI as Temperature Application vi in the C Exercises LabVIEW Basics I directory 9 13 Summary Tips and Tricks on Strings and File I O Strings group sequences of ASCII characters Use the string control and indicator to simulate text entry boxes and labels To minimize the space that a string object occupies right click the object and select Show Scrollbar from the shortcut menu Use the String functions located on the Functions gt All Functions gt gt String palette to edit and manipulate strings on the block diagram Use the Build Text Express VI to convert a numeric value to a string Use the Scan From String function to convert a string to a numeric value Right click the Scan From String function and select Edit Scan String from the shortcut menu to create or edit a format string Use the File I O VIs and functions to handle all aspec
212. le for the input or output Type the equation in the structure Each equation statement must terminate with a semicolon Formula Nodes also can be used for decision making The block diagram shown in Figure 8 16 shows two different ways of using an if then statement in a Formula Node The two structures produce the same result Formula Node y x gt 0 sqrt x 99999 Square Root Yalue Formula Node Float 4 y iffx gt 0 Square Root Yalue 2 else y 99999 Figure 8 16 154 CHAPTER 8 MAKING DECISIONS IN A VI The Formula Node can perform many different operations Refer to the LabVIEW Help for more information about functions operations and syntax for the Formula Node Note The Formula Express VI located on the Functions gt gt Arithmetic amp Comparison palette uses a calculator interface to create mathematical formulas You can use this Express VI to perform most math functions that a basic scientific calculator can compute Refer to the LabVIEW Help for more information about the Formula Express VI 8 6 Formula Node Exercise VI Exercise 8 3 8 6 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 8 17 Waveform Graph Pao ay 10 0 i z 8 0 6 0 40 a O 20 40 60 80 100 120 140 160 180 200 Figure 8 17 8 6 2 Block Diagram 1 Build the block diagram shown in Figure 8 18 Formula Node a tanh x cos x y at 3 a Waveform Graph F
213. les more efficiently You can use software timing or hardware timing to control when a signal is generated With software timing the rate at which the samples are generated is determined by the software and operating system instead of by the measurement device With hardware timing a TTL signal such as a clock on the device controls the rate of generation A hardware clock can run much faster than a software loop A hardware clock is also more accurate than a software loop NOTE Some devices do not support hardware timing Consult the device documentation if you are unsure if the device supports hardware timing Programmatically you need to include the timing function specifying the sample rate and the sample mode finite As with other functions you can generate multiple samples for a single channel or multiple channels Use Generate n Samples if you want to generate a finite time varying signal such as an AC sine wave 10 9 1 3 Generate Continuously Continuous generation is similar to Generate n Samples except that an event must occur to stop the generation If you want to continuously generate signals such as generating a non finite AC sine wave set the timing mode to continuous 10 9 2 Task Triggering When a device controlled by NI DAQmx does something it performs an action Two very common actions are producing a sample and starting a generation Every NI DAQm x action needs a stimulus or cause When the stimulus occurs t
214. lick the arrow and then click the Amplitude input of the Simulate Signal Express VI shown in pg 31 to wire the two objects together Notice that a wire appears and connects the two objects Data flows along this wire from the terminal to the Express VI 6 Select Files gt Save to save this VI 2 5 4 Running the VI Running a VI executes your solution Complete the following steps to run the Acquiring a Signal VI 1 Display the front panel by selecting Window gt gt Show Front Panel or by clicking the front panel TIP Press the Ctrl E keys to switch from the front panel to the block diagram or from the block diagram to the front panel 2 Click the Run button 31 CHAPTER 2 INTRODUCTION 3 Move the cursor over the knob control Notice how the cursor becomes a hand or the Operating tool shown at left Use the Operating tool to change the value of a control or select the text within a control 4 Using the Operating tool turn the knob to adjust the amplitude of the sawtooth wave Notice how the amplitude of the sawtooth wave changes as you turn the knob Also notice that the y axis on the graph autoscales to account for the change in amplitude To indicate that the VI is running the Run button changes to a darkened arrow shown at left You cannot edit the front panel or block diagram while the VI runs 5 STOP Click the Stop button shown at left to stop the VI NOTE Although Abort Execution button looks like a stop butto
215. limited spreadsheet strings to comma delimited spreadsheet strings that is spreadsheet strings with columns separated by commas and rows separated by end of line characters Display both the tab delimited and comma delimited spreadsheet strings on the front panel TIP Use the Search and Replace String function Save the VI as Spreadsheet Converter vi in the C Exercises LabVIEW Basics I directory Exercise 9 9 Modify the Temperature Logger VI Section 9 11 so the VI does not create a new file each time you run the VI Append the data to the end of the existing temp dat file that the Temperature Logger VI created Run the VI several times and use a word processor application to confirm that the VI appended new temperature readings TIP Delete the Format Into File function and replace it with the Format Into String and Write File functions Use the pos mode and pos offset parameters of the Write File function to move the current file mark Select FilesSave As to save the VI as Temperature Logger 2 vi in the C Exercises LabVIEW Basics I directory Chapter 10 Data Acquisition and Waveforms 10 1 Overview and Configuration of DAQ Devices LabVIEW includes a set of VIs that let you configure acquire data from and send data to DAQ devices Often one device can perform a variety of functions analog to digital A D conversion digital to analog D A conversion digital I O and counter timer operations Each device supports differ
216. litate educational communities Connexions modular interactive courses are in use worldwide by universities community colleges K 12 schools distance learners and lifelong learners Connexions materials are in many languages including English Spanish Chinese Japanese Italian Vietnamese French Portuguese and Thai Connexions is part of an exciting new information distribution system that allows for Print on Demand Books Connexions has partnered with innovative on demand publisher QOOP to ac celerate the delivery of printed course materials and textbooks into classrooms worldwide at lower prices than traditional academic publishers
217. lly closed checkboxes c Click OK to close the SubVI Node Setup dialog box d Repeat pg 251 through pg 252 for the remaining two subVIs 3 Save the VI Display the front panel and run the VI 4 Click each button and press the corresponding keyboard shortcuts The three subVIs return to the Temperature System VI front panel when you press the lt Enter gt key Try pressing the lt Enter gt key to do so 5 Stop the VI 6 Configure the Temperature System VI to run automatically when you open the VI a Select Files gt VI Properties b Select Execution from the Category pull down menu c Place a checkmark in the Run When Opened checkbox 7 Configure the VI so the menu bar and toolbar are not visible while the VI runs a Select Window Appearance from the Category pull down menu b Click the Customize button c Remove the checkmarks from the Show Menu Bar and Show Toolbar When Run ning checkboxes d Click the OK button twice 8 Save and close all VIs 9 Open the Temperature System VI again The VI runs automatically when you open it Click the buttons on the front panel or use the keyboard shortcuts 10 Stop and close all VIs 12 6 Editing VI Properties Sometimes you can select VI properties that make it difficult to edit a VI For example you might select the Run When Opened option and disable the menu bar and toolbar If you set the VI to close and exit LabVIEW after it runs you cannot stop the VI and edit it without it closing and e
218. losed checkboxes e Assign keyboard shortcuts to controls by right clicking the control and selecting Advanced gt gt Key Navigation from the shortcut menu e Before you change VI properties save a backup of the VI to a new location by selecting File gt gt Save with Options to avoid making the VI difficult to edit 255 To edit a VI with properties that make the VI difficult to edit Break one of its subVIs The VI opens in edit mode because it cannot run with a broken subVI If the VI has no subVIs place it on the block diagram of a new VI The simplest method for adding VIs and controls to the Controls and Functions palettes is to save them in the user lib directory To create or edit a custom palette view select Tools gt Advanced Edit Palette Views Change to an icon or text only palette view by selecting from the Format pull down menu 256 CHAPTER 12 CUSTOMIZING VIS Chapter 13 Appendix 13 1 Appendix 13 1 1 Additional Information This section describes how you can receive more information regarding LabVIEW instrument drivers and other topics related to this course 13 1 1 1 National Instruments Technical Support Options The best way to get technical support and other information about Lab VIEW test and measurement instrumentation and other National Instruments products and services is the NI Web site at ni com The support page for the National Instruments Web site contains links to application notes
219. lue You also can assign keyboard shortcuts to controls so users can navigate the front panel by pressing other keys Right click the control and select Advanced gt gt Key Navigation from the shortcut menu to display the Key Navigation dialog box NoTE The Advanced gt gt Key Navigation shortcut menu item is dimmed for indicators because you cannot enter data in an indicator Select the shortcut key you want to assign to the control in the Key Assignment section The front panel control names that appear in the Current Assignments listbox correspond to the owned labels of those controls To prevent users from accessing a control by pressing the lt Tab gt key while the VI runs place a checkmark in the Skip this control when tabbing checkbox 12 5 Temperature System VI Exercise 12 2 12 5 1 Front Panel 1 Open the Temperature System VI located in the C Exercises LabVIEW Basics I directory The following front panel is already built Figure 12 4 The front panel contains four Boolean buttons Figure 12 4 The mechanical action of the first three buttons is Latch When Pressed This setting changes the control value when you click it and retains the new value until the VI reads it once At this point the control reverts to its default value even if you keep pressing the mouse button This action is similar to a circuit breaker and is useful for stopping While 251 Loops or for getting the VI to perform an action only once each tim
220. m the shortcut menu d Place the VISA Close function located on the Functions gt All Functions gt gt Instrument I O gt gt VISASVISA Advanced palette on the block dia gram This function closes the session with the instrument and releases any system resources that were used e ey Place the Simple Error Handler VI located on the Functions gt gt All Functions gt gt Time amp Dialog palette on the block diagram This VI checks error conditions and opens a dialog box with error information if an error occurs Save the VI as My VISA Write amp Read vi in the C Exercises LabVIEW Basics I directory Display the front panel Enter devsim in the VISA resource name input and set byte count to 200 to make sure you read all the information Type IDN in the write buffer and run the VI The top of the instrument simulator lists other commands that are recognized by this instru ment Try other commands in this VI Close the VI when finished 224 CHAPTER 11 INSTRUMENT CONTROL 11 8 About Instrument Drivers An instrument driver is a set of modular software functions that use the instrument commands or protocol to perform common operations with the instrument The instrument driver also calls the appropriate VIs and functions for the instrument LabVIEW instrument drivers eliminate the need to learn the complex low level programming commands for each instrument The LabVIEW instrument driver library contains instrument drivers f
221. m windows An icon is a graphical representation of a VI It can contain text images or a combination of both If you use a VI as a subVI the icon identifies the subVI on the block diagram of the VI The default icon contains a number that indicates how many new VIs you have opened since launching LabVIEW Create custom icons to replace the default icon by right clicking the icon in the upper right corner of the front panel or block diagram and selecting Edit Icon from the shortcut menu or double clicking the icon in the upper right corner of the front panel You also can edit icons by selecting Files gt VI Properties selecting General from the Category pull down menu and clicking the Edit Icon button Use the tools on the left side of the Icon Editor dialog box to create the icon design in the editing area The normal size image of the icon appears in the appropriate box to the right of the editing area as shown in the dialog box in Figure 3 3 60 CHAPTER 3 MODULAR PROGRAMMING i Icon Editor File Edit Help Copy From BaW Black amp White x2 2 16 Colors 16 Colors area 256 Colors J Show Terminals OK cm __te Figure 3 3 Depending on the type of monitor you use you can design a separate icon for monochrome 16 color and 256 color mode LabVIEW uses the monochrome icon for printing unless you have a color printer Use the Edit menu to cut copy and paste images from and to the ico
222. mation about Case structures To copy the color of one object and transfer it to a second object without using a color picker use the Color Copy tool to click the object whose color you want to copy Use the Coloring tool to click the object to which you want to apply the color You also can copy the color of one object by using the Coloring tool and pressing the Ctrl key Select Edit gt Undo if you make a mistake To create more blank space on the block diagram press the Ctrl key while you use the Posi tioning tool to draw a rectangle on the block diagram 2 12 2 4 Debugging When single stepping use the following keyboard shortcuts Ctrl down arrow Steps into a node Ctrl right arrow Steps over a node Ctrl up arrow Steps out of a node 56 CHAPTER 2 INTRODUCTION Chapter 3 Modular Programming 3 1 Modular Programming The power of LabVIEW lies in the hierarchical nature of the VI After you create a VI you can use it on the block diagram of another VI There is no limit on the number of layers in the hierarchy Using modular programming helps you manage changes and debug the block diagram quickly A VI within another VI is called a subVI A subVI corresponds to a subroutine in text based programming languages When you double click a subVI a front panel and block diagram appear rather than a dialog box in which you can configure options The front panel includes controls and indicators that might look familiar Th
223. meter is shown in Figure 2 11 18 CHAPTER 2 INTRODUCTION Figure 2 11 Meter Shortcut Menu visible Items Find Terminal Change to Control Label Caption Unit Label Digital Display Description and Tip Create Replace Data Operations Advanced Representation b Data Range Format amp Precision Add Needle Scale gt Text Labels Properties 2 2 7 1 Property Dialog Boxes Front panel objects also have property dialog boxes that you can use to change the look or behavior of front panel objects Right click a front panel object and select Properties from the shortcut menu to access the property dialog box for an object Figure 2 12 shows the property dialog box for the meter in the previous figure The options available on the property dialog box for an object are similar to the options available on the shortcut menu for that object Knob Properties Meter m Pote Figure 2 12 Meter Property Dialog Box 2 3 Front Panel The front panel is the user interface of the VI Figure 2 13 shows an example of a front panel 19 20 CHAPTER 2 INTRODUCTION B Power Spectrum Measurement yi Front Panel Edit Operate Tools Browse Window Help 2 ln se renr Power Spectrum window 0 0 7 p ri Hanning Frequency Hz 4000 6000 pm t averaging parameters y J 40 0 2000 8000 averaging mode d S Io averaging 60 0 20 0 o 10000 weighting
224. mode 5 j Exponential 80 0 Amplitude Y Too _ number of averages 100 0 J 1 00 Jio 120 0 Tridger orf Completed Done 140 0 1 1 T 1 1 o 2000 4000 6000 8000 10000 1 Frequency Hz Bae dB OFF C jon Figure 2 13 Example of a Front Panel 2 3 1 Controls and Indicators You build the front panel with controls and indicators which are the interactive input and output terminals of the VI respectively Controls are knobs push buttons dials and other input devices Indicators are graphs LEDs and other displays Controls simulate instrument input devices and supply data to the block diagram of the VI Indicators simulate instrument output devices and display data the block diagram acquires or generates 2 3 1 1 Controls Palette The Controls palette is available only on the front panel The Controls palette contains the controls and indicators you use to create the front panel Select Window gt gt Show Controls Palette or right click the front panel workspace to display the Controls palette Tack down the Controls palette by clicking the thumbtack on the top left corner of the palette By default the Controls palette starts in the Express view The Express palette view includes subpalettes on the top level of the Controls and Functions palettes that contain Express VIs and other objects you need to build common measurement appli cations The All Controls and All Functions subpalettes contain the complete set
225. mouse button This action is similar to a circuit breaker and is useful for stopping While Loops or for getting the VI to perform an action only once each time you set the control 121 7 2 5 Run the VI 1 Run the VI 2 Use the Operating tool to click the vertical switch to stop the acquisition The switch changes to the OFF position and changes back to ON after the conditional terminal reads the value 3 Save the VI You will use this VI in the Temperature Running Average Section 7 3 VI 7 3 Temperature Running Average VI Exercise 7 2 Complete the following steps to modify the Temperature Monitor VI to average the last three temperature measurements and display the average on a waveform chart 7 3 1 Front Panel 1 Open the Temperature Monitor Section 7 2 VI 2 Select File gt Save As and rename the VI Temperature Running Average vi in the C Exercises Lab VIEW Basics I directory 7 3 2 Block Diagram 1 Display the block diagram 2 Right click the right or left border of the While Loop and select Add Shift Register from the shortcut menu to create a shift register 3 Right click the left terminal of the shift register and select Add Element from the shortcut menu to add an element to the shift register 4 Modify the block diagram as in Figure 7 10 Wait Until Next ms Multiple millisecond multiple 7 eo Figure 7 10 122 CHAPTER 7 PLOTTING DATA a Press the lt Ctrl gt key while you click the Thermometer
226. mplitude of a signal 5 Select Files gt Save As and save this VI as Acquiring a Signal vi in the C Exercises LabVIEW Basics I directory NOTE Save all the VIs you edit or create in this course in the C Exercises LabVIEW Basics I directory 2 5 2 Changing the Signal Type The block diagram has a blue icon labeled Simulate Signal This icon represents the Simulate Signal Express VI The Simulate Signal Express VI simulates a sine wave by default Complete the following steps to change this signal to a sawtooth wave 1 Display the block diagram by selecting Window gt gt Show Block Diagram or by clicking gt Simulate Signal Sine serrr the block diagram Notice the Simulate Signal Express VI shown in pg 29 An Express VI is a component of the block diagram that you can configure to perform common measurement tasks The Simulate Signal Express VI simulates a signal based on the configuration that you specify 2 Right click the Simulate Signal Express VI and select Properties from the shortcut menu to display the Configure Simulate Signal dialog box 29 30 CHAPTER 2 INTRODUCTION 3 Select Sawtooth from the Signal type pull down menu Notice that the waveform on the graph in the Result Preview section changes to a sawtooth wave The Configure Simulate Signal dialog box should appear similar to Figure 2 20 lf Configure Simulate Signal Simulate Signal Samples per second Hz fiooo Simu
227. n When you select a portion of the icon and paste an image LabVIEW resizes the image to fit into the selection area You also can drag a graphic from anywhere in your file system and drop it in the upper right corner of the front panel or block diagram LabVIEW converts the graphic to a 32 x 32 pixel icon Use the Copy from option on the right side of the Icon Editor dialog box to copy from a color icon to a black and white icon and vice versa After you select a Copy from option click the OK button to complete the change Note If you do not draw a complete border around a VI icon the icon background appears transparent When you select the icon on the block diagram a selection marquee appears around each individual graphic element in the icon Use the tools on the left side of the Icon Editor dialog box to create the icon design in the editing area The normal size image of the icon appears in the appropriate box to the right of the editing area The following tasks can be performed with these tools Use the Pencil tool to draw and erase pixel by pixel E Use the Line tool to draw straight lines To draw horizontal vertical and diagonal lines press the lt Shift gt key while you use this tool to drag the cursor Use the Color Copy tool to copy the foreground color from an element in the icon e Al Use the Fill tool to fill an outlined area with the foreground color oj Use the Rectangle tool to draw a rectangular border in
228. n the Abort Execution button does not always properly close the VI National Instruments recommends stopping your VIs using the Stop button on the front panel Use the Abort Execution button only when errors prevent you from terminating the application using the Stop button 2 5 5 Modifying the Signal Complete the following steps to add scaling to the signal and display the results in the graph on the front panel F b k gt P Simulate Signal Sawah kean error out b Amplitude On the block diagram use the Positioning tool to double click the wire that connects the Simulate Signal Express VI to the Waveform Graph terminal shown in pg 32 2 Press the Delete key to delete this wire 3 If the Functions palette is not visible on the block diagram select Window gt gt Show Functions Palette to display it and Mapping a Select the Scaling and Mapping Express VI shown at left on the Arith metic amp Comparison palette and place it on the block diagram inside the loop between the Simulate Signal Express VI and the Waveform Graph terminal If there is no room between the Express VI and the terminal move the Waveform Graph terminal to the right Notice that the Configure Scaling and Mapping dialog box automatically opens when you place the Express VI on the block diagram 5 Define the value of the scaling factor by entering 10 in the Slope m text box The Configure Scaling and Mapping di
229. n in Figure 7 11 Compound Arithmetic Temperature History Wait Until Next ms Multiple millisecond multiple 1 amp Figure 7 11 123 oot Place the Bundle function located on the Functions gt All Functions gt gt Cluster palette on the block diagram This function bundles the average and current temperature for plotting on the waveform chart 2 Save the VI You will use this VI later in the course 7 3 5 Run the VI 1 Run the VI The VI displays two plots on the waveform chart The plots are overlaid That is they share the same vertical scale 2 If time permits complete the optional steps Otherwise close the VI 7 3 6 Optional Customize the waveform chart as shown in Figure 7 12 You can display a plot legend a scale legend a graph palette a digital display and a scrollbar By default a waveform chart displays the plot legend Running Avg Power Temperature History Current Temp p OF F Time sec Time sec 6 pt taa Temp DegF EAr EEPE Figure 7 12 1 Customize the y axis a A Use the Labeling tool to double click 70 0 in the y axis type 75 0 and press the lt Enter gt key 124 CHAPTER 7 PLOTTING DATA b b Use the Labeling tool to double click the second number from the bottom on the y axis type 80 0 and press the lt Enter gt key This number determines the numerical spacing of the y axis divisions For example if the number abo
230. n of the loop and transfers any data type Use the Feedback Node to avoid unnecessarily long wires in loops The Feedback Node arrow indicates in which direction the data flows along the wire You also can select the Feedback Node on the Structures palette and place it inside a For Loop or While Loop If you place the Feedback Node on the wire before you branch the wire that connects the data to the tunnel the Feedback Node passes each value to the tunnel If you place the Feedback Node on the wire after you branch the wire that connects data to the tunnel the Feedback Node passes each value back to the input of the VI or function and then passes the last value to the tunnel The Accessing Previous Data VI Section 4 6 exercise contains an example of this behavior 4 6 Accessing Previous Data VI Exercise 4 3 4 6 1 Front Panel 1 Open the Feedback VI located in the C Exercises LabVIEW Basics I directory The front panel shown in Figure 4 15 is already built Feedback After This VI demonstrates two methods of using the 0 Feedback Node The first method places the Feedback Node after the indicator has read the numerical Function Feedback Before lo The second method places the Feedback Node before the indicator reads the numerical function Figure 4 15 86 CHAPTER 4 REPETITION AND LOOPS 4 6 2 Block Diagram 1 Display the block diagram Figure 4 16 and make sure both the front panel and block diagram are visible If n
231. n pg 46 appears with a Stop button wired to the condition terminal This While Loop is configured to stop when the user clicks the Stop button 5 Display the front panel and run the VI Notice that the VI now runs until you click the Stop button A While Loop executes the functions inside the loop until the user presses the Stop button Refer to Repetition and Loops Section 4 1 for more information about While Loops 2 9 6 Controlling the Speed of Execution To plot the points on the waveform graph more slowly you can add a time delay to the block diagram Complete the following steps to control the speed at which the VI executes 1 On the block diagram select the Time Delay Express VI on the Functions gt Execution Control palette and place it inside the loop 2 Type 250 in the Time delay seconds text box This time delay specifies how fast the loop runs With a 250 second time delay the loop iterates once every quarter of a second 3 Close the Configure Time Delay dialog box 4 Save this VI 5 Display the front panel and run the VI 6 Click the Enable switch and notice the change on the graph Notice how if the Enable switch is on the graph displays the reduced signal If the Enable switch is off the graph does not display the reduced signal 7 Click the Stop button to stop the VI 2 9 7 Using a Table to Display Data Complete the following steps to display a collection of mean values in a table on the front panel 1 On t
232. n problem with one of the drivers that VISA calls In LabVIEW VISA is a single library of functions you use to communicate with GPIB serial VXI and computer based instruments You do not need to use separate I O palettes to program an instrument For example some instruments give you a choice for the type of interface If the Lab VIEW instrument driver were written with functions on the Functions gt All Functions gt gt Instrument I O gt gt GPIB palette those instrument driver VIs would not work for the instrument with the serial port interface VISA solves this problem by providing a single set of functions that work for any type of interface Therefore all LabVIEW instrument drivers use VISA as the I O language 11 6 2 VISA Programming Terminology The functions you can use with a resource are operations The resource also has variables or attributes that contain information related to the resource The following terminology is similar to that used for instrument driver VIs e Resource Any instrument in the system including serial and parallel ports e Session You must open a VISA session to a resource to communicate with it similar to a communication channel When you open a session to a resource LabVIEW returns a VISA session number which is a unique refnum to that instrument You must use the session number in all subsequent VISA functions e Instrument Descriptor Exact name of a resource The descriptor specifies the inte
233. n the Waveform Graph VI in the NI Example Finder for an example of a graph that accepts this data type A multiplot waveform graph accepts a cluster of an initial x value a Ax value and an array that contains clusters Each cluster contains a point array that contains the y data You use the 127 Bundle function to bundle the arrays into clusters and you use the Build Array function to build the resulting clusters into an array You also can use the Build Cluster Array which creates arrays of clusters that contain inputs you specify Refer to the Xo dX Y Multi Plot 2 graph in the Waveform Graph VI in the NI Example Finder for an example of a graph that accepts this data type 7 4 3 Single Plot XY Graphs The single plot XY graph accepts a cluster that contains an x array and a y array The XY graph also accepts an array of points where a point is a cluster that contains an x value and a y value Refer to the XY Graph VI in the NI Example Finder for an example of single plot XY graph data types 7 4 4 Multiplot XY Graphs The multiplot XY graph accepts an array of plots where a plot is a cluster that contains an x array and ay array The multiplot XY graph also accepts an array of clusters of plots where a plot is an array of points A point is a cluster that contains an x value and a y value Refer to the XY Graph VI in the NI Example Finder for an example of multiplot XY graph data types 7 5 Graph Waveform Array VI Exercise
234. n the right side of Bi VI Logger Tasks the MAX window to 9 Remote Systems Measurement amp quide vou throuah Q Category Help Figure 10 2 MAX detects all the National Instruments hardware including the GPIB interface Refer to Instrument Control Section 11 2 for more information about GPIB The device parameters that you can set using the configuration utility depend on the device MAX saves the logical device number and the configuration parameters in the Windows Registry The plug and play capability of Windows automatically detects and configures switchless DAQ devices such as the PCI 6024E When you install a device in the computer the device is automati cally detected 10 1 3 Channel and Task Configuration In Traditional NI DAQ you can configure a set of virtual channels or a collection of property settings that include a physical channel the type of measurement or generation specified in the channel name and scaling information In Traditional NI DAQ and earlier versions virtual channels are a simple method to remember which channels are used for different measurements NI DAQmx channels are similar to the virtual channels of Traditional NI DAQ NI DAQm x also includes tasks that are integral to the API A task is a collection of one or more channels and the timing triggering and other properties that apply to the task itself A task represents a measurement or generation you want to perform Channels created
235. nal Instruments License http creativecommons org licenses by 1 0 Module Strings By National Instruments URL http cnx org content m12252 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module String Functions By National Instruments URL http cnx org content m12253 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Create String VI By National Instruments URL http cnx org content m12254 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module File I O VIs and Functions By National Instruments URL http cnx org content m12255 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module High Level File I O VIs By National Instruments URL http cnx org content m12256 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Spreadsheet Example VI By National Instruments URL http cnx org content m12257 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Low Level File I O VI and Functions By National Instruments URL http cnx org content m12258 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module File Writer VI By National Instruments URL
236. nctions 0 0 0 0 ccc cee cence nee 171 9 8 File Writer Vh cy test octet eat cele tyes ca aia dened elie E aA 173 9 9 Bile Reader Wal ess esevesu etree te eed ona ead eps woud Saud he Rou bie Gah ey awed cated 175 9 10 Formatting Spreadsheet Strings 0 0 0 0 ccc cece nen ene n ene ne ned 177 9 11 Temperature Logger VI ccc En na noes 180 9 12 Temperature Application VI 0 i ccc ceed ene teen ene eens 184 9 13 Summary Tips and Tricks on Strings and File I O 1 0 0 0 0 eee 185 9 14 Additional Exercises for Strings and Filel O 0 ccc ccc cece eae 186 10 Data Acquisition and Waveforms 10 1 Overview and Configuration of DAQ Devices 0 0 cece cece enn eee 187 10 2 Measurement amp amp Automation Explorer Windows Only 048 191 10 3 Data Acquisition in LabVIEW 0 00 cece een eet e tenet nee e es 194 10 4 Analog Input cece pete ey CY a ay Fa aes ead dea eee eee eae 195 10 5 Voltmeter VE cise setgeteates Benet tee age edu ir action heaps Ue Ieee eee pee ete 197 10 6 Measurement Averaging VI 1 cece ett tet nent e nen ens 199 10 7 Data Logging arte Sk niet anteater ei area Taleban i aaa ube bead a khan 200 10 8 Simple Data Logger VE ies ss Sick eI yaa A pee cd pad Cea Ue eave ts Ooo be oe OPE 201 10 9 AnalogOutptit carci ii nerve aroa ne Rn one ec RAG eee Me Re ee 204 10 10 Voltao Outpt Vi arriera feds rai eaS aaltepet ened ete Bs tea Bride A kee 205 LOLA COUNEEES
237. nd 1 a ved Place the For Loop located on the Functions gt gt All Functions gt gt Structures palette on the block diagram The loop accumulates an array of 10 random numbers at the output tunnel Create a constant of 10 for the count terminal oe Place the Multiply function located on the Functions gt gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram In this exercise this function multiplies Random Array by Scaling Factor and returns Final Ar d Place the Array Subset function located on the Functions gt gt All Functions gt gt Array palette on the block diagram This function returns a por tion of an array starting at Start Subset and containing of Elements elements 2 Save the VI as Array Exercise vi in the C Exercises LabVIEW Basics I directory 5 5 3 Run the VI 1 Display the front panel change the values of the controls and run the VI a few times The For Loop runs for 10 iterations Each iteration generates a random number and stores it at the output tunnel Random Array displays an array of 10 random numbers The VI multiplies each value in Random Array by Scaling Factor to create Final Array The VI takes a subset of Final Array starting at Start Subset for of Elements and displays the subset in Subset Array 2 Close the VI 5 6 Summary Tips and Tricks on Arrays e Arrays group data elements of the same type You can build arrays of numeric Boolean path string wave
238. nd LEDs The most common Boolean objects are the vertical toggle switch and the round LED as shown in Figure 2 15 22 CHAPTER 2 INTRODUCTION Figure 2 15 2 4 Block Diagram After you build the front panel you add code using graphical representations of functions to control the front panel objects The block diagram contains this graphical source code Front panel ob jects appear as terminals on the block diagram Block diagram objects include terminals subVIs functions constants structures and wires which transfer data among other block diagram objects The VI in Figure 2 16 shows several primary block diagram objects nodes terminals and wires add amp sub vi Front Panel lls Fa Figure 2 16 1 Nodes 2 Indicator Terminals 3 Wires 4 Control Terminals 2 4 1 Functions Palette The Functions palette is available only on the block diagram The Functions palette contains the VIs and functions you use to build the block diagram Select Window gt gt Show Functions Palette or right click the block diagram workspace to display the Functions palette Tack down the Functions 23 palette by clicking the thumbtack on the top left corner of the palette By default the Functions palette starts in the Express view 2 4 2 Express VIs VIs and Functions LabVIEW uses colored icons to distinguish between Express VIs VIs and functions on the block diagram By default icons for Express VIs appear on the block diag
239. nd select Visible Items gt Graph Palette from the shortcut menu to display the graph palette as shown in Figure 7 14 You can place the graph palette anywhere on the front panel 125 Figure 7 14 1 Cursor Movement Tool 2 Zoom Button 3 Panning Tool 4 Zoom Pull down Menu Use the Zoom button on the graph palette to zoom in or out of sections of the chart or the whole chart Use the Panning tool to pick up the plot and move it around on the display Use the Cursor Movement tool to move the cursor on the graph 6 Run the VI While the VI runs use the buttons in the scale legend and graph palette to modify the waveform chart NOTE If you modify the axis labels the display might become larger than the maximum size that the VI can correctly present 7 Use the Operating tool to click the Power switch and stop the VI 8 Save and close the VI 7 4 Waveform and XY Graphs VIs with graphs usually collect the data in an array and then plot the data to the graph Figure 7 15 shows the elements of a graph 126 CHAPTER 7 PLOTTING DATA Intensity Graph Time Time Frequency Bl Yl Jampitude 92 223 0 00 0 00 0 00 0 00 0 00 0 00 Figure 7 15 The graphs located on the Controls gt Graph Indicators palette include the waveform graph and XY graph The waveform graph plots only single valued functions as in y f a with points evenly distributed along the x axis such as acquired time varying w
240. nditional terminal only the True or False value of the status parameter of the error cluster is passed to the terminal When an error occurs the While Loop stops error in no error Figure 6 14 When an error cluster is wired to the conditional terminal the shortcut menu items Stop if True and Continue if True change to Stop on Error and Continue while Error 6 6 Summary Tips and Tricks on Clusters e Clusters group data elements of mixed types A cluster cannot contain a mixture of controls and indicators e If a front panel contains more than 28 controls and indicators that you want to use pro grammatically group some of them into a cluster and assign the cluster to a terminal on the connector pane to eliminate clutter on the block diagram e Tocreate a cluster control or indicator select a cluster on the Functions gt gt All Functions gt gt Array amp Cluster palette place it on the front panel and drag controls or indicators into the cluster shell e Use the Cluster functions located on the Functions gt gt All Functions gt gt Cluster palette to create and manipulate clusters e Error checking tells you why and where errors occur e The error cluster reports the status code and source of the error e Use the error cluster controls and indicators to create error inputs and outputs in subVIs 112 CHAPTER 6 CLUSTERS Chapter 7 Plotting Data 7 1 Waveform Charts The waveform chart is a numeric indicat
241. ndle by Name functions to assemble and manipulate clusters and use the Unbundle and Unbundle by Name functions to disassemble clusters You also can create the Bundle Bundle by Name Unbundle and Unbundle by Name functions by right clicking a cluster terminal on the block diagram and selecting Cluster Palette from the shortcut menu The Bundle and Unbundle functions automatically contain the correct number of terminals The Bundle by Name and Unbundle by Name functions appear with the first element in the cluster Use the Positioning tool to resize the Bundle by Name and Unbundle by Name functions to show the other elements of the cluster 6 2 1 Assembling Clusters Use the Bundle function to assemble a cluster from individual elements or to change the values of individual elements in an existing cluster without having to specify new values for all elements Use the Positioning tool to resize the function or right click an element input and select Add Input from the shortcut menu If you wire a cluster to the cluster input the number of inputs must match the number of elements in the input cluster If you wire the cluster input you can wire only the elements you want to change For example the cluster in Figure 6 3 contains three controls input cluster output cluster VOLTS AC New Command JouMs Figure 6 3 If you know the cluster order you can use the Bundle function to change the Command value by wiring the elements shown in
242. ndow Behavior Default O Floating Hide when LabYIEW is not active Modal Allow user to close window C Allow user to resize window C Allow user to minimize window Allow run time shortcut menus Highlight lt Enter gt Boolean Auto Center Figure 12 3 e Click the OK button twice and save and close the subVI If the front panel is not closed it will not close after the subVI runs 4 Run the Use Pop up Graph VI After the VI acquires 10 seconds of temperature data the front panel of the Pop up Graph VI displays and plots the temperature data Click the DONE button to return to the calling VI 5 Change the window appearance settings for the Pop up Graph subVI to the Dialog window style 250 CHAPTER 12 CUSTOMIZING VIS 6 Save and close the subVI 7 Run the Use Pop up Graph VI again The Pop up Graph subVI front panel window behaves as a dialog box For example the window stays on top of all other windows and uses the system colors 8 Close all open VIs 12 4 Keyboard Shortcuts for Controls While a VI runs you can press the lt Tab gt key to change the key focus from one control to the next The key focus is the same as if you had clicked the control While a control has the key focus you can use the keyboard to enter the control value If the control is a text or numeric control LabVIEW highlights the text so you can edit it If the control is Boolean press the spacebar or the lt Enter gt key to change its va
243. ne wave on one of the DAQ device analog output channels Change the Output Mode to Sinewave Generation and click the Start button LabVIEW generates a continuous sine wave on analog output channel 0 c On the external DAQ Signal Accessory box wire Analog Out Ch0 to Analog In Chl 194 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS d Click the Analog Input tab and change the channel to Dev1 ail Click the Start button to acquire data from analog input channel 1 LabVIEW displays the sine wave from analog output channel 0 e Click the Digital I O tab to test the digital lines on the DAQ device Set lines 0 through 3 as output and toggle the Logic Level checkboxes As you toggle the boxes the LEDs on the DAQ signal accessory turn on or off The LEDs use negative logic f Click the Counter I O tab to determine if the DAQ device counter timers are func tioning properly To verify counter timer operation change the Counter Mode tab to Edge Counting and click the Start button The Counter Value increments rapidly Click Stop to stop the counter test g Click the Close button to close the Test Panel and return to MAX 3 Close MAX by selecting File gt gt Exit 10 3 Data Acquisition in LabVIEW The LabVIEW Data Acquisition VIs are located on the Data Acquisition palette and the DAQmx Data Acqusition palette The Data Acquisition palette contains the traditional NI DAQ VIs The DAQm x Data Acquisition palette contains the VIs for NI DAQmx
244. ng tunnels appear at the same position on the border in all other cases If at least one output tunnel is not defined all output tunnels on the structure appear as white squares Wire to the output tunnel for each unwired case clicking the tunnel each time You can define a different data source for the same output tunnel in each case but the data types must be compatible You also can wire constants or controls to unwired cases by right clicking the tunnel and selecting Create gt gt Constant or Create gt gt Control from the shortcut menu NoTE You can right click the output tunnel and select Use Default If Unwired from the shortcut menu to use the default value for the tunnel data type for all unwired tunnels 146 CHAPTER 8 MAKING DECISIONS IN A VI 8 2 3 Examples In the following examples the numeric values pass through tunnels to the Case structure and are either added or subtracted depending on the value wired to the selector terminal Example 8 1 Boolean Case Structure The example in Figure 8 5 is a Boolean Case structure The cases are shown overlapped to simplify the illustration Figure 8 5 If the Boolean control wired to the selector terminal is True the VI adds the numeric values Otherwise the VI subtracts the numeric values Example 8 2 Integer Case Structure The example in Figure 8 6 is an integer Case structure Figure 8 6 Integer is a text ring control located on the Controls gt gt Text Controls p
245. node on the block diagram 1 Move the Positioning tool over the node Resizing handles appear at the top and bottom of the node 2 Move the cursor over a resizing handle to change the cursor to the resizing cursor 3 Use the resizing cursor to drag the border of the node down to display additional terminals 4 Release the mouse button To cancel a resizing operation drag the node border past the block diagram window before you release the mouse button Figure 2 17 shows the Basic Function Generator VI as a resized expandable node k Figure 2 17 NOTE If you display a subVI or Express VI as an expandable node you cannot display the terminals for that node and you cannot enable database access for that node 25 2 4 3 2 Terminals Z Front panel objects appear as terminals on the block diagram The terminals repre sent the data type of the control or indicator You can configure front panel controls or indicators to appear as icon or data type terminals on the block diagram By default front panel objects appear as icon terminals For example a knob icon terminal shown at left represents a knob on the front panel The DBL at the bottom of the terminal represents a data type of double precision floating point numeric To display a terminal as a data type on the block diagram right click the terminal and select View As Icon from the shortcut menu to remove the checkmark A DBL data type terminal shown above at left r
246. nt Driver VIs Just as all instrument drivers share a common VI hierarchy they also share common inputs and outputs 11 9 2 1 Resource Name or Instrument Descriptor When you initialize the communication channel to an instrument you must know the resource name or instrument descriptor A resource is an instrument or interface and the instrument descriptor is the exact name and location of a resource in the following format Interface Type board index Address INSTR Optional parameters are shown in square brackets For example GPIB 2 INSTR is the instru ment descriptor for a GPIB instrument at address 2 The VISA resource name control located on the Controls gt gt All Controls gt gt 1I O palette is similar to the DAQ channel name control but it is specifically used for instrument control Refer to the VISA Section 11 6 section for more information about VISA You can use MAX to determine what resources and instrument addresses are available as you did in GPIB Configuration with MAX Section 11 3 when you assigned a VISA alias of devsim to the NI Instrument Simulator The alias makes it easier to communicate with instruments because you no longer need to memorize which interface and address each instrument uses You can use the alias in the VISA resource name control instead of the instrument descriptor For example you can type devsim instead of GPIB 2 INSTR 11 9 2 2 VISA Sessions After you initialize an instrument
247. nt Simulator returns a simulated voltage measurement Click the Query button again to return a different value Click the Exit button Set a VISA alias for the NI Instrument Simulator so you can use the alias instead of having to remember the primary address a While Instrument0 is selected in MAX click the VISA Properties button to display the Properties dialog box 218 CHAPTER 11 INSTRUMENT CONTROL b Type devsim in the VISA Alias field and click the OK button You will use this alias throughout this lesson 16 Select Files gt Exit to exit MAX 11 4 Using the Instrument I O Assistant The Instrument I O Assistant located on the Functions gt Input and _ Functions gt All Functions gt Instrument I O palettes is a LabVIEW Express VI which you can use to com municate with message based instruments and graphically parse the response For example you can communicate with an instrument that uses a serial Ethernet or GPIB interface Use the Instrument I O Assistant when an instrument driver is not available The Instrument I O Assistant organizes instrument communication into ordered steps To use Instrument I O Assistant you place steps into a sequence As you add steps to the sequence they appear in the Step Sequence window Use the view associated with a step to configure instrument I O To launch the Instrument I O Assistant place the Instrument I O Assistant Express VI on the block diagram The Instrument I O Assistant config
248. nterrupt levels DMA and base address for software configurable devices The NI DAQ Information tab specifies the bus type of the DAQ device The Driver tab specifies the driver version and location for the DAQ device LabVIEW installs Measurement amp Automation Explorer MAX which establishes all device and channel configuration parameters After installing a DAQ device in the computer you must run this configuration utility MAX reads the information the Device Manager records in the Windows Registry and assigns a logical device number to each DAQ device Use the device number to refer to the device in LabVIEW Access MAX either by double clicking the icon on the desktop or selecting Toolss gt Measurement amp Automation Explorer in LabVIEW The window in Figure 10 2 is the primary MAX window MAX is also the means for SCXI and SCC configuration 190 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS My System Measurement amp Automation Explorer File Edit View Tools Help guration G Data Neighborhood s GM Devices and Interfaces N at on al l n stru me nts Traditional NI DAQ Devices M easurement amp PX PXI System 0 Unidentified NI DAQmx Devices Automation Explorer E PCI 6024E Devi GPIBO PCI GPIB F Ports Serial amp Parallel What is About MAX Help i ae Measurement amp iis cales i eis Automation ISpi0ys Historical Data interactive embedded Software Explorer help i
249. nto subVIs Convert a section of a VI into a subVI by using the Positioning tool to select the section of the block diagram you want to reuse and selecting Edit gt gt Create SubVI An icon for the new subVI replaces the selected section of the block diagram LabVIEW creates controls and indicators for the new subVI and wires the subVI to the existing wires Figure 3 11 shows how to convert a selection into a subVI 72 CHAPTER 3 MODULAR PROGRAMMING Subtract Divide Slope m Subtract Figure 3 11 The new subVI uses a default pattern for the connector pane and a default icon Double click the subVI to edit the connector pane and icon and to save the subVI NoTE Do not select more than 28 objects to create a subVI because 28 is the maximum number of connections on a connector pane 3 7 Summary Tips and Tricks on Modular Programming e A VI within another VI is called a subVI Using subVIs helps you manage changes and debug the block diagram quickly After you build a VI front panel and block diagram build the icon and the connector pane so you can use the VI as a subVI The connector pane is a set of terminals that corresponds to the controls and indicators of that VI Define connections by assigning a front panel control or indicator to each of the connector pane terminals Create custom icons to replace the default icon by double clicking the icon in the upper right corner of the front panel to open the I
250. o avoid applying the changes you made while experimenting If you want to keep the changes you made click the OK button 2 5 8 Customizing the Waveform Graph The waveform graph indicator displays the two signals To indicate which plot is the scaled signal and which is the simulated signal you customize the plots Complete the following steps to customize the appearance of an indicator on the front panel 1 Move the cursor over the top of the plot legend on the waveform graph Notice that while there are two plots on the graph the plot legend displays only one plot 37 2 When a double headed arrow appears shown in Figure 2 25 click and drag the border of the plot legend until the second plot name appears a Sawtooth Scaled A Amplitude l 1 0E 1 Time Figure 2 25 3 Right click the waveform graph and select Properties from the shortcut menu to dis play the Graph Properties dialog box 4 On the Plots tab select Sawtooth from the pull down menu Click the Line Color color box to display the color picker Select a new line color 5 Select Sawtooth Scaled from the pull down menu 6 Place a checkmark in the Don t use waveform names for plot names checkbox 7 In the Name text box delete the current label and change the name of this plot to Scaled Sawtooth 8 Click the OK button to apply the current configuration and close the Graph Properties dialog box Notice how the plot color on the front pan
251. o make the front panel more usable When LabVIEW calls a subVI ordinarily the subVI runs without opening its front panel If you want a single instance of the subVI to open its front panel when called use the SubVI Node Setup dialog box If you want every instance of the subVI to open its front panel when called use the VI Properties dialog box 12 2 1 Single Instance If you want a single instance of the subVI to open its front panel when called right click the subVI and select SubVI Node Setup from the shortcut menu to display the SubVI Node Setup dialog box Place checkmarks in the Show Front Panel when called and Close afterwards if originally closed checkboxes to open the subVI front panel when called This dialog box also includes the following components e Open Front Panel when loaded Displays the front panel when the subVI loads or when the VI that calls it loads e Show Front Panel when called Displays the front panel when the subVI is called e Close afterwards if originally closed If Show Front Panel when called also contains a checkmark and if the subVI was previously closed the front panel closes after the subVI runs e Suspend when called Suspends a subVI when called and waits for user interaction This option is the same as selecting Operate gt gt Suspend when called 12 2 2 Every Instance If you want every instance of the subVI to open its front panel when called open the subVI and select Files gt VI Propert
252. objects the Context Help window displays the icon for subVIs functions constants controls and indicators with wires attached to each terminal When you move the cursor over dialog box options the Context Help window displays descriptions of those options In the window required connections are bold recommended connections are plain text and optional connections are dimmed or do not appear Figure 2 29 shows an example Context Help window if Context Help Me x Format 3F new File path Not 4 Path i File path dialog if empty all rows number of rows all 1 First row pees mark after read chars transpose na F 1 Se EOF Read From Spreadsheet File vi Reads a specified number of lines or rows from a numeric text file beginning at a specified character offset and converts the data to a 2D single precision array of numbers Click here for more help Figure 2 29 Context Help Window Click the Hide Optional Terminals and Full Path button located on the lower left corner of the Context Help window to display the optional terminals of a connector pane and to display the full path to a VI Optional terminals are shown by wire stubs informing you that other connections exist The detailed mode displays all terminals as shown in Figure 2 30 Al i gt Context Help Format 3F 7 new file path Not 4 Path i file path dialog if empty z all rows number of rows all 1 First row start of
253. of built in controls indicators VIs and functions The Advanced palette view includes subpalettes on the top level of the Controls and Functions palettes that contain the complete set of built in controls indicators VIs and functions The Express subpalettes contain Express VIs and other objects you need to build common measurement applications 21 NOTE In the Express palette view toolsets and modules do not install subpalettes on the top level of the Controls and Functions palettes Instead toolsets and modules install on the All Controls and All Functions subpalettes In the Advanced palette view toolsets and modules install subpalettes on the top level Click the Options button on the Controls or Functions palette to change to another palette view or format 2 3 1 1 1 Numeric Controls and Indicators The two most commonly used numeric objects are the numeric control and the numeric indicator as shown in Figure 2 14 Figure 2 14 1 Increment and Decrement Buttons 2 Numeric Control 3 Numeric Indicator To enter or change values in a numeric control click the increment and decrement buttons with the Operating tool or double click the number with either the Labeling tool or the Operating tool type a new number and press the Enter key 2 3 1 1 2 Boolean Controls and Indicators Use Boolean controls and indicators to enter and display Boolean True or False values Boolean objects simulate switches push buttons a
254. on tab change the Digits of Precision to 2 The data for Temperature Graph will be formatted on the block diagram f Resize the plot legend of the waveform graph to show two plots g Change the name of Plot 0 to Temp and Plot 1 to Fitted h Set the point style of the waveform graph Temp plot to a small square i Do not create the Mean Max andMinindicators yet They will be created from the block diagram 7 6 2 Block Diagram 1 Build the block diagram Figure 7 23 Array Max amp Min Temperature Chart Wait Until Next ms Multiple 250 Er Temperature Graph J Build Array General Bundle order Polynomial Fit vi Figure 7 23 134 CHAPTER 7 PLOTTING DATA a Place the Thermometer VI on the block diagram Select Functions gt gt All Functions gt gt Select a VI and navigate to C Exercises LabVIEW Basics I Thermometer vi This subVI returns one point of temperature data i ol Place the Wait Until Next ms Multiple function located on the Functions gt gt All Functions gt gt Time amp Dialog palette on the block diagram This function causes the For Loop to execute every 0 25seconds 250ms E g c Place the Array Max amp Min function located on the Functions gt gt All Functions gt gt Array palette on the block diagram This function returns the max imum and minimum temperature Place the Mean VI located on the Functions gt All Functions gt gt Analyze gt gt
255. ones among the data bits already an odd number so the parity bit is set to 0 The last part of a character frame consists of 1 1 5 or 2 stop bits These bits are always represented by a negative voltage If no further characters are transmitted the line stays in the negative MARK condition The transmission of the next character frame if any is heralded by a start bit of positive SPACE voltage 11 11 1 How Fast Can I Transmit Knowing the structure of a character frame and the meaning of baud rate as it applies to serial communication you can calculate the maximum transmission rate in characters per second for a given communication setting This rate is just the baud rate divided by the bits per frame In the previous example there are a total of eleven bits per character frame If the transmission rate is set at 9 600 baud you get 2 600 872 characters per second Notice that this is the maximum character transmission rate The hardware on one end or the other of the serial link might not be able to reach these rates for various reasons 11 11 2 Hardware Overview There are many different recommended standards of serial port communication including the fol lowing most common types 11 11 2 1 RS 232 The RS 232 is a standard developed by the Electronic Industries Association EIA and other interested parties specifying the serial interface between Data Terminal Equipment DTE and Data Communications Equipment DCE The RS
256. onnected to the COM2 serial port The VISA Configure Serial Port VI opens communi cation with COM2 and sets it to 9 600 baud eight data bits odd parity one stop bit and XON XOFF software handshaking Then the VISA Write function sends the command The VISA Read function reads back up to 200 bytes into the read buffer and the Simple Error Handler VI checks the error condition VISA resource name write buffer byte count read buffer 6 ASRLZ INSTR 7 baud rate 9600 9600 VISA Configure Simple Error Serial Port VISA Write VISA Close Handler vi data bits 8 fa parity O none fo Odd vH LEIH fee wie R Tje E jee stop bits 10 1 bit Luise flow control O none Figure 11 16 Note The VIs and functions located on the Functions gt gt All Functions gt gt Instrument I O gt Serial palette are also used for parallel port communication You specify the VISA resource name as being one of the LPT ports For example you can use MAX to determine that LPT1 has a VISA resource name of ASRL10 INSTR 11 12 Serial Write amp amp Read VI 11 12 1 NI Instrument Simulator 1 Power off the NI Instrument Simulator and configure it to communicate through the serial port by setting the following switches on the side of the box S MODE DATA FORMAT BAUD RATE T T OFF aaga T ON GPIB ADDRESS ALLL G MODE Figure 11 17 These switch settings configure the instrument as a serial device with the
257. ons gt gt String palette on the block diagram This function returns the num ber of characters in Result Place the Match Pattern function located on the Functions gt All Functions gt gt String palette on the block diagram This function searches String 2 for a colon Right click the regular expression input select Create gt gt Constant from the shortcut menu type a colon and press the lt Enter gt key on the nu meric keypad You also can click the Enter button on the toolbar to complete the entry Do not use the lt Enter gt key on the main keyboard because in this case it adds the return character to the search expression 165 6 R a k de c Place the Scan From String function located on the Functions gt All Functions gt gt String palette on the block diagram This function converts the string after the colon to a numeric value e Complete the block diagram as shown in Figure 9 7 9 3 3 Icon amp Connector Pane 1 Display the front panel and create an icon and connector pane so you can use this VI as a subVI later in this course Refer to the lesson on Modular Programming Section 3 1 for more information about creating icons and connector panes Header or Combined String Number ii Fa String Length Trailer P Number Out String 2 Offset Past Match Figure 9 8 2 Save the VI as Create String vi in the C Exercises LabVIEW Basics I directory You will use this VI later in the course 9 3 4 Run the VI
258. ont Panels After you build a VI you can configure the appearance of the front panel so users can more easily operate the VI For example you can hide the menu bar and scrollbars to create VIs that look and behave like standard dialog boxes for each platform Select Files gt VI Properties to configure the appearance and behavior of a VI You also can right click the VI icon on the front panel or block diagram and select VI Properties from the shortcut menu You cannot access the VI Properties dialog box while a VI is running Refer to the LabVIEW Basics II Development Course Manual for more information about configuring the behavior of VIs Use the Category pull down menu at the top of the VI Properties dialog box to select from several different option categories including the following General Displays the current path where a VI is saved its revision number revision history and any changes made since the VI was last saved You also can use this page to edit the icon or the size of the alignment grid for the VI Documentation Use this page to add a description of the VI and link to a help file topic Refer to the original Thermometer VI Section 3 5 for more information about documenting VIs Security Use this page to lock or password protect a VI Window Appearance Use this page to configure various window settings Window Size Use this page to set the size of the window Execution Use this page to configure how a VI runs
259. ools palette to disable automatic tool selection Press the Tab or Shift Tab keys or click the Automatic Tool Selection button on the Tools palette to enable automatic tool selection again If automatic tool selection is disabled you can press the spacebar to switch to the next most useful tool Use the Operating tool shown at left to change the values of a control or select the text within a control The Operating tool changes to the icon shown at left when it moves over a text control such as a numeric or string control Use the Positioning tool shown at left to select move or resize objects The Positioning tool changes to resizing handles when it moves over the edge of a resizable object 15 R Use the Labeling tool shown at left to edit text and create free labels The Labeling changes to the following icon when you create free labels O A Use the Wiring tool shown at left to wire objects together on the block diagram krile a se the Object Shortcut Menu shown at left tool to access an object shortcut menu with eft mouse button ct So oO Use the Scrolling tool shown at left to scroll through windows without using scrollbars gE a se the Breakpoint tool shown at left to set breakpoints on VIs functions nodes wires and structures to pause execution at that location fe se the Probe tool shown at left to create probes on wires on the block diagram Use the to che
260. or a variety of pro grammable instruments that use the GPIB VXI PXI or serial interfaces Instrument drivers receive parse and scale the response strings from instruments into scaled data that you can use in test applications Instrument drivers help make test applications easier to maintain because the drivers contain all the I O for an instrument in one library separate from other code When you upgrade hardware it is easier to upgrade the application because all the code specific to that instrument is contained in the instrument driver The LabVIEW instrument driver library is located on the LabVIEW CD You also can download drivers from the National Instruments Web site at ni com idnet To install the LabVIEW instru ment drivers decompress the instrument driver file to get a directory of instrument driver files Place this directory in the labview instr lib The next time you open LabVIEW you can access the instrument driver VIs on the Functions gt gt All Functions gt Instrument I O gt gt Instrument Drivers palette 11 8 1 Getting Started Example All instrument drivers include an example that can be used to test communication with the in strument This example is usually called the Getting Started Example Specify the correct GPIB address or VISA Resource Name for the instrument as configured in MAX 11 9 Using Instrument Driver VIs Instrument drivers are developed with a specific instrument in mind and eliminate the need for
261. or that displays one or more plots The waveform chart is located on the Controls gt gt Graph Indicators palette Waveform charts can display single or multiple plots Figure 7 1 shows the elements of a multiplot waveform chart Two plots are displayed Raw Data and Running Avg Raw Data Running Avg Waveform Chart 1 0 Time aloxa Fameltude Slas Figure 7 1 Charts use three different modes to scroll data as shown in the Figure 7 2 Right click the chart and select Advanced gt gt Update Mode from the shortcut menu Select Strip Chart Scope Chart or Sweep Chart The default mode is Strip Chart 113 114 CHAPTER 7 PLOTTING DATA Strip Chart Scope Chart Sweep Chart 90 0 80 0 70 0 l 50 100 Figure 7 2 A strip chart shows running data continuously scrolling from left to right across the chart A scope chart shows one item of data such as a pulse or wave scrolling partway across the chart from left to the right A sweep chart is similar to an EKG display A sweep chart works similarly to a scope except it shows the older data on the right and the newer data on the left separated by a vertical line The scope chart and sweep chart have retracing displays similar to an oscilloscope Because there is less overhead in retracing a plot the scope chart and the sweep chart display plots significantly faster than the strip chart 7 1 1 Wiring Charts You can wire a
262. org licenses by 1 0 Module Analog Output By National Instruments URL http cnx org content m12274 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Voltage Output VI By National Instruments URL http cnx org content m12275 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Counters By National Instruments URL http cnx org content m12276 latest Copyright National Instruments ATTRIBUTIONS ATTRIBUTIONS 275 License http creativecommons org licenses by 1 0 Module Simple Event Counting VI By National Instruments URL http cnx org content m12277 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Digital I O By National Instruments URL http cnx org content m12278 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Digital Example VI By National Instruments URL http cnx org content m12279 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Summary Tips and Tricks on Data Acquisition and Waveforms By National Instruments URL http cnx org content m12280 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Additional Exercises for Data Acquisition and Waveforms
263. p Complete the following steps to configure this Express VI to generate an analog output voltage a Select Analog Output gt gt Voltage for the measurement to make b Select Dev1 gt gt a00 for the physical channel and click the Finish button c In the Analog Output Voltage Task Configuration dialog box that appears con figure the Task Timing to Generate 1 Sample Change the output range minimum to 0 and maximum to 10 d Click the OK button to close the Analog Output Voltage Task Configuration dialog box This saves the settings specified for the task in the DAQ Assistant Express VI 3 Save the VI 4 Close the block diagram but leave the front panel open 10 10 3 Front Panel 1 Open the Voltmeter Section 10 5 VI 2 Configure the meter scale minimum to 0 0 and maximum to 10 0 10 10 4 Block Diagram 1 Display the block diagram for the Voltmeter VI and double click the DAQ Assistant Express VI to open the Analog Input Voltage Task Configuration dialog box 2 Right click Voltage in the Channel List section and select Change Physical Channel Select ail for the channel because you wired the DAQ signal accessory to output a voltage on Analog Out CHO and acquire the voltage from Analog In CH1 3 Select No Scale from the Custom Scaling pull down menu 208 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS 4 Change the voltage range to 0 to 10 5 Click the OK button to close the dialog box 6 Display the front panel and run the Vol
264. palette on the block diagram When you place this Express VI on the block dia gram the DAQ Assistant configuration dialog box appears a Select Analog Input Voltage for the type of measurement to make b Select Dev1 gt gt ai0 or Dev2 gt gt ai0 for the physical channel and click the Finish button c You must multiply the temperature by 100 to convert it from voltage to Celsius On the Settings tab select Custom Scaling gt Create New Select a Linear scale Name the scale Temperature Enter a slope scale of 100 Click the OK button d Set min 0 Set max 100 e Select the Acquire 1 Sample option on the Task Timing tab Click the OK button NoTE If you do not have a DAQ device with a temperature sensor connected to your computer use the Demo Read Voltage VI located in the C Exercises LabVIEW Basics I directory g EEN Place the Convert from Dynamic Data Express VI located on the Functions gt Signal Manipulation palette on the block diagram This VI converts 70 CHAPTER 3 MODULAR PROGRAMMING the dynamic data type In the configuration dialog box select Single scalar in the Resulting data type listbox CF 4 Place the Convert C to F VI on the block diagram Select Functions gt All Functions gt gt Select a VI navigate to C Exercises LabVIEW Basics I Convert C to F vi This VI converts the Celsius readings to Fahrenheit i Place the Select function located on the Functions gt Arithmetic amp Comparison gt gt Expr
265. pg 65 to redraw the border 5 Create the icon in Figure 3 7 i Icon Editor File Edit Help Copy From Black amp White 16 Colors C Show Terminals Figure 3 7 66 CHAPTER 3 MODULAR PROGRAMMING aA Double click the Text tool shown in pg 66 and change the font to Small Fonts b Use the Text tool to click the editing area where you will begin typing c Type C and F While the text is active you can move the text by pressing the arrow keys Atal Use the Pencil tool shown in pg 66 to create the arrow NoTE To draw horizontal or vertical straight lines press the lt Shift gt key while you use the Pencil tool to drag the cursor e Use the Select tool and the arrow keys to move the text and arrow you created f Select the B amp W icon and click the 256 Colors button in the Copy from section to create a black and white icon which LabVIEW uses for printing unless you have a color printer g Select the 16 Colors icon and click the 256 Colors button in the Copy from section h When you complete the icon click the OK button to close the Icon Editor dialog box The icon appears in the upper right corner of the front panel and block diagram LL Right click the icon on the front panel and select Show Connector from the shortcut menu to define the connector pane terminal pattern LabVIEW selects a default connector pane pattern based on the number of controls and indicators on the front panel For example this front p
266. place File VI passes the refnum and error cluster to the Write File function which writes the data to disk When the Write File function finishes execution it passes the refnum and error cluster to the Close File function which closes the file The Simple Error Handler VI examines the error cluster and displays a dialog box if an error occurred If an error occurs in one node subsequent nodes do not execute and the VI passes the error cluster to the Simple Error Handler VI 9 8 File Writer VI Exercise 9 3 9 8 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 9 15 174 CHAPTER 9 STRINGS AND FILE I O The measurementis l C Exercises LabvIEW q Basics I demofile txt gt Figure 9 15 a Place a path indicator located on the Controls gt gt Text Indicators palette on the front panel This indicator displays the path for the data file you create b Right click the String to Write control and select Visible Items gt gt Scrollbar from the shortcut menu to display a scrollbar 9 8 2 Block Diagram 1 Build the block diagram shown in Figure 9 16 File Path Prompt nter Filename Simple Error Handler vi Open Create Replace File vi String to Write Create String vi Unit to Write Figure 9 16 BF H a Place the Create String VI from the previous exercise on the block diagram Select Functions gt All Functions gt Select a VI and navigate to C Exercises
267. pular because most computers have one or more serial ports so no extra hardware is needed other than a cable to connect the instrument to the computer or two computers together 230 CHAPTER 11 INSTRUMENT CONTROL Figure 11 12 1 RS 232 Instrument 2 RS 232 Cable 3 Serial Port Serial communication requires that you specify the following four parameters e The baud rate of the transmission e The number of data bits encoding a character e The sense of the optional parity bit e The number of stop bits Each transmitted character is packaged in a character frame that consists of a single start bit followed by the data bits the optional parity bit and the stop bit or bits Figure 11 13 shows a typical character frame encoding the letter m Idle Start Data Parity Stop Idle Bit Bits Bit Bits Space Mark LL Bit Time ft Character Frame Figure 11 13 Baud rate is a measure of how fast data are moving between instruments that use serial com munication RS 232 uses only two voltage states called MARK and SPACE In such a two state 231 coding scheme the baud rate is identical to the maximum number of bits of information including control bits that are transmitted per second MARK is a negative voltage and SPACE is positive Figure 11 13 shows how the idealized signal looks on an oscilloscope The following is the truth table for RS 232 Signal gt 3V 0 Signal gt 3V 1 The ou
268. r palette include the components of information shown in Figure 6 13 error in no error error out error in no error error out Figure 6 13 e status is a Boolean value that reports True if an error occurred Most VIs functions and structures that accept Boolean data also recognize this parameter For example you can wire an error cluster to the Boolean inputs of the Stop Quit LabVIEW or Select functions If an error occurs the error cluster passes a True value to the function e code is a 32 bit signed integer that identifies the error numerically A non zero error code coupled with a status of False signals a warning rather than a fatal error e source is a string that identifies where the error occurred Use the error cluster controls and indicators to create error inputs and outputs in subVIs 111 6 5 3 Explain Error When an error occurs right click within the cluster border and select Explain Error from the shortcut menu to open the Explain Error dialog box The Explain Error dialog box contains information about the error The shortcut menu includes an Explain Warning option if the VI contains warnings but no errors You also can access the Explain Error dialog box from the Help gt gt Explain Error menu 6 5 4 Using While Loops for Error Handling You can wire an error cluster to the conditional terminal of a While Loop to stop the iteration of the While Loop Figure 6 14 When you wire the error cluster to the co
269. raat Aoki ek eit ois Lees 93 5 3 Array Munctions erei re had Bi ont Cees Oa Ree Od eae oa 94 5A Polymorphism vic aie igats heineda dienes yaaa anand ere E TAANE anata 96 5 5 Anar Exercise VI raira EN T Sle Ree eae dada ee eee ae ee ies 97 5 6 Summary Tips and Tricks on Arrays 0 0 cece een eee eee e ence eens 98 5 7 Additional Exercises for Arrays 0 0 0 ieee teen teen ene nes 99 6 Clusters Gal ClUSters einni ei e eee ean a a a Masada E EA E a E 101 6 2 Cluster PUN TONS r eae a a oe E aes aa a A ee OAE 103 6 3 Cluster Exercise VE nc cc as pate e E a dhe ET E A EA EEE See 105 634 Cluster Scaling VI nosat ersa joes tei EAR E EAA AEAEE AA AAA EA 108 6 5 Error Clishers erena aeie ENEE ten AE NEAN EEE TEE deen EN 109 6 6 Summary Tips and Tricks on Clusters 00 ccc cece eee nee eee een need 111 7 Plotting Data 7 1 Waveform Charts seh 2s ao Gane fees Maes E a n a ao ta eed Se aes 113 7 2 Temperature Monitor VI 2 dscns doce pad Seep ne Pie hehe ae Pie eat deg faa eee ds 115 7 3 Temperature Running Average VI 0 icc ceecenentt ene n ent e tena nes 121 7 4 Waveform and XY Graphs 0 00 cee cece cece E eben teen etna es 125 7 5 Graph Wavetorm7Array V Py ccrurs dire tance re tiv chee ys Geka oe Rd eee ing ete 127 7 6 Temperature Analysis VI 0 ccc etenen tet nent e te nen ene 132 Tt Graph Circle VIL inr hesydaeteeting oe dane et Oa eae achelee al dann EN eyed otek 135 8 Int
270. ram as expandable nodes with icons surrounded by a blue field Icons for VIs have white backgrounds and icons for functions have pale yellow backgrounds By default most functions and VIs on the block diagram appear as icons that are not expandable unlike Express VIs 2 4 2 1 Express VIs Use Express VIs for common measurement tasks Express VIs are nodes that require minimal wiring because you configure them with dialog boxes You can save the configuration of an Express VI as asubVI Refer to Building the Block Diagram of the LabVIEW User Manual for more information about creating subVIs from Express VIs 2 4 2 2 VIs When you place a VI on the block diagram LabVIEW considers the VI to be a subVI When you double click a subVI its front panel and block diagram appear rather than a dialog box in which you can configure options The front panel includes controls and indicators The block diagram includes wires front panel icons functions possibly subVIs and other LabVIEW objects The upper right corner of the front panel and block diagram displays the icon for the VI This is the icon that appears when you place the VI on the block diagram You can create a VI to use as a subVI Refer to Modular Programming Section 3 1 for more information about creating VIs and configuring them as subVIs 2 4 2 3 Functions Functions are the fundamental operating elements of LabVIEW Functions do not have front panels or block diagrams but do hav
271. rations within a loop use multiple shift registers to store the data values from those different processes in the structure The block diagram in Figure 4 13 uses two initialized shift registers Figure 4 13 4 5 2 Stacked Shift Registers To create a stacked shift register right click the left terminal and select Add Element from the shortcut menu Stacked shift registers let you access data from previous loop iterations Stacked shift registers remember values from previous iterations and carry those values to the next iterations Stacked shift registers as shown in Figure 4 14 can only occur on the left side of the loop because the right terminal only transfers the data generated from the current iteration to the next iteration 85 Figure 4 14 If you add two more elements to the left terminal values from the last three iterations carry over to the next iteration with the most recent iteration value stored in the top shift register The second terminal stores the data passed to it from the previous iteration and the bottom terminal stores data from two iterations ago 4 5 3 Feedback Nodes The Feedback Node shown in pg 85 appears automatically in a For Loop or While Loop if you wire the output of a subVI function or group of subVIs and functions to the input of that same VI function or group Like a shift register the Feedback Node stores data when the loop completes an iteration sends that value to the next iteratio
272. rder to convert the voltage into degrees Celsius it is necessary to multiply the voltage by 100 You could multiply the output of the DAQ Assistant Express VI by 100 or configure the DAQ Assistant Express VI to automatically scale the voltage Using the capabilities that exist within the VI reduces block diagram clutter 1 Double click the DAQ Assistant to display the Analog Input Voltage Task Configura tion dialog box 2 Select Create New in the Custom Scaling pull down menu 3 Select Linear and name the scale temperature Click the Finish button 4 A dialog box appears where you can scale the data by a multiplier and an offset a Set the slope to 100 and the Scaled Units to Celsius b Click the OK button to close the dialog box 5 In the Analog Input Voltage Task Configuration dialog box set the minimum input range to 0 set the maximum input range to 100 and click the OK button to return to the block diagram 6 Run the VI The temperature displays in the meter The temperature values are 100 times greater than the voltage values Change the meter scale to see the correct values 7 Stop the VI Save the VI but do not close it You will use the VI in the Measurement Averaging VI Section 10 6 exercise 10 6 Measurement Averaging VI Exercise 10 3 1 Run the Voltmeter VI Section 10 5 2 Introduce noise into the temperature measurement by changing the Temp Sensor Noise switch on the DAQ Signal Accessory to the ON position Th
273. read offset chars tern L mark after read chars max characters row no lim i i transpose MOF eee delimiter Tab Read From Spreadsheet File vi Reads a specified number of lines or rows from a numeric text file beginning at a specified character offset and converts the data to a 2D single precision array of numbers Click here for more help Figure 2 30 Detailed Context Help Window Click the Lock Context Help button to lock the current contents of the Context Help window When the contents are locked moving the cursor over another object does not change the contents of the window To unlock the window click the button again You also can access this option from the Help menu If a corresponding LabVIEW Help topic exists for an object the Context Help window describes a blue Click here for more help link appears in the Context Help window Also the More Help button shown at left is enabled Click the link or the button to display the LabVIEW Help for more information about the object 2 8 1 2 LabVIEW Help You can access the LabVIEW Help either by clicking the More Help button in the Context Help window selecting Help gt gt VI Function amp How To Help or clicking the blue Click here for more help link in the Context Help window The LabVIEW Help contains detailed descriptions of most palettes menus tools VIs and functions The LabVIEW Help also includes step by step instructions for using La
274. rent Number and Number of iter ations indicators 4 2 4 Block Diagram 1 Build the block diagram in Figure 4 6 Round To Nearest Current Number Mumber to Match Increment of iterations Figure 4 6 Poy a oft Place the Random Number 0 1 function located on the Functions gt gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram This function produces a random number between 0 and 1 oe Place the Multiply function located on the Functions gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram This function mul tiplies the random number by 10 000 to produce a random number between 0 and 10 000 c 10000 00 Right click the y terminal of the Multiply function select Create gt gt Constant from the shortcut menu type 10000 and press the lt Enter gt key to create a numeric constant all Place the Round To Nearest function located on the Functions gt gt Arithmetic amp Comparison gt gt Express Numeric palette on the block diagram This function rounds the random number to the nearest integer 77 78 CHAPTER 4 REPETITION AND LOOPS oe Place the Not Equal function located on the Functions gt Arithmetic amp Comparison gt gt Express Comparison palette on the block diagram This function compares the random number with Number to Match and returns True if the numbers are not equal otherwise it returns False Ed Place the While Loop located on the
275. rface type GPIB VXI ASRL the address of the device logical address or primary address and the VISA session type INSTR or Event The instrument descriptor is similar to a telephone number the resource is similar to the person with whom you want to speak and the session is similar to the telephone line Each call uses its own line and crossing these lines results in an error The table pg 221 shows the proper syntax for the instrument descriptor Interface Syntax Asynchronous serial ASRL board INSTR GPIB GPIB board primary address secondary address INSTR VXI instrument through VXI board VXI logical address INSTR embedded or MXIbus controller GPIB VXI controller GPIB VX board GPIB VXI primary address VXI logical ad dress INSTR You can use an alias you assign in MAX instead of the instrument descriptor Mac OS Edit the visaconf ini file to assign a VISA alias UNIX Use the visaconf utility 222 CHAPTER 11 INSTRUMENT CONTROL If you choose not to use the Instrument I O Assistant to automatically generate code for you you can still write a VI to communicate with the instrument The most commonly used VISA communication functions are the VISA Write and VISA Read functions Most instruments require you to send information in the form of a command or query before you can read information back from the instrument Therefore the VISA Write function is usually followed by a VI
276. rformance including faster single point analog I O and multithreading and a simpler API for creating DAQ applications using fewer functions and VIs than earlier versions of NI DAQ Traditional NI DAQ and NI DAQmx support different sets of devices Refer to the National Instruments Web site for the list of supported devices This lesson describes the NI DAQmx API Figure 10 1 shows the measurement software framework Your Measurement Application Application Development Environment ADE LabVIEW LabWindows CVI Measurement Studio or other software Configuration Application Programming Interface API Measurement NI DAQmx Traditional NI DAQ NI SWITCH amp Automation and so on Explorer MAX DAQ Configuration Driver Engines and Algorithms Assistant NI DAQm x Traditional NI DAQ VISA and so on Physical Components in a Typical Measurement System Data Acquisition and Modular Instrumentation Signal Conditioning Sensors Real World Signals Figure 10 1 When programming an NI measurement device you can use NI application software such as LabVIEW LabWindows CVI and Measurement Studio or open ADEs that support calling dynamic link libraries DLLs through ANSI C interfaces Using NI application software greatly reduces development time for data acquisition and control applications regardless of which program ming environment you use http ni com daq 189 e LabVIEW supports data acquisition with the La
277. right National Instruments License http creativecommons org licenses by 1 0 Module Cluster Scaling VI By National Instruments URL http cnx org content m12230 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Error Clusters By National Instruments URL http cnx org content m12231 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Summary Tips and Tricks on Clusters By National Instruments URL http cnx org content m12232 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Waveform Charts By National Instruments URL http cnx org content m12233 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Temperature Monitor VI 269 270 By National Instruments URL http cnx org content m12234 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Temperature Running Average VI By National Instruments URL http cnx org content m12235 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Waveform and XY Graphs By National Instruments URL http cnx org content m12236 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Grap
278. riple click Plot 0 in the chart legend and change the label to Temp d The temperature sensor measures room temperature Use the Labeling tool to double click 10 0 in the y axis and type 90 to rescale the chart Leave the x axis in its default state e Change 10 0 in the y axis to 70 f Label the y axis Temp Deg F and the x axis Time sec 7 2 2 Block Diagram 1 Select Window gt gt Show Block Diagram to display the block diagram 2 Enclose the two terminals in a While Loop as shown in the block diagram Fig ure 7 6 Temperature History fren Wait Until Next ms Multiple millisecond multiple A aa E m Figure 7 6 3 Right click the conditional terminal and select Continue if True 4 Wire the objects as shown in Figure 7 6 a Place the Thermometer VI on the block diagram Select Functions gt gt All Functions gt gt Select a VI and navigate to C Exercises LabVIEW Basics I Thermometer vi This subVI returns one temperature measurement from the temperature sensor NOTE Use the Demo Thermometer VI if you do not have a DAQ device available h ol Place the Wait Until Next ms Multiple function located on the Functions gt All Functions gt Time amp Dialog palette on the block diagram Baal Right click the millisecond multiple input of the Wait Until Next ms Mul tiple function select Create gt gt Constant from the shortcut menu type 500 and press the lt Enter gt key The numeric constant specifi
279. rison gt gt Express Numeric palette to generate the data e Use the Bundle function located on the Functions gt gt All Functions gt gt Cluster palette to group the random data with the averaged data before plotting Save the VI as Random Average vi in the C Exercises LabVIEW Basics I directory Exercise 7 8 Build a VI that continuously measures the temperature once per second and displays the temperature on a scope chart If the temperature goes above or below limits specified with front panel controls the VI turns on a front panel LED The chart plots the temperature and the upper and lower temperature limits You should be able to set the limit from the following front panel Save the VI as Temperature Limit vi in the C Exercises LabVIEW Basics I directory 141 Exercise 7 9 Modify the VI you created in Exercise 7 8 to display the maximum and minimum values of the temperature trace TIP Use shift registers and two Max amp Min functions located on the Functions gt gt All Functions gt gt Comparison palette Select File gt Save As to save the VI as Temp Limit max min vi in the C Exercises LabVIEW Basics I directory 142 CHAPTER 7 PLOTTING DATA Chapter 8 Making Decisions in a VI 8 1 Making Decisions with the Select Function Every VI described in this course so far has executed in an order dependent on the flow of data There are cases when a decision must be made in a program For example if a happens do b
280. rows x 3columns The first column contains data for a sine waveform the second column contains data for a noise wave form and the third column contains data for a cosine waveform The VI plots each column in a graph and displays the data in a table 2 When the Choose file to write dialog box appears save the file as wave txt in the C Exercises LabVIEW Basics I directory and click the OK button Later you will examine this file 9 6 3 Block Diagram 1 Display and examine the block diagram Figure 9 10 for this VI Sine Pattern vi Build Array Waveform Graph hes Uniform White Noise vi Write To Spreadsheet File vi precision Figure 9 10 The Sine Pattern VI located on the Functions gt All Functions gt gt Analyze gt Signal Processing gt gt Signal Generation palette returns a numeric array of 128 elements containing a sine pattern The constant 90 0 in the second instance of the Sine Pattern VI specifies the phase of the sine pattern or cosine pattern Races FY sees 5 sere The Uniform White Noise VI located on the Functions gt All Functions gt Analyze gt Signal Processing gt gt Signal Generation palette returns a nu meric array of 128 elements containing a noise pattern iti The Build Array function located on the Functions gt All Functions gt Array palette builds the 2D array from the sine array noise array and cosine array as shown in Figure 9 11 Sine Array Noise Array
281. s by 1 0 Module Icons and Connector Panes By National Instruments URL http cnx org content m12205 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Convert C to F VI By National Instruments URL http cnx org content m12207 latest Copyright National Instruments ATTRIBUTIONS 267 License http creativecommons org licenses by 1 0 Module Using SubVIs By National Instruments URL http cnx org content m12208 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Thermometer VI By National Instruments URL http cnx org content m12209 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Creating a SubVI from Sections of a VI By National Instruments URL http cnx org content m12210 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Summary Tips and Tricks on Modular Programming By National Instruments URL http cnx org content m12211 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module While Loops By National Instruments URL http cnx org content m12212 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Auto Match VI By National Instruments URL http cnx org cont
282. s in the 2D array set the plot locations for the colors The intensity graph or chart can display up to 256 discrete colors Figure 7 27 shows a 4 x 3 array plotted on an intensity graph The graph transposes the array elements eo Jo oom fo fo io io oo 2o o eoo 3 00 ooo Figure 7 27 7 8 1 Intensity Graph and Chart Options The intensity graphs and charts share many of the optional parts of the waveform graphs and charts which you can show or hide by right clicking the graph or chart and selecting Visible Items from the shortcut menu In addition because the intensity graphs and charts include color as a third dimension a scale similar to a color ramp control defines the range and mappings of values to colors Figure 7 28 shows the elements of an intensity graph 138 CHAPTER 7 PLOTTING DATA Intensity Graph Time Frequency Yn Amplitude J 223 0 00 0 00 0 00 0 00 0 00 0 00 fr Figure 7 28 Use the Operating or Positioning tools to right click the marker next to the color ramp select Marker Color from the shortcut menu to change the color associated with a marker and select the color you want from the color picker that appears To add markers to a color ramp right click the color ramp and select Add Marker from the shortcut menu To change the value of an arbitrary marker on a color ramp use the Operating tool to drag the marker to the value you want or use the Labeling tool to
283. s not wired the run arrow is broken However in this case the run arrow is not broken i gt Auto Index Input vi Block Diagram DER File Edit Operate Tools Browse Window Help LIR elne ke Figure 5 6 If you enable auto indexing for more than one tunnel or if you wire the count terminal the count changes to the smaller of the two For example if you wire an array with 10 elements to a For Loop input tunnel and you set the count terminal to 15 the loop executes only 10 times 5 3 Array Functions Use the Array functions located on the Functions gt gt All Functions gt gt Array palette to create and manipulate arrays The more commonly used array functions include the following 95 e Array Size Returns the number of elements in each dimension of an array If the array is n dimensional the size output is an array of n elements For example the Array Size function returns a size of 3 for the following array 7 4 2 vE e Initialize Array lH Creates an n dimensional array in which every element is initialized to the value of element Resize the function to increase the number of dimensions of the output array For example the Initialize Array function returns the following array for an element of 4 a dimension size of 3 and one dimension size terminal 41414 e Array Subset H Returns a portion of an array starting at index and containing length elements For example if
284. samples of the sine wave Notice if the Enable switch is off the table does not record the mean values 8 Stop the VI 9 Experiment with properties of the table by using the Table Properties dialog box For example try changing the number of columns to one 10 Save and close this VI 2 10 Debugging Techniques If a VI does not run it is a broken or nonexecutable VI The Run button often appears broken shown at left when you create or edit a VI If it is still broken when you finish wiring the block diagram the VI is broken and will not run Generally this means that a required input is not wired or a wire is broken 2 10 1 Finding Errors Click the broken Run button or select Windows gt gt Show Error List to display the Error list window which lists all the errors Double click an error description to display the relevant block diagram or front panel and highlight the object that contains the error 2 10 2 Execution Highlighting View an animation of the execution of the block diagram by clicking the Highlight Execution button shown in pg 48 Execution highlighting shows the flow of data on the block diagram from one node to another using bubbles that move along the wires Use execution highlighting in conjunction with single stepping to see how data move from node to node through a VI NOTE Execution highlighting greatly reduces the speed at which the VI runs 2 10 3 Single Stepping Single step through a VI to view each
285. scalar output directly to a waveform chart The data type in the waveform chart in Figure 7 3 terminal matches the input data type Scope Chart Figure 7 3 Waveform charts can display multiple plots Bundle multiple plots together using the Bundle function located on the Cluster palette In Figure 7 4 the Bundle function bundles the outputs of the three VIs to plot on the waveform chart 115 Scope Chart Figure 7 4 The waveform chart terminal changes to match the output of the Bundle function To add more plots use the Positioning tool to resize the Bundle function 7 2 Temperature Monitor VI Exercise 7 1 Complete the following steps to build a VI that measures temperature and displays it on a waveform chart 7 2 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 7 5 Power Temperature History Temp bon OFF I I I 1 1 1 j 4 6 8 10 12 14 16 18 20 Time sec Figure 7 5 a Place the vertical toggle switch located on the Controlss gt Buttons amp Switches palette on the front panel Label this switch Power You use the switch to stop the acquisition b Place a waveform chart located on the Controls gt Graph Indicators palette on the front panel Label the chart Temperature History The waveform chart displays the temperature in real time 116 CHAPTER 7 PLOTTING DATA c A The waveform chart legend labels the plot Plot 0 Use the Labeling tool to t
286. se execution after all nodes on the block diagram execute When a VI pauses at a breakpoint LabVIEW brings the block diagram to the front and uses a marquee to highlight the node or wire that contains the breakpoint LabVIEW highlights breakpoints with red borders for nodes and block diagrams and red bullets for wires When you move the cursor over an existing breakpoint the black area of the Breakpoint tool cursor appears white Use the Breakpoint tool to click an existing breakpoint to remove it 2 11 Debug Exercise Main VI Exercise 2 4 Complete the following steps to load a broken VI and correct the error Use single stepping and execution highlighting to step through the VI 2 11 1 Front Panel 1 Select Files gt Open and navigate to C Exercises LabVIEW Basics I to open the Debug Exercise Main VI The front panel shown in Figure 2 35 appears Random Number Multiply Result Final Result Figure 2 35 Notice the Run button on the toolbar appears broken shown in pg 49 indicating that the VI is broken and cannot run 2 11 2 Block Diagram 1 Select Window gt gt Show Block Diagram to display the block diagram shown in Fig ure 2 36 50 CHAPTER 2 INTRODUCTION Random Number Multiply Result Final Result Figure 2 36 Poy The Random Number 0 1 function located on the Functions gt gt Arithmetic amp Comparison gt gt Express Numeric palette produces a random number between 0 and 1 The Multiply function loca
287. selecting Examples from the shortcut menu 2 9 Reduce Samples VI Exercise 2 3 In the following exercises you will open a blank VI and add Express VIs and structures to the block diagram to build a new VI When you complete the exercise the front panel of the VI will appear similar to the Figure 2 31 Reduce Samples vi Front Panel File Edit Operate Tools Browse Window Help J 1 75782 Enable t v g 2 a i b er 1 1 w 1 0 0E 0 2 0E 2 40E 2 6 0E 2 8 0E 2 1 0 1 Time Figure 2 31 2 9 1 Opening a Blank VI If no template is available for the task you want to create you can start with a blank VI and add Express VIs to accomplish the specific task Complete the following steps to open a blank VI http www ni com zone 1 In the LabVIEW dialog box click the arrow on the New button and select Blank VI from the shortcut menu or press the Ctrl N keys to open a blank VI Notice that a blank front panel and block diagram appear eH If the Functions palette is not visible right click any blank space on the block diagram to display the Functions palette Click the thumbtack shown in pg 43 in the upper left corner of the Functions palette to place the palette on the screen NOTE You can right click a blank space on the block diagram or the front panel to display the Functions or Controls palettes 2 9 2 Adding an Express VI that Simulates a Signal Complete the following steps to
288. sition and Waveforms Section 9 7 for more information about the Write LabVIEW Measurement File and Read LabVIEW Measurement File Express VIs 9 11 Temperature Logger VI Exercise 9 5 9 11 1 Block Diagram 1 Open the Temperature Control VI Section 8 4 and save it as Temperature Logger vi in the C Exercises LabVIEW Basics I directory You do not need to modify the front panel 2 Open and modify the block diagram as shown in Figure 9 24 Resize the While Loop to add space at the top for the file I O operations 181 prompt Enter File Name Function open 0 create or replace Y Build Text Compound Arithmetic Divide Bundle Temperature History Warning ANALYSIS 6 Wait Until Next Power te Tick Multiple a Figure 9 24 as Place the Open Create Replace File VI located on the Functions gt All Functions gt gt File I O palette on the block diagram Right click the prompt input select Create Constant from the shortcut menu and type Enter File Name in the constant Right click the function input select Create Constant from the shortcut menu and click the constant with the Operating tool to select create or replace TEE A Place the Get Date Time String function located on the Functions gt All Functions gt Time amp Dialog palette on the block diagram This function returns the time in string format when the temperature measurement was taken Right click the want seconds
289. space on the front panel The terminal changes to the data type color of the control to indicate that you connected the terminal You also can select the control or indicator first and then select the terminal 63 Note Although you use the Wiring tool to assign terminals on the connector pane to front panel controls and indicators no wires are drawn between the connector pane and these controls and indicators 3 3 Convert C to F VI Exercise 3 1 Complete the following steps to create a VI that takes a number representing degrees Celsius and converts it to a number representing degrees Fahrenheit 3 3 1 Front Panel 1 Open a blank VI and begin building the following front panel degC deg F dfo 0 Figure 3 5 2 Optional Select Window gt gt Tile Left and Right to display the front panel and block diagram side by side or Window gt gt Tile Up and Down to display the front panel and block diagram stacked 3 Create a numeric control You will use this control to enter the value for degrees Celsius a Select Controlss gt Numeric Controls to display the Numeric Controls palette If the Controls palette is not visible right click an open space on the front panel workspace to display it 2 Select the Numeric Control Move the control to the front panel and click to place the control oe Type deg C in the label of the control and press the lt Enter gt key or click the Enter button shown in pg 63 on the toolbar If
290. ssues with PC control of instrumentation e Type of connector pinouts on the instrument e Cables needed null modem number of pins male female e Electrical properties involved signal levels grounding cable length restrictions e Communication protocols used ASCII commands binary commands data format e Software drivers available 11 2 GPIB Communication and Configuration The ANSI IEEE Standard 488 1 1987 also known as General Purpose Interface Bus GPIB describes a standard interface for communication between instruments and controllers from various vendors such as scanners and film recorders It contains information about electrical mechanical and functional specifications GPIB is a digital 8 bit parallel communication interface with data transfer rates of 1 Mbyte s and higher using a three wire handshake The bus supports one System Controller usually a computer and up to 14 additional instruments The ANSI IEEE Standard 488 2 1992 extends IEEE 488 1 by defining a bus communication protocol a common set of data codes and formats and a generic set of common device commands GPIB instruments offer test and manufacturing engineers the widest selection of vendors and instruments for general purpose to specialized vertical market test applications GPIB instruments have traditionally been used as stand alone benchtop instruments where measurements are taken by hand The GPIB is a 24 conductor parallel bus that consists of ei
291. stries Association 231 environment 2 2 5 Error Clusters 6 5 109 6 5 109 exercise 2 5 27 2 7 38 2 9 42 2 11 49 5 5 97 5 7 99 6 3 105 6 4 108 7 2 115 7 3 121 7 7 135 7 9 138 7 11 140 8 3 148 8 4 150 8 6 154 8 8 156 9 3 162 9 8 173 9 9 175 9 11 180 9 12 184 9 14 186 eee 10 6 199 10 10 205 10 12 209 10 14 210 10 16 212 11 3 216 11 5 219 11 7 222 11 10 227 11 12 234 11 14 240 11 16 243 12 3 247 12 5 250 12 7 253 exercise VI 10 8 201 Exercises 1 1 1 Express Filter VI 2 7 38 Feedback Node 83 formula node 8 6 154 8 7 155 8 8 156 front panel 5 2 3 19 2 3 19 12 2 247 functions 5 3 94 General Purpose Interface Bus 213 GPIB 11 2 213 213 11 3 216 Graph Circle VI 7 7 135 INDEX Graphical 1 1 1 I O 9 4 165 9 5 167 9 13 185 icon 5 indexing 5 2 93 Info labview 258 Instrument Control 11 1 213 11 15 243 Instrument Driver 11 9 224 Instrument Drivers 11 8 224 Instrument I O 11 4 218 11 5 219 Instrument I O Assistant 11 4 218 11 5 219 Intensity Graph Example VI 7 9 138 IO 9 7 171 LabVIEW 1 1 1 2 1 5 2 2 5 2 3 19 2 4 22 2 5 27 2 6 37 2 7 3
292. sure multivendor interoperability for VXI systems and to reduce the development time for an operational system A key part of these goals was to develop a new standard for instrument drivers soft front panels and I O interface software The term VXIplug amp play has come to indicate the conformity of hardware and software to these standards In directing their efforts toward software standardization VXIplug amp play members identified the following set of guiding principles e Maximize ease of use and performance e Maintain long term compatibility with the installed base e Maintain multivendor open architectures e Maximize multiplatform capability e Maximize expandability and modularity in frameworks e Maximize software reuse e Standardize the use of system software elements 221 e Treat instrument drivers as part of the instrument e Accommodate established standards e Maximize cooperative support of users VISA is the VXIplug amp play I O software language that is the basis for the software standardiza tion efforts of the VXIplug amp play Systems Alliance VISA by itself does not provide instrumentation programming capability It is a high level API that calls in low level drivers VISA can control VXI GPIB serial or computer based instruments and makes the appropriate driver calls depend ing on the type of instrument used When debugging VISA problems remember this hierarchy An apparent VISA problem could be an installatio
293. sures temperature using the temperature sensor on the DAQ Signal Accessory d Click the OK button 2 Document the thermometer indicator and switch control so descriptions appear in the Context Help window when you move the cursor over the objects and tip strips appear on the front panel or block diagram when you move the cursor over the objects while the VI runs e Right click the thermometer indicator and select Description and Tip from the shortcut menu e Type the following description for the thermometer in the Description text box Displays the temperature measurement e Type temperature in the Tip text box e Click the OK button 69 e Right click the switch control and select Description and Tip from the shortcut menu e Type the following description for the vertical switch control in the Description text box Determines the scale Fahrenheit or Celsius to use for the temperature measurement e Type scale C or F in the Tip text box e Click the OK button 3 Select Help gt gt Show Context Help to display the Context Help window 4 Move the cursor over the front panel objects and the VI icon to display the descriptions in the Context Help window 3 5 3 Block Diagram 1 Select Window gt gt Show Block Diagram to display the block diagram Figure 3 9 fs DAQ Assistant data borers Temp Scale Temperature x Figure 3 9 2 E Place the DAQ Assistant Express VI located on the Functions gt gt Input
294. t convert 2D numeric arrays to 2D string arrays before you can display them in a table indicator The row and column headers are not automatically displayed as in a spreadsheet You must create 1D string arrays for the row and column headers 9 2 String Functions Use the String functions located on the Functions gt gt All Functions gt gt String palette to edit and ma nipulate strings on the block diagram String functions include the following e String Length Returns in length the number of characters bytes string including space characters For example the String Length function returns a length of 19 for the following string The quick brown fox e Concatenate Strings Concatenates input strings and 1D arrays of strings into a single output string For array inputs this function concatenates each element of the array Add inputs to the function by right clicking an input and selecting Add Input from the shortcut menu or by resizing the function For example concatenate the previous string with the following array of strings jumped over the lazy dog The Concatenate Strings function returns the following string The quick brown fox jumped over the lazy dog e String Subset Returns the substring of the input string beginning at offset and containing length number of characters The offset of the first character in string is 0 For example if you use the previous string as the input the Str
295. t numeric values single double or extended precision or complex numeric values single double or extended precision When you wire two or more numeric inputs of different representations to a function the function usually returns output in the larger or wider format The functions coerce the smaller representations to the widest representation before execution and LabVIEW places a coercion dot on the terminal where the conversion takes place For example the For Loop count terminal is a 32 bit signed integer If you wire a double precision floating point numeric to the count terminal LabVIEW converts the numeric to a 32 bit signed integer A coercion dot appears on the count terminal of the first For Loop as shown in Figure 4 9 81 double precision floating a point numeric value 32 bit signed integer Coercion Dot Figure 4 9 If you wire two different numeric data types to a numeric function that expects the inputs to be the same data type LabVIEW converts one of the terminals to the same representation as the other terminal LabVIEW chooses the representation that uses more bits If the number of bits is the same LabVIEW chooses unsigned over signed In the example in Figure 4 10 a 32 bit signed integer 132 and a double precision floating point numeric value DBL are wired to the Divide function The 32 bit signed integer is coerced since it uses fewer bits than the double precision floating point numeric value
296. tart trigger starts the acquisition The reference trigger establishes the reference point in a set of input samples Data acquired up to the reference point is pretrigger data Data acquired after the reference point is posttrigger data 10 5 Voltmeter VI Exercise 10 2 10 5 1 Front Panel 1 Open a blank VI and build the front panel shown in Figure 10 8 Voltage Figure 10 8 a Place the Meter located on the Controlss gt Numeric Indicators palette on the front panel Configure the meter scale for 0 0 to 0 4 Use the Labeling tool to double click 10 0 and type 0 4 You might need to enlarge the meter to display the scale as shown in the example Figure 10 8 b Place a Vertical Toggle Switch located on the Controlss gt Buttons amp Switches palette on the front panel Configure the toggle switch to a default value of False and a mechanical action of Latch When Pressed c Create two free labels Off and On using the Labeling tool 198 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS 10 5 2 Block Diagram 1 Build the block diagram shown in Figure 10 9 r Unbundle By Name i pe status DAQ Assistant voltage Figure 10 9 a Place the DAQ Assistant Express VI located on the Functions gt gt Input palette on the block diagram Configure this VI to read an analog input channel and return the voltage e Select Analog Input gt Voltage for the measurement to make e Select Dev1 gt gt ai0 for the physical channel e
297. te the following steps to configure the counter to perform event counting a Select Digital I1 O gt gt Port Output for the measurement to make b Select Dev1 gt gt port0 for the physical channel and click the Finish button c In the Digital Output Port Task Configuration dialog box that appears select Invert All Lines In Port because the LEDs use negative logic d Click the OK button to close the configuration dialog box All of the settings specified for the task are saved internally in the DAQ Assistant VI t Place the Build Array function located on the Functions gt All Functions gt gt Array palette on the block diagram Wire the Build Array function to the DAQ Assistant Complete the wiring of the block diagram The Boolean buttons on the front panel are stored in an array to simplify the code The Array Subset function extracts only the first four elements in the array The output of the array subset needs to be reversed because element 0 of the array is the most significant bit The array is then converted to a number with the Boolean Array to Number function and converted into an array of one element This value is passed to the DAQ Assistant Express VI to write that value to the port 2 Save the VI 3 Display the front panel and run the VI Turn the Boolean LEDs on and off and observe the changes on the DAQ Signal Accessory A Stop and close the VI 10 15 Summary Tips and Tricks on Data Acquisition and Waveforms e M
298. ted on the Functions gt Arithmetic amp Comparison gt gt Express Numeric palette multiplies the random number by 10 0 The numeric constant located on the Functions gt Arithmetic amp Comparison gt gt Express Numeric palette is the number to multiply by the random number The De bug Exercise Sub VI located in the C Exercises LabVIEW Basics I directory adds 100 0 and calculates the square root of the value 2 Find and fix each error a Click the broken Run button to display the Error list window which lists all the errors b Select an error description in the Error list window The Details section describes the error and in some cases recommends how to correct the error c Click the Help button to display a topic in the LabVIEW Help that describes the error in detail and includes step by step instructions for correcting the error d Click the Show Error button or double click the error description to highlight the area on the block diagram that contains the error e Use the Error list window to fix each error 3 Select File gt gt Save to save the VI 4 Display the front panel by clicking it or by selecting Window gt gt Show Front Panel 2 11 3 Run the VI 1 Click the Run button to run the VI several times 2 Select Window gt gt Show Block Diagram to display the block diagram 3 Animate the flow of data through the block diagram oll Click the Highlight Execution button shown in pg 50 on the toolbar to en
299. tes using this method you cannot set the name of each subpalette or the exact location of the VIs or controls on the palettes 12 8 2 Creating and Editing Custom Palette Views To control the name of each subpalette and the exact location of the VIs and controls you add to the Controls and Functions palettes you must create a custom palette view LabVIEW includes two built in palette views Express and Advanced Select Toolss gt Advanced gt gt Edit Palette Views to create or edit custom palette views NoTE You cannot edit a built in palette view Refer to the LabVIEW User Manual and the LabVIEW Help for more information about palette views 12 9 Summary Tips and Tricks on Customizing VIs e Select Files gt VI Properties to configure the appearance and behavior of a VI You also can right click the VI icon on the front panel or block diagram and select VI Properties from the shortcut menu e If you want a single instance of the subVI to open its front panel when called right click the subVI and select SubVI Node Setup from the shortcut menu Place checkmarks in the Show Front Panel when called and Close afterwards if originally closed checkboxes e If you want every instance of the subVI to open its front panel when called select File gt gt VI Properties and select Window Appearance from the Category pull down menu Click the Customize button and place checkmarks in the Show Front Panel When Called and Close Afterwards if Originally C
300. the lt Ctrl N gt keys to open a blank VI 2 Create the following front panel 68 CHAPTER 3 MODULAR PROGRAMMING Temp Scale Temperature dc 100 E J deg F 60 60 40 20 0 Figure 3 8 a Place a thermometer located on the Controlss gt Numeric Indicators palette on the front panel ood Type Temperature in the label and press the lt Enter gt key or click the Enter button on the toolbar shown at left c Right click the thermometer and select Visible Items gt gt Digital Display from the shortcut menu to show the digital display for the thermometer d Place a vertical toggle switch control located on the Controls gt Buttons amp Switches palette on the front panel e Type Temp Scale in the label and press the lt Enter gt key or click the Enter button oA Use the Labeling tool shown in pg 68 to place a free label deg C next to the True position of the switch If you are using automatic tool selection double click the blank area of the front panel to begin typing a free label g Place a free label deg F next to the False position of the switch 3 5 2 User Documentation 1 Document the VI so a description appears in the Context Help window when you move the cursor over the VI icon a Select Files gt VI Properties to display the VI Properties dialog box b Select Documentation from the Category pull down menu c Type the following description for the VI in the VI description text box This VI mea
301. the Initialize VI returns a VISA session number The VISA session is a connection or link to a resource such as the instrument You do not need to display this value However each time you communicate with that device you must wire the VISA session input on the instrument driver VIs After you finish communicating with the instrument you use the Close VI to close all references or resources for the instrument Example 11 1 Example Instrument Driver Application The block diagram in Figure 11 9 initializes the instrument with the devsim alias uses a configuration VI to select a waveform uses two data VIs to read the waveform and the waveform scaling information closes the instrument and checks the error status Every application that uses an instrument driver has a similar sequence of events 227 Instr Descriptor NI DEYSIM NIDEVSIM Waveform NIDEVSIM Read NIDEVSIM Read NIDEVSIM Simple Error Initialize vi Select vi Waveform vi Waveform Scale vi Close vi Handler vi Figure 11 9 11 10 Voltage Monitor VI 11 10 1 Front Panel 1 Select Files gt New then select Template gt gt Frameworks gt gt Single Loop Application to open the Single Loop Application template VI 2 Build the front panel shown in Figure 11 10 VISA Resource Name Waveform Chart Volts DC Fay 5 devsim Fl 10 0 Min Voltage 0 14 Max Voltage 19 96 STOP 1 i 1 1 1 1 1 1 4 6 8 10 12 14 16 18 20 Time Figure 11 10
302. the case selector identifier in the center and decrement and increment buttons on each side Use the decrement and increment buttons to scroll through the available cases Wire an input value or selector to the selector terminal to determine which case executes You must wire an integer Boolean value string or enumerated type value to the selector terminal You can position the selector terminal anywhere on the left border of the Case structure If you wire a Boolean to the selector terminal the structure has a True case and a False case If you wire an integer string or enumerated type value to the selector terminal the structure can have up to 231 _ 1 cases You can specify a default case for the Case structure You must specify a default case to handle out of range values or explicitly list every possible input value For example if you specified cases for 1 2 and 3 but you get an input of 4 the Case structure executes the default case You can specify a default case for the Case structure You must specify a default case to handle out of range values or explicitly list every possible input value For example if you specified cases for 1 2 and 3 but you get an input of 4 the Case structure executes the default case Right click the Case structure border to add duplicate remove or rearrange cases and to select a default case 8 2 1 Selecting a Case The block diagram in Figure 8 2 is an example of the Thermometer VI Section 3 5
303. the loop The Wait Until Next ms Multiple function makes sure that each iteration occurs at certain intervals Use this function to add timing to loops The Wait ms function waits a set amount of time 89 Coercion dots appear where LabVIEW coerces a numeric representation of one terminal to match the numeric representation of another terminal Use shift registers on For Loops and While Loops to transfer values from one loop iteration to the next Create a shift register by right clicking the left or right border of a loop and selecting Add Shift Register from the shortcut menu To configure a shift register to carry over values to the next iteration right click the left terminal and select Add Element from the shortcut menu The Feedback Node stores data when the loop completes an iteration sends that value to the next iteration of the loop and transfers any data type Use the Feedback Node to avoid unnecessarily long wires 90 CHAPTER 4 REPETITION AND LOOPS Solutions to Exercises in Chapter 4 Solution to Exercise 4 1 This is an unsupported media type To view please see http cnx org content m12213 latest AutoMatch vi Chapter 5 Arrays 5 1 Arrays Arrays group data elements of the same type An array consists of elements and dimensions Elements are the data that make up the array A dimension is the length height or depth of an array An array can have one or more dimensions and as many as 231
304. tmeter VI 7 To acquire and display the voltage output run the Voltage Output VI The Voltage Output Figure 10 18 VI outputs the voltage in 0 5 V increments from 0 to 9 5 V When the For Loop executes its last iteration the VI outputs 0 V to reset the analog output channel Voltage Output 4 25 Figure 10 18 8 Close both VIs 10 11 Counters A counter is a digital timing device You typically use counters for event counting frequency measurement period measurement position measurement and pulse generation A counter contains the following four main components e Count Register Stores the current count of the counter You can query the count register with software e Source An input signal that can change the current count stored in the count register The counter looks for rising or falling edges on the source signal Whether a rising or falling edge changes the count is software selectable The type of edge selected is referred to as the active edge of the signal When an active edge is received on the source signal the count changes Whether an active edge increments or decrements the current count is also software selectable e Gate An input signal that determines if an active edge on the source will change the count Counting can occur when the gate is high low or between various combinations of rising and falling edges Gate settings are made in software e Output An output signal that generates pulses or a
305. tool to click an output terminal and select an element from the pull down menu You also can right click the output terminal and select the element from the Select Item shortcut menu For example if you use the Unbundle function with the cluster in Figure 6 6 it has four output terminals that correspond to the four controls in the cluster You must know the cluster order so you can associate the correct Boolean terminal of the unbundled cluster with the corresponding switch in the cluster In Figure 6 6 the elements are ordered from top to bottom starting with element 0 If you use the Unbundle by Name function you can have an arbitrary number of output terminals and access individual elements by name in any order 105 licant Cluster Unbundle Api Unbundle By Name p Name Company Name Figure 6 6 6 3 Cluster Exercise VI Exercise 6 1 6 3 1 Front Panel 1 Open a blank VI and build the front panel in Figure 6 7 Figure 6 7 a Place a stop button located on the Controlss gt Buttons amp Switches palette a numeric indicator located on the Controlss gt Numeric Indicators palette and a round LED located on the Controlss gt LEDs palette on the front panel 106 CHAPTER 6 CLUSTERS b Place a cluster located on the Controls gt gt All Controls gt Array amp Cluster palette on the front panel c Place a numeric control located on the Controlss gt Numeric Controls palette two vertical toggle s
306. tput signal level usually swings between 12 V and 12 V The dead area between 3 V and 3 V is designed to absorb line noise A start bit signals the beginning of each character frame It is a transition from negative MARK to positive SPACE voltage Its duration in seconds is the reciprocal of the baud rate If the instrument is transmitting at 9 600 baud the duration of the start bit and each subsequent bit is about 0 104 ms The entire character frame of eleven bits would be transmitted in about 1 146 ms Data bits are transmitted upside down and backwards That is inverted logic is used and the order of transmission is from least significant bit LSB to most significant bit MSB To interpret the data bits in a character frame you must read from right to left and read 1 for negative voltage and 0 for positive voltage This yields 1101101 binary or 6D hex An ASCII conversion table shows that this is the letter m An optional parity bit follows the data bits in the character frame The parity bit if present also follows inverted logic 1 for negative voltage and 0 for positive voltage This bit is included as a simple means of error handling You specify ahead of time whether the parity of the transmission is to be even or odd If the parity is chosen to be odd the transmitter then sets the parity bit in such a way as to make an odd number of ones among the data bits and the parity bit This transmission uses odd parity There are five
307. trigger rate e Action Status Contains two types of VIs Action VIs cause the instrument to initiate or terminate test and measurement operations Status VIs obtain the current status of the instrument or the status of pending operations An example of an action VI is Acquire Single Shot An example of a status VI is Query Transfer Pending e Data Transfers data to or from the instrument such as reading a measured waveform from the instrument or downloading a waveform to the instrument e Utility Performs a wide variety of functions such as reset self test error query and revision query e Close Terminates the communication channel to the instrument and deallocates the resources for that instrument All National Instruments instrument drivers are required to implement the following functions initialize close reset self test revision query error query and error message 226 CHAPTER 11 INSTRUMENT CONTROL 11 9 1 1 Application Examples LabVIEW also includes application example VIs that show how to use the component VIs to perform common tasks Typically this includes configuring triggering and returning measurements from an instrument An application example VI does not initialize or close the instrument driver These VIs are not intended to be a soft front panel for the instrument but rather to demonstrate some instrument driver capabilities and guide you in developing your own VI 11 9 2 Inputs and Outputs of Instrume
308. tructures to control the front panel objects The block diagram contains this code In some ways the block diagram resembles a flowchart Use LabVIEW to communicate with hardware such as data acquisition vision and motion control devices and GPIB PXI VXI RS 232 and RS 484 devices LabVIEW also has built in features for connecting your application to the Web using the LabVIEW Web Server and software standards such as TCP IP networking and ActiveX Using LabVIEW you can create test and measurement data acquisitions instrument control datalogging measurement analysis and report generation applications You also can create stand alone executables and shared libraries like DLLs because Lab VIEW is a true 32 bit compiler 2 2 LabVIEW Environment When you launch LabVIEW the navigation dialog box Figure 2 1 appears that includes introduc tory material and common commands 6 CHAPTER 2 INTRODUCTION lf LabVIEW File Edit Tools Help om dl Open 9 LabVIEW 7 e dl Figure 2 1 LabVIEW Dialog Box The LabVIEW dialog box includes the following components e A menu with standard items such as File gt Exit e A set of buttons for creating and opening VIs configuring data acquisition devices and finding helpful information Click the New button to create a new VI Click the arrow on the New button to choose to open a blank VI or to open the New dialog box Click the Open button to open an existing
309. ts of file I O Use the high level File I O VIs to perform common I O operations Use the low level File I O VI and functions and the Advanced File I O functions located to control each file I O operation individually Use the Express File I O VIs for simple datalogging operations 186 CHAPTER 9 STRINGS AND FILE I O e 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 e To access a file through a dialog box leave file path unwired in the Open Create Replace File VI e To write data to a spreadsheet file the string must be formatted 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 9 14 Additional Exercises for Strings and FileI O Exercise 9 7 Build a VI that generates a 2D array of 3rows x 100columns of random numbers and writes the data transposed to a spreadsheet file Add a header to each column Use the high level File I O VIs located on the File I O palette TIP Use the Write Characters To File VI to write the header and the Write To Spreadsheet File VI to write the numeric data to the same file Save the VI as More Spreadsheets vi in the C Exercises LabVIEW Basics I directory Exercise 9 8 Build a VI that converts tab de
310. tter how confident you are in the VI you create you cannot predict every problem a user might encounter Without a mechanism to check for errors you know only that the VI does not work properly Error checking tells you why and where errors occur When you perform any kind of I O consider the possibility that errors will occur Almost all I O functions return error information Include error checking in VIs especially for I O operations such as file serial instrumentation data acquisition and communication operations and provide a mechanism to handle errors appropriately Checking for errors in VIs can help you identify the following problems e You initialized communications incorrectly or wrote improper data to an external device e An external device lost power is broken or is not working properly e You upgraded the operating system software which changed the path to a file or the function ality of a VI or library You might notice a problem in a VI or a system program 6 5 1 Error Handling By default LabVIEW automatically handles any error that occurs when a VI runs by suspending execution highlighting the subVI or function where the error occurred and displaying a dialog box You can choose other error handling methods For example if an I O VI on the block diagram times out you might not want the entire application to stop You also might want the VI to retry for a certain period of time In LabVIEW you can make these error
311. udes the following sections under My System e Data Neighborhood Use this section to create and test virtual channels aliases and tags to channels or measurements configured in Devices and Interfaces e Devices and Interfaces Use this section to configure resources and other physical properties of devices and interfaces and to view attributes of one or multiple devices such as serial numbers e IVI Instruments Use this section to name an IVI virtual instrument modify its properties and swap IVI instruments e Scales Use this section to set up simple operations to perform on data such as scaling the temperature reading from the DAQ Signal Accessory from volts to degrees Celsius e Historical Data Use this section to access databases and logged data e Software Use this section to determine which National Instruments drivers and application software are installed and their version numbers e VI Logger Tasks Use this section to create modify run and view VI Logger tasks The example Figure 11 1 shows a GPIB interface in MAX after clicking the Scan For Instru ments button on the toolbar http ni com support gpib versions htm 216 CHAPTER 11 INSTRUMENT CONTROL F GPIBO PCI GPIB Measurement amp Automation Explorer ioj x File Edit View Tools Help Ef Properties mA Scan For Instruments EM Spy amp GPIB An
312. ue represents the string returned from the identification query Rename Token by typing ID String in the Token name text box v Click the Add Step button Click Query and Parse Type MEAS DC as the command and click the Run this step button vi To parse the data received click the Auto parse button The data returned is a random numeric value Rename Token by typing Voltage in the Token name text box vii Click the OK button to exit the I O Assistant and return to the block diagram b Right click the ID String output and select Create gt gt Indicator from the shortcut menu c Right click the Voltage output and select Create gt gt Indicator from the shortcut menu d Wire the Error Out output to the Simple Error Handler VI 2 Display the front panel and run the VI Resize the string indicator if necessary 3 Save the VI as Read Instrument Data vi in the C Exercises LabVIEW Basics I di rectory 4 Right click the I O Assistant and select Open Front Panel Click the Convert button when asked if you want to convert to a subVI 5 View the code generated by the I O Assistant Where is the command IDN written to the Instrument Simulator Where is the voltage being read 6 Select File gt Exit to exit the subVI Do not save changes 11 6 VISA 11 6 1 Overview In 1993 National Instruments joined with GenRad Racal Instruments Tektronix and Wavetek to form the VXIplug amp play Systems Alliance The goals of the alliance are to en
313. unt terminal c Wire the block diagram as shown in Figure 7 17 NoTE When you wire data to charts and graphs refer to the Context Help window for more information about wiring the objects including whether to use a Build Array or Bundle function the order of the in put terminals and so on In general use a waveform chart for single scalar points a waveform graph for an array of y values and an XY graph for an array of x values and an array of y values For example if you move the cursor over a waveform graph terminal on the block diagram the information shown in Figure 7 18 appears in the Context Help window Select Help gt gt Find Examples to launch the NI Example Finder double click Fundamentals double click Graphs and Charts and 129 double click the Waveform Graph VI to open the example Refer to the lesson on Data Acquisition and Waveforms for more information about the waveform data type Context Help ioj x Waveform Graphs Wire data directly to waveform graph Y Array aS aph 1D WDT 2D Single Plot Single Plot Multiplot WDT Waveform Data Type includes timing info Others default to O for xo and 1 for x Combine timing information using a bundle node Waveform Graph y array See the example Waveform Graph vi Figure 7 18 2 Save the VI as Graph Waveform Array vi in the C Exercises LabVIEW Basics I directory 7 5 3 Run the VI 1 Display the front panel and run the VI
314. uration dialog box appears If it does not appear double click the Instrument I O Assistant icon Complete the following steps pg 218 to configure the Instrument I O Assistant 1 Select an instrument Instruments that have been configured in MAX appear in the Select an instrument pull down menu 2 Choose a Code generation type VISA code generation allows for more flexibility and modu larity than GPIB code generation 3 Select from the following communication steps using the Add Step button e Query and Parse Sends a query to the instrument such as IDN and parses the returned string This step combines the Write command and Read and Parse command e Write Sends a command to the instrument e Read and Parse Reads and parses data from the instrument 4 After adding the desired number of steps click the Run button to test the sequence of com munication that you have configured for the Express VI 5 Click the OK button to exit the Instrument I O Assistant configuration dialog box LabVIEW adds input and output terminals to the Instrument I O Assistant Express VI on the block diagram that correspond to the data you will receive from the instrument To view the code generated by the Instrument I O Assistant right click the Instrument I O Assistant icon and select Open Front Panel from the shortcut menu This converts the Express VI to a subVI Switch to the block diagram to see the code generated NOTE Once an Express VI has
315. ure Convert from Dynamic Data dialog box to control how the data appears in the array Use the Convert to Dynamic Data Express VI to convert numeric Boolean waveform and array data types to the dynamic data type for use with Express VIs When you place the Convert to Dynamic Data Express VI on the block diagram the Configure Convert to Dynamic Data dialog box appears Use this dialog box to select the kind of data to convert to the dynamic data type 2 4 3 3 2 Automatically Wiring Objects LabVIEW automatically wires objects as you place them on the block diagram You also can automatically wire objects already on the block diagram LabVIEW connects the terminals that best match and leaves terminals that do not match unconnected As you move a selected object close to other objects on the block diagram LabVIEW draws temporary wires to show you valid connections When you release the mouse button to place the object on the block diagram LabVIEW automatically connects the wires Toggle automatic wiring by pressing the spacebar while you move an object using the Positioning tool You can adjust the automatic wiring settings by selecting Toolss gt Options and selecting Block Diagram from the top pull down menu 2 4 3 3 3 Manually Wiring Objects When you pass the Wiring tool over a terminal a tip strip appears with the name of the terminal In addition the terminal blinks in the Context Help window and on the icon to help you verify that you ar
316. uster i I gt Place the Or function located on the Functions gt Arithmetic amp Comparison gt gt Express Boolean palette on the block diagram This function con trols when the While Loop ends If there is an error or you click the Stop button the While Loop stops j Set the wait for the Time Delay Express VI to 1 second k Wire the block diagram as shown in Figure 11 11 NoTE You do not need to wire every terminal for each node Wire only the necessary inputs for each node such as instrument descriptor VISA session and error I O 2 Save the VI as Voltage Monitor vi in the C Exercises LabVIEW Basics I directory 3 Make sure the NI Instrument Simulator is powered on 4 Display the front panel and run the VI The LEDs alternate between Listen and Talk as LabVIEW communicates with the GPIB instrument once a second to get a simulated voltage reading This voltage displays on the chart and the minimum and maximum values update accordingly 5 Stop and close the VI 11 11 Serial Port Communication Serial communication Figure 11 12 is a popular means of transmitting data between a computer and a peripheral device such as a programmable instrument or even another computer Serial communication uses a transmitter to send data one bit at a time over a single communication line to a receiver You can use this method when data transfer rates are low or you must transfer data over long distances Serial communication is po
317. ve 75 0 is 77 5 it indicates a y axis division of 2 5 changing the 77 5 to 80 0 reformats the y axis to multiples of 5 0 75 0 80 0 85 0 and so on NOTE The waveform chart size has a direct effect on the display of axis scales Increase the waveform chart size if you encounter problems while customizing the axis 2 Right click the waveform chart and select Visible Items gt gt Scale Legend from the short cut menu to display the scale legend as shown in Figure 7 13 You can place the scale legend anywhere on the front panel Figure 7 13 1 X axis 2 Y axis 3 Scale Labels 4 Scale Lock Button 5 Autoscale Button 6 Scale Format Button 3 Use the scale legend to customize each axis a Make sure the Lock Autoscale button appears locked and the Autoscale LED is green so the y axis adjusts the minimum and maximum values to fit the data in the chart b Click the Scale Format button to change the format precision mapping mode scale visibility and grid options for each axis 4 Use the plot legend to customize the plots a Use the Positioning tool to resize the plot legend to include two plots b Use the Labeling tool to change Temp to Running Avg and to change Plot 1 to Current Temp If the text does not fit use the Positioning tool to resize the plot legend c Right click the plot in the plot legend to set the line and point styles and the color of the plot background or traces 5 Right click the waveform chart a
318. ver all the signals specified in the standard pg 233 shows only the core set of pins that are used for most RS 232 interfaces Figure 11 15 Function Signal PIN DTE DCE Data TxD 2 Output Input RxD 3 Input Output Handshake RTS 4 Output Input CTS 5 Input Output DSR 6 Input Output DCD 8 Input Output STR 20 Output Input Common Com 7 11 11 3 Software Overview Use the VIs and functions located on the Functions gt All Functions gt Instrument I O gt gt Serial palette for serial port communication You used some of the VISA functions on this palette for GPIB communication The VISA Write and VISA Read functions work with any type of instrument communication and are the same whether you are doing GPIB or serial communication However because serial communication requires you to configure extra parameters you must start the serial port communication with the VISA Configure Serial Port VI The VISA Configure Serial Port VI initializes the port identified by VISA resource name to the specified settings timeout sets the timeout value for the serial communication baud rate data bits parity and flow control specify those specific serial port parameters The error in and error out clusters maintain the error conditions for this VI 234 CHAPTER 11 INSTRUMENT CONTROL Example 11 2 Figure 11 16 shows how to send the identification query command IDN to the instrument c
319. ware also controls the DAQ system by commanding the DAQ device when and from which channels to acquire data Typically DAQ software includes drivers and application software Drivers are unique to the device or type of device and include the set of commands the device accepts Application software such as LabVIEW sends the drivers commands such as acquire and return a thermocouple reading The application software also displays and analyzes the acquired data NI measurement devices include NI DAQ driver software a collection of VIs you use to configure acquire data from and send data to the measurement devices Thttp ni com daq 187 188 CHAPTER 10 DATA ACQUISITION AND WAVEFORMS 10 1 1 1 NI DAQ NI DAQ 7 0 contains two NI DAQ drivers Traditional NI DAQ and NI DAQmx each with its own application programming interface API hardware configuration and software configuration e Traditional NI DAQ is an upgrade to NI DAQ 6 9 x the earlier version of NI DAQ Traditional NI DAQ has the same VIs and functions and works the same way as NI DAQ 6 9 x You can use Traditional NI DAQ on the same computer as NI DAQmx which you cannot do with NI DAQ 6 9 x e NI DAQm x is the latest NI DAQ driver with new VIs functions and development tools for controlling measurement devices The advantages of NI DAQm lt x over previous versions of NI DAQ include the DAQ Assistant for configuring channels and measurement tasks for a device increased pe
320. waveform string into an array of 16 bit integers String From instrument String Subset Type Cast Swap Bytes PETE arian Figure 11 25 You might need to use the Swap Bytes Figure 11 26 function located on the Functions gt gt All Functions gt gt Advanced gt gt Data Manipulation palette to swap the most significant 8 bits and the least significant 8 bits for every element Remember the GPIB is an 8 bit bus It can transfer only one byte at a time If the instrument first sends the low byte and then the high byte you do not need to use the Swap Bytes function In the example Figure 11 25 you needed to use the Swap Bytes Figure 11 26 function because the instrument sent the most significant byte first Because the most significant byte is received first it is placed in a lower memory location than the least significant byte sent after the most significant byte 240 CHAPTER 11 INSTRUMENT CONTROL Memory Memory A D o D A o 2 2 LB2 HB2 6 2 HB2 LB2 6 Swap Bytes 2050 2050 2052 2052 Figure 11 26 11 14 Waveform Example VI Exercise 11 2 For the ASCII waveform string the waveform consists of 128 points Up to four ASCII characters separated by commas represent each point The following header precedes the data points CURVE 12 28 63 128 points in total CR LF For the binary waveform string the waveform consists of 128 points Each point is repre sented as a 1 byte unsigned integ
321. witches located on the Controls gt gt Buttons amp Switches palette and a horizontal fill slide located on the Controlss gt Numeric Controls palette in the cluster d Create the Modified Cluster by duplicating the first cluster and relabeling it Right click the shell of Modified Cluster and select Change to Indicator from the shortcut menu e Copy Modified Cluster and relabel it to create Small Cluster Remove the second toggle switch and horizontal fill slide indicators Relabel the numeric indicator to Slide value Resize the cluster as shown in Figure 6 7 2 Verify the cluster order of Cluster and Small Cluster Modified Cluster should have the same order as Cluster a Right click the boundary of each cluster and select Reorder Controls in Cluster from the shortcut menu b Confirm the cluster orders Figure 6 8 Figure 6 8 6 3 2 Block Diagram 1 Build the block diagram in Figure 6 9 Unbundle Cluster TEN Small Cluster Boolean 2 Unbundle By Name sdb Modified Cluster f gt Pruner p et Boolean T Boolean TT Bundle By Name Figure 6 9 aloe Place the While Loop located on the Functions gt All Functions gt gt Structures palette on the block diagram CE b Place the Unbundle function located on the Functions gt All Functions gt gt Cluster palette on the block diagram This function disassem bles Cluster Wire the input cluster to resize the function automatically TE c EEET Place the
322. wn in Figure 6 2 gt cluster wi l File Edit wroerste Tools Browse Window Help D PK gt lt Click to set to Jo Figure 6 2 1 Confirm Button 2 Cancel Button 3 Cluster Order Cursor 4 Current Order 5 New Order The white box on each element shows its current place in the cluster order The black box shows the new place in the order for an element To set the order of a cluster element type the new order number in the Click to set to text box and click the element The cluster order of the element changes and the cluster order of other elements adjusts Save the changes by clicking the Confirm button on the toolbar Revert to the original order by clicking the Cancel button 103 Corresponding elements determined by the cluster order must have compatible data types For example in one cluster element 0 is a numeric control and element 1 is a string control In a second cluster element 0 is a numeric indicator and element 1 is a string indicator The cluster control correctly wires to the cluster indicator However if you change the cluster order of the indicator so the string is element 0 and the numeric is element 1 the wire from the cluster control to the cluster indicator appears broken indicating that the data types do not match 6 2 Cluster Functions Use the Cluster functions located on the Functions gt gt All Functions gt gt Cluster palette to create and manipulate clusters Use the Bundle and Bu
323. x org content m12266 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Measurement amp amp Automation Explorer Windows Only By National Instruments URL http cnx org content m12267 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Data Acquisition in Lab VIEW 274 By National Instruments URL http cnx org content m12268 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Analog Input By National Instruments URL http cnx org content m12269 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Voltmeter VI By National Instruments URL http cnx org content m12270 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Measurement Averaging VI By National Instruments URL http cnx org content m12271 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Data Logging By National Instruments URL http cnx org content m12272 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Simple Data Logger VI By National Instruments URL http cnx org content m12273 latest Copyright National Instruments License http creativecommons
324. xiting LabVIEW This VI would be very difficult to edit NoTE To exit LabVIEW you can use the Quit LabVIEW function located on the Functions gt gt All Functions gt gt Application Control palette This function aborts all running VIs and ends the current session of LabVIEW The function has one input If it is wired the end of the LabVIEW session occurs only if that input is True If the input is not wired the end of the session occurs when the node executes Before you change VI properties save a backup of the VI to a new location by selecting File gt gt Save with Options to avoid situations like the previous examples Select the Development Distribution option to save the VI to a new location along with its entire hierarchy You also can include the vi lib files in the save After you save the backup VI change the VI properties of the original VI If you encounter a problem you can return to the backup VI CAUTION If you select the Remove diagrams option you remove the source code of the VI Select this option only if you never need to edit the VI again Before you save a VI without the block diagrams save a backup of the VI with the block diagrams If you already saved a development VI with properties that make the VI difficult to edit refer to the Edit Me VI Section 12 7 exercise for more information about editing the VI 253 12 7 Edit Me VI Exercise 12 3 12 7 1 Front Panel 1 Close any open VIs and open the Edit Me V
325. yio llb Ignore SubVI Browse Stop Figure 2 3 The Loading section lists the subVIs of the VI as they are loaded into memory Number Loaded is the number of subVIs loaded into memory so far You can cancel the load at any time by clicking the Stop button If LabVIEW cannot immediately locate a subVI it begins searching through all directories specified by the VI Search Path You can edit the VI Search Path by selecting Tools gt gt 0Options and selecting Paths from the top pull down menu The Searching section lists directories or VIs as LabVIEW searches through them You can have LabVIEW ignore a subVI by clicking the Ignore SubVI button or you can click the Browse button to search for the missing subVI 2 2 1 3 Saving VIs Select Save Save As Save All or Save with Options from the File menu to save VIs as individual files or group several VIs together and save them in a VI library VI library files end with the extension lb National Instruments recommends that you save VIs as individual files organized in directories especially if multiple developers are working on the same project LabVIEW uses the native file dialog boxes so they act similar to other applications on the computer You can disable this feature by selecting Toolss gt Options and selecting Miscellaneous from the top pull down menu If you disable native file dialogs LabVIEW uses its own platform independent file dialog boxes with some conven
326. you use the previous array as the input the Array Subset function returns the following array for an index of 2 and a length of 3 2 41 4 e Build Array Concatenates multiple arrays or appends elements to an n dimensional array Resize the function to increase the number of elements in the output array For example if you concatenate the two previous arrays the Build Array function returns the following array I N N To concatenate the inputs into a longer array of the same dimension as shown in the following array right click the function node and select Concatenate Inputs from the shortcut menu to create the following array e Index Array Returns the element or sub array of n dimension array at index For example if you use the previous array as the input the Index Array function returns 2 for an index of 0 You also can use the Index Array function to extract a row or column of a 2D array to create a subarray of the original To do so wire a 2D array to the input of the function Two index terminals are available The top index terminal indicates the row and the second terminal indicates the column You can wire inputs to both index terminals to index a single 96 CHAPTER 5 ARRAYS element or you can wire only one terminal to extract a row or column of data For example wire the following array to the input of the function 714112 4 4 4
327. yright National Instruments License http creativecommons org licenses by 1 0 Module Express Filter VI 265 266 ATTRIBUTIONS By National Instruments URL http cnx org content m12198 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module LabVIEW Documentation Resources By National Instruments URL http cnx org content m12199 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Reduce Samples VI By Malan Shiralkar URL http cnx org content m12200 latest Copyright Malan Shiralkar License http creativecommons org licenses by 1 0 Module Debugging Techniques By National Instruments URL http cnx org content m12201 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Debug Exercise Main VI By National Instruments URL http cnx org content m12202 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Summary Tips and Tricks on Introduction to LabVIEW By National Instruments URL http cnx org content m12203 latest Copyright National Instruments License http creativecommons org licenses by 1 0 Module Modular Programming By National Instruments URL http cnx org content m12204 latest Copyright National Instruments License http creativecommons org license
Download Pdf Manuals
Related Search
Related Contents
CONTENTS BRAKE SYSTEM SECTION BR CONTENTS Élections consulaires et AFE - mode d`emploi HP 15 15-g068cl TouchSmart oui - Groupe GMI Mode d`emploi ARC1 - Agriculteurs Composteurs de France SM061A/B spanish (GIS-ALAS) - Center for Transportation Research and Education スマートハウスの暮らしには、スマイルがあります。 Copyright © All rights reserved.
Failed to retrieve file