The Help window will probably be the most utilized help tool available. It is also activated from the Help pull-down menu by selecting Show Help (Ctrl+H). The Help window displays information on most controls, indicators, functions, constants, and subVIs. The type of information displayed varies depending on the object over which the cursor is located. For many of LabVIEW’s functions, descriptions are provided along with inputs, outputs, and default values. When the cursor is placed over an icon of a VI that a user has created, that user must input the relevant description to be displayed by the Help window. The same is true for specific controls and indicators used in an application. This is an element of good documentation practices, which is explained further in Chapter 6.
Figure 1.6 shows the Help window as it appears when the cursor is placed overthe “In Range?” function. A brief description of the function is provided in the he Online Help or Reference can be accessed from the Help menu also. The help files are normally installed with LabVIEW if you choose the typical installation.If you perform a custom installation of LabVIEW, you must ensure that the appropriate box is checked for help files. The Online Reference covers introduction material, overview, information on functions, and advanced topics. It also has a searchable index and word list for specific instances of key words.
1.3.2 WEBSITES
Several other sources are also available for help on LabVIEW-related topics. National
Instruments’ website offers help through online technical support, documents, free downloads, product demonstrations, the instrument driver network, and the Developer Zone. National Instruments has continuously expanded its online resources, and the result is a full fledged support center. Table 1.1 lists the major websites that will be of value.
1.4 DATA FLOW PROGRAMMING
LabVIEW applications execute based on data flow. LabVIEW applications are broken up into nodes and wires; each element in a diagram that has input or output is considered a node. The connection points between nodes are wires. A node can be a simple operation such as addition, or it can be a very complicated operation like a subVI that contains internal nodes and wires. Display options are very useful for programmers performing communications work. The collection of nodes and wires comprise the wire diagram. Wire diagrams are derived from the block diagrams and are used by LabVIEW’s compiler to execute the diagrams. The wire diagrams are hidden from the programmer; they are an intermediate form used by the compiler to execute code. While you program, the compiler is behind the scenes verifying that diagrams are available to execute. LabVIEW applications that are built using the Application Builder use the execution engine as if LabVIEW were still being used to run the VIs.
The system palette contains fewer controls than the classic and modern palettes; in fact, all system controls are strictly user interface controls. Classic and modern palettes contain additional controls that have appeared in previous versions of LabVIEW.
A node can be executed when all inputs that are necessary have been applied.For example, it is impossible for an addition operation to happen unless both numbers to be added are available. One of these numbers may be an input from a control and would be available immediately, where the second number is the output of a VI. When this is the case, the addition operation is suspended until the second number becomes available. It is entirely possible to have multiple nodes receive all inputs at approximately the same time. Data flow programming allows for the tasks to be processed more or less concurrently. This makes multitasking code diagrams extremely easy to design. Parallel loops that do not require inputs will be executed in parallel as each node becomes available to execute. Multitasking has been an ability of LabVIEW since Version 1.0. Multitasking is a fundamental ability to LabVIEW that is not directly available in languages like C, Visual Basic, and C++. When multiple nodes are available to execute, LabVIEW uses a process called arbitrary interleaving to determine which node should be executed first. Controls are basically variables that can be manipulated in the code. If you watch a VI in execution highlighting mode and see that nodes execute in the desired order,you may be in for a rude shock if the order of execution is not always the same.For example, if three addition operations were set up in parallel using inputs from user controls, it is possible for eight different orders of execution. Similar to many operating systems’ multithreading models, LabVIEW does not make any guarantees about which order parallel operations can occur.