Refer to the LabVIEW 2016 Upgrade Notes for a complete list of new features and changes, for information about upgrade and compatibility issues specific to different versions of LabVIEW, and for upgrading instructions.
Refer to the readme.html file in the labview directory for known issues, a partial list of bugs fixed, additional compatibility issues, and information about late-addition features in LabVIEW 2016.
Improvements to Selecting, Moving, and Resizing Objects
LabVIEW 2016 includes usability improvements to selecting objects, moving objects, and resizing structures on the front panel or block diagram.
- Selecting Objects
- When you select objects, the area covered by the selection rectangle displays in gray and a marquee highlights the selected objects. Selected structures appear with a darker background to indicate your selection includes them.
- By default, when you create a selection rectangle around objects, you must enclose the entire structure or the midpoint of a wire segment to select it. If you press the spacebar when you create the selection rectangle, you select any objects that the selection rectangle touches. To restore the default selection behavior, press the spacebar again.
- Moving Objects—When you move selected objects, the entire selection moves in real time. Certain objects, such as structures, rearrange or resize to accommodate the movement of the selected objects.
- Resizing Structures—When you resize a structure by dragging the resizing handles, the structure grows or shrinks in real time instead of displaying dashed borders.
Asynchronously Communicating Data between Parallel Sections of Code
In LabVIEW 2016, you can use channel wires to communicate data between parallel sections of code. Channel wires are asynchronous wires that connect two parallel sections of code without forcing an execution order, thus creating no data dependency between sections of code.
LabVIEW provides several channel templates, each of which expresses a different communications protocol. You can choose a template based on the communication requirements of your applications.
To create a channel wire, first create a writer endpoint by right-clicking a terminal or a wire and selecting Create»Channel Writer. Draw a channel wire from the channel terminal of the writer endpoint and create a reader endpoint by right-clicking the channel wire and selecting Create»Channel Reader.
The writer endpoint writes data into the channel and the reader endpoint reads data from the channel. Channel wires transfer data between sections of code the same way that refnums or variables do. However, channel wires use fewer nodes than refnums or variables, and represent the data transfer graphically using a visible wire.
LabVIEW 2016 includes the following enhancements to the LabVIEW environment:
Dialog Box Enhancements
The Quick Drop Configuration dialog box contains a default list of shortcuts for front panel and block diagram objects. You can use the default shortcuts in the Quick Drop dialog box instead of configuring shortcuts manually.
The Quick Drop Configuration dialog box also adds the following options on the Front Panel page and the Block Diagram page:
- Restore Default Panel Shortcuts/Restore Default Diagram Shortcuts—Replaces the existing list of shortcuts with the default list of shortcuts.
- Remove All Panel Shortcuts/Remove All Diagram Shortcuts—Removes all shortcuts from the list.
||Note After you click Restore Default Panel Shortcuts/Restore Default Diagram Shortcuts or Remove All Panel Shortcuts/Remove All Diagram Shortcuts, you must click OK to apply the changes. To revert your changes, click Cancel.
(Linux) Fonts and Encoding Support Enhancements
LabVIEW 2016 for Linux adds support for True Type fonts and UTF-8 character encoding.
- LabVIEW uses True Type fonts by default. You no longer need to install specific font packages that are required for LabVIEW bitmap fonts. To revert to bitmap fonts, add the UseXftFonts=False configuration token to the LabVIEW configuration file under the following directory: /home/<username>/natinst/.config/<labview>/labview.conf.
- LabVIEW uses UTF-8 encoding if the locale environment of the Linux system that LabVIEW runs on is configured to use UTF-8 encoding. To disable UTF-8 encoding in LabVIEW, add the DisableUTF8=True configuration token to the LabVIEW configuration file under the following directory: /home/<username>/natinst/.config/<labview>/labview.conf.
New and Changed VIs and Functions
LabVIEW 2016 includes the following new and changed VIs and functions:
New VIs and Functions
LabVIEW 2016 includes the following new VIs and functions:
- The Advanced File palette includes the following new VIs:
- Is Name Multiplatform—Use this VI to check the validity of a filename on operating systems supported by LabVIEW.
- Show in File System—Use this VI to open a path to a file or directory in (Windows) Windows Explorer, (OS X) the Finder, or (Linux) a file system browser depending on the current platform.
- The Data Type Parsing palette includes the new Get Channel Information VI. Use this VI to retrieve the information about a channel and the transmission data type.
- The Actor Framework palette includes the new Read Autostop Nested Actor Count VI. Use this VI to return the number of nested actors that have not sent a Last Ack message to the calling actor. This VI counts only the nested actors that stop when the calling actor stops.
- The In Place Element structure includes the new Variant Attribute Get / Replace border node. Use this border node to access and modify one or more attributes of a variant without copying the attributes out of the variant. Refer to the Variant Attribute Lookup Table VI in the NI Example Finder or in the labview\examples\Performance\Variant Attribute Lookup Table directory for an example of using the Variant Attribute Get / Replace border node to create a high-performance lookup table.
Changed VIs and Functions
LabVIEW 2016 includes the following changed VIs and functions:
- (Windows) Similar to LabVIEW for OS X and LabVIEW for Linux, LabVIEW for Windows now has a finite limit of 1024 network sockets available to a single LabVIEW instance for all user-created and internal connections. This change impacts the Protocols VIs and functions for the TCP, UDP, Bluetooth, and IrDA protocols. Other protocols, such as Network Streams, Network Published Shared Variables, and Web Services, are not affected.
- There are new values for certain Math & Scientific Constants and Express Math & Scientific Constants. The values for Avogadro Constant, Elementary Charge, Gravitational Constant, Molar Gas Constant, Planck's Constant, and Rydberg Constant are updated to match values provided by CODATA 2014.
New and Changed Classes, Properties, Methods, and Events
LabVIEW 2016 includes the following new and changed classes, properties, methods, and events:
VI Server Properties and Methods
LabVIEW 2016 includes the new Execution highlighting? (class: VI) property. Use this property to read or write the execution highlighting setting of a VI. Unlike the Highlight Execution? (class: TopLevelDiagram) property, you can set the Execution highlighting? property for a VI that is a clone of a reentrant VI.
Add-On Consolidation for LabVIEW (64-bit)
LabVIEW 2016 (64-bit) now includes the LabVIEW Report Generation Toolkit for Microsoft Office.
New 64-bit Modules and Toolkit for Windows, OS X, and Linux
LabVIEW 2016 (64-bit) for all operating systems supports the new 64-bit versions of the following modules and toolkits:
- Control Design and Simulation Module—excludes System Identification VIs, System Identification Assistant, and Control Design Assistant
- MathScript RT Module
- VI Analyzer Toolkit
- (Windows) Desktop Execution Trace Toolkit
- (Windows) Unit Test Framework Toolkit
Refer to the readme of each product for more information, including system requirements, installation instructions, and activation.
Changes to LabVIEW for OS X
LabVIEW 2016 for OS X is available only in 64-bit. NI no longer provides the 32-bit version of LabVIEW for OS X.
Changes to LabVIEW for Linux
LabVIEW 2016 (32-bit and 64-bit) for Linux supports only 64-bit versions of Linux operating systems. LabVIEW for Linux no longer supports 32-bit versions of Linux operating systems.