Graphical Programming Using LabVIEW™: Fundamentals and advanced techniques

This document was uploaded by one of our users. The uploader already confirmed that they had the permission to publish it. If you are author/publisher or own the copyright of this documents, please report to us by using this DMCA report form.

Simply click on the Download Book button.

Yes, Book downloads on Ebookily are 100% Free.

Sometimes the book is free on Amazon As well, so go ahead and hit "Search on Amazon"

In this book, the authors focus on efficient ways to program instrumentation and automation systems using LabVIEW™, a system design platform and development environment commonly used for data acquisition, instrument control, and industrial automation on a variety of operating systems.

Starting with the concepts of data flow and concurrent programming, the authors go on to address the development of state machines, event programming and consumer producer systems. Chapters cover the following topics: Introduction to LabVIEW™, debugging tools, structures, SubVIs, structures - LabVIEW™ features, organizing front panel and block diagram, using software resources, using hardware resources, implementing test machines with a basic architecture, controlling the user interface, error handling, responding to the user interactions, the ATM review project, communication between loops at different rates, preventing race conditions, advanced use of software resources, and real-time programming.

This book helps undergraduate and graduate students learn how to identify the most suitable design patterns depending on the application, and how to implement them in conjunction with data acquisition and instrumentation control systems. It is also a helpful resource for engineers and scientists who want to implement binary files to record data, control the user interface and implement efficient ways of programming.

Author(s): Julio César Rodríguez-Quiñonez, Oscar Real-Moreno
Series: IET Computing Series, 46
Publisher: The Institution of Engineering and Technology
Year: 2022

Language: English
Pages: 343
City: London

Cover
Contents
About the authors
Introduction
Part I. Fundamentals
1 Introduction to LabVIEWTM
1.1 What is LabVIEWTM?
1.1.1 LabVIEWTM parallelism
1.2 Project explorer
1.2.1 Folders
1.3 Virtual instrument
1.3.1 Front panel
1.3.2 Block diagram
1.4 Data flow and data types
1.4.1 Data flow
Data flow rules
1.4.2 Data types
1.5 Elementary functions, controls, and indicators
1.5.1 Elementary controls and indicators
1.5.2 Elementary functions
1.6 Examples
1.6.1 Solved examples
1.6.2 Examples to solve
2 Debugging tools
2.1 Debugging tools
2.1.1 Highlight execution
2.1.2 Execution by steps
2.1.3 Breakpoints
2.1.4 Probes
2.2 Debugging examples
2.2.1 Quadratic equation calculator
2.2.2 Square pyramid volume calculator
2.2.3 X in relation to Y
3 Structures
3.1 For loops
3.2 While loops
3.3 Cases
3.4 Sequences
3.5 Timing
3.6 Feedback in loops
3.7 Examples of VIs with structures
4 SubVIs
4.1 Creating a subVI
4.1.1 SubVIs from existing code
4.1.2 SubVIs from VI
4.2 Connector pane
4.3 Custom icons
4.4 SubVI documentation
4.5 SubVI creation examples
4.5.1 Average subVI
4.5.2 Approved SubVI
4.5.3 Arrange message subVI
5 Structures – LabVIEWTM features
5.1 Arrays and loops
5.1.1 Functions and operations with arrays
5.1.2 Loop features
5.2 Data between parallel loops
5.2.1 Local variables
5.2.2 Race conditions
5.3 Formula nodes
6 Organizing front panel and block diagram
6.1 Clusters
6.2 Control type files
6.2.1 Type definition and strict type definition
6.3 Examples of clusters and custom controls
6.3.1 Cluster implementation
6.3.2 Custom control creation
6.3.3 Custom cluster indicator
7 Using software resources
7.1 Accessing resources
7.1.1 Using High-level File I/O VIs
7.1.2 Using Low-Level File I/O functions
7.2 Formatting headers and working with multiple signals
7.3 Read and look information from a spreadsheet with headers
8 Using hardware resources
8.1 NI MAXTM
8.2 Data acquisition systems
8.3 VISA libraries and instrument control
8.3.1 Control by VISA libraries
8.3.2 Control by instrument drivers
8.4 Arduino drivers
8.5 Examples of VIs using hardware
8.5.1 Examples description
8.5.2 Examples with DAQs
8.5.3 Examples with Arduino
9 Implementing test machines with a basic architecture
9.1 Code scalability and design patterns
9.2 State transition diagram
9.3 State machine design pattern
9.4 State machine design examples
9.5 State machine recommendations
Part II. Advanced techniques
10 Controlling the user interface
10.1 Property nodes
10.2 Invoke nodes
10.3 Control references
10.4 User interface control example
11 Error handling
11.1 Errors and warnings
11.2 Custom errors
11.3 Error messages
11.4 Error handling examples
12 Responding to the user interactions
12.1 Event structure
12.2 Event-driven programming
12.3 Event-driven state machine
12.4 Recommendations for event-driven state machines
13 The ATM review project
13.1 Creating a project with a VI and an auto-populating folder
13.1.1 Creating the project
13.1.2 Creating a VI
13.1.3 Creating folder (auto-populating)
13.2 Creating user interface
13.2.1 Creating user interface controls
13.2.2 Adjusting interface
13.3 Creating event state machine
13.3.1 Creating the state machine
13.4 Creating property nodes and arrays
13.4.1 Creating property nodes
13.5 Reading and writing files
13.5.1 Creating user files
Accessing and modifying the cluster account information
13.5.2 Creating the event Check Balance
13.5.3 Programming PIN change
13.6 File save and rewrite
13.6.1 Creating events
13.6.2 Creating Save File case
13.7 Last adjustments and VI documentation
13.7.1 Modify text file and case parameters
13.7.2 VI documentation
14 Communication between loops at different rates
14.1 Asynchronous communication
14.1.1 Queues
14.1.2 Producer–consumer design pattern
14.2 Example of asynchronous communication with producer–consumer design pattern
14.3 Event-driven producer–consumer design pattern
14.4 Recommendations
15 Preventing race conditions
15.1 What are race conditions?
15.2 Preventing race conditions
15.3 Functional global variables as prevention of race conditions
15.4 Race condition prevention examples
16 Advanced use of software resources
16.1 Types of files
16.1.1 ASCII files
16.1.2 Binary files
16.1.3 TDMS files
16.2 Working with relative paths
16.3 Binary files
16.3.1 Writing two-channels binary files
16.3.2 Reading two-channels binary files
16.4 Working with files and folders
16.5 Recommendations to work with files and folders
17 Real-time programming
17.1 CompactRIOTM for industrial systems
17.1.1 Installing software on CompactRIOTM system
17.1.2 Creating a real-time project on the CompactRIOTM
17.1.3 Real-time programming on CompactRIOTM
17.1.4 FPGA programming on CompactRIOTM
17.2 An application example with CompactRIOTM
References
Index
Back Cover