Preface |
|
xiii | |
|
1 The While Loop and Waveform Chart |
|
|
1 | (55) |
|
1.1 LabVIEW Programming Environment |
|
|
1 | (1) |
|
1.2 Sine-Wave Plot using a While Loop and Waveform Chart |
|
|
2 | (1) |
|
1.3 Block Diagram Editing |
|
|
3 | (17) |
|
|
20 | (2) |
|
|
22 | (5) |
|
|
27 | (3) |
|
1.7 Finishing the Program |
|
|
30 | (1) |
|
|
31 | (2) |
|
|
33 | (10) |
|
1.10 Date-Type Representations |
|
|
43 | (3) |
|
1.11 Automatic Creation Feature |
|
|
46 | (2) |
|
|
48 | (8) |
|
|
50 | (1) |
|
|
51 | (5) |
|
2 The For Loop and Waveform Graph |
|
|
56 | (43) |
|
|
56 | (1) |
|
2.2 Sine-Wave Plot using a For Loop and Waveform Graph |
|
|
57 | (1) |
|
|
58 | (1) |
|
2.4 Owned and Free Labels |
|
|
59 | (1) |
|
2.5 Creation of Sine Wave using a For Loop |
|
|
60 | (3) |
|
2.6 Cloning Block-Diagram Icons |
|
|
63 | (2) |
|
2.7 Auto-Indexing Feature |
|
|
65 | (3) |
|
|
68 | (1) |
|
2.9 x-Axis Calibration of the Waveform Graph |
|
|
69 | (6) |
|
2.10 Sine-Wave Plot using a While Loop and Waveform Graph |
|
|
75 | (4) |
|
2.11 Array Indicators and the Probe Watch Window |
|
|
79 | (20) |
|
|
90 | (2) |
|
|
92 | (7) |
|
3 The MathScript Node and XY Graph |
|
|
99 | (53) |
|
3.1 MathScript Node Basics |
|
|
99 | (3) |
|
3.2 Quick MathScript Node Example: Sine-Wave Plot |
|
|
102 | (7) |
|
3.3 Debugging with Error List |
|
|
109 | (2) |
|
3.4 Waveform Simulator using a MathScript Node and XY Graph |
|
|
111 | (4) |
|
3.5 Creating an xy Cluster |
|
|
115 | (1) |
|
|
116 | (1) |
|
3.7 MathScript Interactive Window |
|
|
117 | (4) |
|
3.8 Adding Shape Options to Waveform Simulator |
|
|
121 | (1) |
|
3.9 The Enumerated Type Control |
|
|
122 | (2) |
|
3.10 Finishing the Block Diagram |
|
|
124 | (4) |
|
|
128 | (1) |
|
3.12 Control and Indicator Clusters |
|
|
129 | (7) |
|
3.13 Creating an Icon using the Icon Editor |
|
|
136 | (1) |
|
|
137 | (5) |
|
3.15 Connector Assignment |
|
|
142 | (10) |
|
|
146 | (2) |
|
|
148 | (4) |
|
4 Data Acquisition Using DAQ Assistant |
|
|
152 | (59) |
|
|
152 | (1) |
|
4.2 Data Acquisition Hardware |
|
|
153 | (2) |
|
|
155 | (2) |
|
|
157 | (1) |
|
4.5 Sampling Frequency and the Aliasing Effect |
|
|
158 | (2) |
|
4.6 Measurement & Automation Explorer (MAX) |
|
|
160 | (4) |
|
4.7 Simple Analog Input Operation on a DC Voltage |
|
|
164 | (11) |
|
|
175 | (9) |
|
|
184 | (1) |
|
|
185 | (7) |
|
4.11 Software-Timed Sine-Wave Generator |
|
|
192 | (2) |
|
4.12 Hardware-Timed Waveform Generator |
|
|
194 | (3) |
|
4.13 Placing a Custom-Made VI on a Block Diagram |
|
|
197 | (2) |
|
4.14 Completing and Executing Waveform Generator (Express) |
|
|
199 | (2) |
|
4.15 Modified Waveform Generator |
|
|
201 | (10) |
|
|
203 | (1) |
|
|
204 | (7) |
|
5 Data Files and Character Strings |
|
|
211 | (41) |
|
5.1 ASCII Text and Binary Data Files |
|
|
211 | (2) |
|
5.2 Storing Data in a Spreadsheet-Formatted File |
|
|
213 | (1) |
|
5.3 Storing a One-Dimensional Data Array |
|
|
214 | (3) |
|
|
217 | (3) |
|
5.5 Storing a Two-Dimensional Data Array |
|
|
220 | (4) |
|
5.6 Controlling the Format of Stored Data |
|
|
224 | (2) |
|
5.7 The Path Constant and Platform Portability |
|
|
226 | (1) |
|
5.8 Fundamental File I/O VIs |
|
|
227 | (6) |
|
5.9 Adding Text Labels to a Spreadsheet File |
|
|
233 | (4) |
|
|
237 | (15) |
|
|
239 | (4) |
|
|
243 | (9) |
|
|
252 | (44) |
|
6.1 Shift Register Basics |
|
|
252 | (3) |
|
6.2 Quick Shift Register Example: Integer Sum |
|
|
255 | (3) |
|
6.3 Numerical Integration and Differentiation using Shift Registers |
|
|
258 | (1) |
|
6.4 Power Function Simulator VI |
|
|
258 | (6) |
|
6.5 Numerical Integration via the Trapezoidal Rule |
|
|
264 | (3) |
|
6.6 Trapezoidal Rule VI using Single Shift Register |
|
|
267 | (8) |
|
6.7 Convergence Property of the Trapezoidal Rule |
|
|
275 | (3) |
|
6.8 Numerical Differentiation using a Multiple Shift Registers |
|
|
278 | (6) |
|
6.9 Modularity and Automatic SubVI Creation |
|
|
284 | (12) |
|
|
289 | (1) |
|
|
289 | (7) |
|
|
296 | (42) |
|
7.1 Case Structure Basics |
|
|
296 | (3) |
|
7.2 Quick Case Structure Example: Runtime Options using Property Nodes |
|
|
299 | (11) |
|
7.3 Numerical Integration using Case Structures |
|
|
310 | (1) |
|
7.4 Numerical Integration via Simpson's Rule |
|
|
310 | (3) |
|
7.5 Parity Determiner using a Boolean Case Structure |
|
|
313 | (5) |
|
7.6 Summation of Partial Sums using a Numeric Case Structure |
|
|
318 | (3) |
|
7.7 Trapezoidal Rule Contribution using a Boolean Case Structure |
|
|
321 | (2) |
|
7.8 Top-Level Simpson's Rule VI |
|
|
323 | (3) |
|
7.9 Comparison of the Trapezoidal Rule and Simpson's Rule |
|
|
326 | (12) |
|
|
329 | (1) |
|
|
330 | (8) |
|
8 Data Dependency and the Sequence Structure |
|
|
338 | (26) |
|
8.1 Data Dependency and Sequence Structure Basics |
|
|
338 | (4) |
|
8.2 Event Timer using a Sequence Structure |
|
|
342 | (7) |
|
8.3 Event Timer using Data Dependency |
|
|
349 | (3) |
|
|
352 | (12) |
|
|
354 | (1) |
|
|
355 | (9) |
|
9 Analysis VIs: Curve Fitting |
|
|
364 | (41) |
|
9.1 Thermistor Resistance-Temperature Data File |
|
|
364 | (3) |
|
9.2 Temperature Measurement using Thermistors |
|
|
367 | (3) |
|
9.3 The Linear Least-Squares Method |
|
|
370 | (1) |
|
9.4 Inputting Data to a VI using a Front-Panel Control |
|
|
371 | (5) |
|
9.5 Inputting Data to a VI by Reading from a Disk File |
|
|
376 | (3) |
|
9.6 Slicing Up a Multi-Dimensional Array |
|
|
379 | (6) |
|
9.7 Curve Fitting using the Linear Least-Squares Method |
|
|
385 | (6) |
|
|
391 | (14) |
|
|
394 | (3) |
|
|
397 | (8) |
|
10 Analysis VIs: Fast Fourier Transform |
|
|
405 | (46) |
|
10.1 The Fourier Transform |
|
|
405 | (1) |
|
10.2 Discrete Sampling and the Nyquist Frequency |
|
|
406 | (1) |
|
10.3 The Discrete Fourier Transform |
|
|
407 | (1) |
|
10.4 The Fast Fourier Transform |
|
|
408 | (1) |
|
10.5 Frequency Calculator VI |
|
|
409 | (3) |
|
|
412 | (2) |
|
10.7 Applying the FFT to Various Sinusoidal Inputs |
|
|
414 | (3) |
|
10.8 Magnitude of the Complex-Amplitude |
|
|
417 | (4) |
|
|
421 | (6) |
|
10.10 Analytic Description of Leakage |
|
|
427 | (3) |
|
10.11 Description of Leakage Using the Convolution Theorem |
|
|
430 | (4) |
|
|
434 | (6) |
|
10.13 Estimating Frequency and Amplitude |
|
|
440 | (3) |
|
|
443 | (8) |
|
|
444 | (1) |
|
|
445 | (6) |
|
11 Data Acquisition and Generation Using DAQmx VIs |
|
|
451 | (40) |
|
|
451 | (2) |
|
11.2 Simple Analog Input Operation on a DC Voltage |
|
|
453 | (6) |
|
11.3 Digital Oscilloscope |
|
|
459 | (7) |
|
11.4 Express VI Automatic Code Generation |
|
|
466 | (1) |
|
11.5 Limitation of Express VIs |
|
|
467 | (2) |
|
11.6 Improving Digital Oscilloscope using State Machine Architecture |
|
|
469 | (11) |
|
11.7 Analog Output Operations |
|
|
480 | (1) |
|
|
481 | (10) |
|
|
485 | (1) |
|
|
485 | (6) |
|
12 PID Temperature Control Project |
|
|
491 | (7) |
|
12.1 Voltage-Controlled Bidirectional Current Driver for Thermoelectric Device |
|
|
491 | (1) |
|
12.2 PID Temperature Control Algorithm |
|
|
492 | (3) |
|
12.3 PID Temperature Control System |
|
|
495 | (3) |
|
13 Control of Stand-Alone Instruments |
|
|
498 | (77) |
|
13.1 Instrument Control using VISA VIs |
|
|
498 | (1) |
|
|
499 | (4) |
|
13.3 The IEEE 488.2 Standard |
|
|
503 | (1) |
|
|
503 | (1) |
|
|
504 | (4) |
|
13.6 Device-Specific Commands |
|
|
508 | (1) |
|
13.7 Specific Hardware used in this Chapter |
|
|
509 | (2) |
|
13.8 Measurement & Automation Explorer (MAX) |
|
|
511 | (7) |
|
13.9 Simple VISA-Based Query Operation |
|
|
518 | (4) |
|
13.10 Message Termination |
|
|
522 | (1) |
|
13.11 Getting and Setting Communication Properties using a Property Node |
|
|
523 | (4) |
|
13.12 Performing a Measurement over the Interface Bus |
|
|
527 | (5) |
|
13.13 Synchronization Methods |
|
|
532 | (6) |
|
13.14 Measurement VI Based on the Serial Poll Method |
|
|
538 | (7) |
|
13.15 Measurement VI Based on the Service Request Method |
|
|
545 | (6) |
|
13.16 Creating an Instrument Driver |
|
|
551 | (14) |
|
13.17 Using the Instrument Driver to Write an Application Program |
|
|
565 | (10) |
|
|
571 | (1) |
|
|
572 | (3) |
Appendix I Construction of Temperature Control System |
|
575 | (8) |
Appendix II Program Cross Reference Table |
|
583 | (2) |
Index |
|
585 | |