Company Events Academic Community Support Solutions Products & Services Contact NI MyNI

LabVIEW 2013 Features and Changes

LabVIEW 2013 Help

Edition Date: June 2013

Part Number: 371361K-01

»View Product Info

The Idea Exchange icon denotes a new feature that originates from a product feedback suggestion on the NI Idea Exchange discussion forums at ni.com.

Refer to the LabVIEW 2013 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 2013.

Installing LabVIEW

Refer to the LabVIEW Installation Guide for information about installing LabVIEW, modules and toolkits, drivers, and hardware. If you encounter problems installing LabVIEW, refer to the LabVIEW Installation Troubleshooting Guide.

LabVIEW Web Services Enhancements

LabVIEW 2013 includes the following enhancements to LabVIEW Web services and related functionality.

Creating and Publishing LabVIEW Web Services

LabVIEW 2013 allows you to more easily create, debug, and publish LabVIEW Web services. Refer to the following table for information about how LabVIEW 2013 improves several tasks related to Web services.

Task LabVIEW 2012 and Earlier LabVIEW 2013 LabVIEW Help topic with More Information
Creating a Web Service
  1. Add VIs and other files that make up the Web service to a LabVIEW project.
  2. Create a RESTful Web service build specification and configure build settings, such as which files to include and their URL mappings.
  3. Build the Web service build specification each time you update a Web service source file or a build setting.
  1. Add a Web service project item to a project under My Computer or a remote target.
  2. Add files under the item and configure settings from the project. LabVIEW automatically includes all files under the project item in the Web service when you publish it.
Tutorial: Creating and Accessing a LabVIEW Web Service
Publishing Stand-Alone Web Services Deploy the built Web service to the host computer or a target. Publish the Web service files directly from the project by right-clicking the Web service project item and selecting Application Web Server»Publish. Publishing a Web Service
Publishing Web Services that Depend on a LabVIEW Stand-Alone Application
  • Run the built application, and then deploy the built Web service.
  • The Web service runs on the Application Web Server.
  • Include the Web service in the build specification for the application. The built application automatically publishes the Web service when it runs.
  • The Web service runs on a web server that is specific to the application.
Including a Web Service in a Stand-alone Application or Installer
Communicating with Owning Applications Web services run in a separate context from the main LabVIEW application instance, so communication between the Web service and stand-alone applications is limited to communication features that support cross-context communication, such as network streams. When you include a Web service in a stand-alone application, the Web service runs in the main application instance. This allows you to implement communication via many protocols and APIs that LabVIEW provides. -
Debugging a Web Service
  1. Add breakpoints to Web method VIs.
  2. Enable debugging in the Web service build specification.
  3. Build and deploy the Web service.
  4. Use the Debug Application or Shared Library dialog box to connect to the Web service and open the Web method VI.
  5. Use typical debugging techniques to debug the issue in the source files.
  1. Start a debugging session from the project by right-clicking a Web service project item and selecting Start.
  2. Use typical debugging techniques to debug the issue in the source files.
Testing and Debugging a Web Service
Integrating Static Content
  • Add folders of static content to the project.
  • Include the static content files in the build specification and define URL mappings and destinations for each file and folder.
Add public and private static-content folders under the Web service project item. LabVIEW automatically assigns a URL mapping to each public static file. Integrating Static Content into a Web Service
Reusing a Web Service on Multiple Targets You cannot copy a Web service build specification from one target to another. To copy a Web service and its properties to another target in a project, click and drag the parent Web service project item to the other target. -

Enabling Secure Communication with Web Services

If SSL Support for LabVIEW RT is installed, you can configure secure communication with Web services using port 3581. You configure Web services communication using the NI Web-based Configuration & Monitoring utility, which you can access by entering the URL http://localhost:3582 in a Web browser on the host system.

Complete the following steps to enable secure communication with Web services:

  1. Select SSL (HTTPS) Enabled on the Web Server Configuration page in NI Web-based Configuration & Monitoring.
  2. Specify the SSL (HTTPS) Port as 3581.
  3. Disable HTTP Enabled.
  4. Click the Apply button.

In previous versions of LabVIEW, LabVIEW Web Services uses port 3580, and you cannot adjust the HTTPS settings.

New and Changed Web-Service Related VIs

LabVIEW 2013 includes the following new and changed VIs.

Web Services VIs

The Web Services palette includes a new Service subpalette. Unlike other Web Services VIs, you can call the Service VIs from startup VIs as well as HTTP method VIs. This palette includes the following VIs:

SMTP Email VIs

LabVIEW 2013 includes all new SMTP Email VIs on the SMTP Email palette. Use the SMTP Email VIs to send email, including attached data and files. LabVIEW sends the email using the Simple Mail Transfer Protocol (SMTP). For added security, you can use Transport Layer Security (TLS) to communicate with the SMTP server. You also can specify authentication credentials for the SMTP client.

The SMTP Email palette includes the Send Email Express VI. You can use the Send Email Express VI to send emails quickly from LabVIEW to a list of recipients you specify. However, if you want to configure headers, set TLS settings, or include an attachment, you must use the standard SMTP Email VIs to configure and send an email with more advanced settings.

WebDAV VIs

LabVIEW 2013 includes a new WebDAV palette and new VIs that you can use to transfer files securely to and from a target. The WebDAV palette also includes the more advanced WebDAV Synchronous and WebDAV Asynchronous subpalettes.

Use the WebDAV Synchronous VIs to securely manage files on and transfer files to and from a WebDAV target using a synchronous interface. You can send requests to the WebDAV server only one at a time using the WebDAV Synchronous VIs.

Use the WebDAV Asynchronous VIs to securely manage files on and transfer files to and from a WebDAV target using an asynchronous interface. You can send multiple requests to the WebDAV server simultaneously using the WebDAV Asynchronous VIs.

Productivity Enhancements to Event-Driven Programming in LabVIEW

LabVIEW 2013 includes the following enhancements to event-driven programming and related functionality.

Viewing Enqueued Events at Run Time

In LabVIEW 2013, you can inspect the events waiting in an event queue associated with an Event structure. You also can view a list of VIs that contain Event structures with registered events and a log of the events the Event structure handled. Right-click an Event structure and select Event Inspector Window to view the event information.

Customizing When a Control Responds to Movements of the Mouse Wheel

  In LabVIEW 2013, you can specify when a control responds to mouse wheel movements. To do this, navigate to the Key Navigation page of the Properties dialog box for that control. Then select from the available options for the Built-In Mouse Wheel Support component. For example, you can select whether a control responds to mouse wheel movements On Hover or On Key Focus.



[Idea submitted by NI Discussion Forums members tst and jacemdom1]

Enhancements to the Edit Events Dialog Box

The Edit Events dialog box includes a checkbox that allows you to specify a maximum number of event instances to keep in an event queue. If you enable Limit maximum instances of this event in event queues, LabVIEW maintains the queue limit by automatically discarding older events from the event queue as newer events of the same event type arrive.

New and Changed Events Functions

LabVIEW 2013 includes the following new and changed functions:

  • The Events palette includes a new Flush Event Queue function. You can use this function to discard the least recent notify events from one or more event queues.
  • The Generate User Event function includes a priority input that allows you to specify normal priority or high priority for the user event. When you specify high priority, LabVIEW enqueues the user event and associated event data into the event queue in front of any previously generated normal priority events.

Programmatically Controlling Event Structures

LabVIEW 2013 includes new VI Scripting properties and methods to control Event structures.

Block Diagram Enhancements

LabVIEW 2013 includes the following enhancements to the block diagram and related functionality.

Attaching Comments to Block Diagram Objects

  In LabVIEW 2013, you can attach free labels to block diagram objects to keep comments associated with specific objects. LabVIEW keeps the comments attached to the objects while you arrange the block diagram or use the Clean Up Diagram button. You can attach multiple, different comments to each object, but you cannot attach the same comment to more than one object.

To attach a comment, hover over a comment to reveal a glyph in the bottom right corner. Then, click the glyph and then click a block diagram object.



[Idea submitted by NI Discussion Forums member Chris_H.]

Managing Unfinished Tasks in LabVIEW

  You can manage a list of tasks, or to-do items, using hashtags (#) in labels and block diagram comments. A hashtag followed by text is called a bookmark. When you add a hashtag to a block diagram comment, LabVIEW detects a bookmark and bolds the bookmark tag to distinguish it from the rest of the text, such as #rewrite algorithm. Use bookmarks to identify incomplete code that needs further development. To find all bookmarks in your application, select View»Bookmark Manager to display the Bookmark Manager window.

Note  You can place bookmarks only in labels and block diagram comments. You cannot use these bookmarks for control or indicator labels.


[Idea submitted by NI Discussion Forums member Edupo]

Front Panel Enhancements

Enhancements to Graphs

LabVIEW 2013 includes the following enhancements to the mixed signal and digital waveform graphs.

Grouping Digital Lines into Buses on a Mixed Signal Graph

In previous versions of LabVIEW, when you wire digital data to a mixed signal graph, the mixed signal graph displays individual digital lines for each digital data set, and LabVIEW groups them under a parent node.

In LabVIEW 2013, when you wire digital data to a mixed signal graph, the mixed signal graph groups digital lines into buses, which display the combined value of all of the lines within them, similar to the digital waveform graph. If you wire an array of digital data where each array element represents a bus, the mixed signal graph plots each column of digital data per element as a different line.

To compare data more closely, you can move buses to another plot area. To move a digital plot from one plot area to another, you must move the entire bus. To move a bus, select the icon in the plot legend next to the name of the bus you want to move, and drag the icon to another plot area in the plot legend.

Note  You cannot separate digital lines from a bus on a mixed signal graph because separating a line from a bus breaks the data representation.

Formatting Bus Labels with Fixed-Point Representation

In LabVIEW 2013, you can format a bus label on a mixed signal or digital waveform graph with fixed-point representation by right-clicking a bus in the plot legend and selecting Label Format»Fixed-Point from the shortcut menu. To configure the encoding and range of fixed-point labels, right-click a digital bus and select Label Format»Configure Fixed Point to display the Configure Fixed Point dialog box.

You also can use the Fixed Point Style property, Fixed Point Settings property, and Fixed Point Digits of Precision property to configure the Fixed Point label format programmatically.

LabVIEW 2013 includes the following enhancements to the LabVIEW environment.

Dialog Box Enhancements

LabVIEW 2013 includes the following dialog box enhancements.

Creating Reports to Compare VIs and VI Hierarchies

In the LabVIEW Professional Development System, LabVIEW 2013 allows you to create a comparison report after comparing VIs and VI hierarchies. Select Tools»Compare to compare VIs or VI hierarchies. To save the comparison in a report, click Create Report in the Compare VI Hierarchies dialog box or in the Differences dialog box. You can save the report as a Web page (.xml) or as a text file (.txt). (Windows) You also can save the report as a Microsoft Word document (.doc).

Note   You must have Microsoft Word installed to create a Microsoft Word report.

The comparison report summarizes all the differences between the VIs or VI hierarchies that you compare. The Web page and Microsoft Word reports also contain screenshots of the differences on the front panel and block diagram. You can view a list of the differences and details in the Differences dialog box and Compare VI Hierarchies dialog box.

Note  The comparison report is only in English.

Application Builder Enhancements

Automatically Selecting NI Software for Installers

  When you build an installer in LabVIEW 2013, LabVIEW automatically selects installers for the drivers and other software components required by the built application. Use this feature to reduce the possibility of building an installer without the right components. To disable this feature, remove the checkmark from the Automatically select recommended installers checkbox on the Additional Installers page of the Installer Properties dialog box for the installer.



[Idea submitted by NI Discussion Forums member jlokanis]

Creating Directory Versions in Build Specifications

In LabVIEW 2012 and earlier, if you create a build specification, LabVIEW does not include the build version number in the directory path on disk. In LabVIEW 2013, you can use tags in the build destination path so LabVIEW automatically includes the build version in the directory path. You can include the [VersionNumber] tag in the Destination path field on the Destinations page or the Destination directory field on the Information page of the build specification properties dialog box.

The following table lists the tags to use for each build specification and the resulting directory name on disk.

Build Specification Tag User-Defined Path Directory Created on Disk
Application (EXE) [VersionNumber] C:\temp\builds\[VersionNumber] C:\temp\builds\1.0.0.0
Installer [ProductVersion] C:\temp\builds\[ProductVersion] C:\temp\builds\1.0.0
.NET Interop Assembly [VersionNumber] C:\temp\builds\[VersionNumber] C:\temp\builds\1.0.0.0
Packed Library [VersionNumber] C:\temp\builds\[VersionNumber] C:\temp\builds\1.0.0.0
Shared Library (DLL) [VersionNumber] C:\temp\builds\[VersionNumber] C:\temp\builds\1.0.0.0
Source Distribution [VersionNumber] C:\temp\builds\[VersionNumber] C:\temp\builds\1.0.0.0

For example, if you build a stand-alone application and include the [VersionNumber] tag in the Destination directory field on the Information page of the Application Properties dialog box, LabVIEW builds the application to a path that includes a folder with the name of the current version.

Note  If you enable the Auto increment checkbox, or Auto increment product version checkbox for installers, on the Version Information page, and you use the [VersionNumber] or [ProductVersion] tags, LabVIEW creates a new directory that includes the version number instead of overwriting the previous build on disk.

Building Applications for a Target That Runs Windows Embedded Standard

You can use the Application Builder to build certain types of applications on targets that run the Windows Embedded Standard operating system. However, you cannot use the Project Explorer window to deploy any type of application to a target that runs this operating system. To deploy any application to a target that runs Windows Embedded Standard, you must copy the application files from the development computer to the target.

Developing Applications on Windows Embedded Standard Targets

You can develop LabVIEW applications on National Instruments hardware that runs the Windows Embedded Standard operating system. By adding a Windows Embedded Standard target to a LabVIEW project on the host computer, you can debug and run VIs on the target from the host computer.

LabVIEW 2013 supports the following National Instruments hardware for developing applications on Windows Embedded Standard targets:

  • NI cRIO-9081
  • NI cRIO-9082

For the host computer to connect to the Windows Embedded Standard target, the target must enable NI LabVIEW Remote Development Target Support. Refer to the NI LabVIEW Remote Development Target Support Readme, available on the target or on the LabVIEW Remote Development Target Support software installer, for more information about LabVIEW Remote Development Target Support and how to configure the Windows Embedded Standard target for remote development of LabVIEW applications.

Enhancements to Troubleshooting Errors Encountered While Building an Application

  LabVIEW 2013 includes improvements to the most common error messages you can encounter during the build process for the following LabVIEW builds:

  • Stand-alone applications
  • .NET interop assemblies
  • Packed libraries
  • Shared libraries

The error dialog returns more explicit error messages and includes a link to the LabVIEW Application Builder support Web page at ni.com. Use this support page to troubleshoot an error message or search through the related resources for a specific type of application.



[Idea submitted by NI Discussion Forums member RavensFan]

Including Web Services in a Stand-Alone Application or Installer

When you build a stand-alone application or installer, LabVIEW can include a Web service in the built application or installer so the Web service runs when the resulting build runs. To include a Web service in an application or installer, right-click an application or installer build specification, select Properties, and browse to the new Web Services page of the properties dialog box for the build specification. The Web service must exist in the same project as the build specification.

Related Information

LabVIEW 2013 Features and Changes: Creating and Publishing LabVIEW Web Services

Including a Web Service in a Stand-alone Application or Installer

Enhancements to the Caching Behaviors for Installers

If the distribution media is unavailable when you use the Application Builder to build an installer that contains additional installers or components, the Application Builder prompts you to locate the original distribution for the components. In previous versions of LabVIEW, on the Additional Installers page of the Installer Properties dialog box, you can enable options to cache the distribution components from their original media location or cache the components when you run the installers or both.

LabVIEW 2013 combines the previous caching options into one checkbox. Enable the Cache for Future Distributions checkbox to copy the selected installers from the original media location and all future installers to the computer.

New and Changed VIs, Functions, and Nodes

LabVIEW 2013 includes the following new and changed VIs, functions, and nodes.

Application Control VIs and Functions

The Application Control palette includes the following new functions:

Use these functions to get or set control values faster than is possible with other VI Server objects, such as the Value property in the Control class. You can use these functions to get or set control values almost as fast as when you wire directly from or to a control terminal. However, these functions require more advanced application design than other methods for getting and setting control values.

Cluster, Class, & Variant VIs and Functions

The Cluster, Class, & Variant palette includes the following new VIs:

Flatten/Unflatten String Functions

The new Flatten/Unflatten String palette includes the following new functions:

The Flatten/Unflatten String palette also includes the following functions:

Memory Manager Functions

LabVIEW 2013 includes the following new memory manager functions:

  • DSNewAlignedHandle—Creates a new handle to a relocatable block of memory of the specified size, alignment, and alignment offset.
  • DSNewAlignedHClr—Creates a new handle to a relocatable block of memory of the specified size, alignment, and alignment offset, and initializes the memory to zero.
  • DSSetAlignedHandleSize—Changes the size, alignment, and alignment offset of the block of memory referenced by the specified handle.
  • DSSetAlignedHSzClr—Changes the size, alignment, and alignment offset of the block of memory referenced by the specified handle, and sets any new memory to zero.

You can call these memory manager functions from external C/C++ code to allocate and resize memory blocks with specific alignment characteristics. These functions are most useful when you allocate arrays of LabVIEW data that you plan to access with specific operations that perform better when you align the data at certain address boundaries. For example, you can use these functions to allocate arrays of LabVIEW data that you plan to access with SSE or AVX vector instructions or DMA data transfers between LabVIEW-allocated memory and hardware.

Changed VIs and Functions

The following VIs and functions changed in LabVIEW 2013.

TDM Streaming VIs and Functions

In LabVIEW 2013, the TDM Streaming VIs and functions support additional data types, such as single-precision and double-precision complex floating-point numbers. This palette also includes the following changes:

  • TDMS Generate Random Data—This VI includes the new CSG and CDB instances. You can use these instances to generate random complex floating-point numbers with single precision or double precision, respectively.
  • TDMS Open—This function includes the new create index file? input, which specifies whether LabVIEW automatically generates a .tdms_index file for the corresponding .tdms file. This index file enables LabVIEW to speed up random access to the .tdms file. If you have limited disk space, wire a FALSE value to this input to prevent LabVIEW from generating the .tdms_index file. The default is TRUE.
  • TDMS File Viewer—This VI includes the new Go To button in the Values (table) page of the TDMS File Viewer dialog box. Use this button to specify the index number of a data value you want to view.
  • TDMS Flush—This function includes internal improvements and is more reliable than the same function in previous versions of LabVIEW. You can use this function to force the operating system to write any buffer data to a .tdms file. However, using this function might negatively impact the performance of your TDMS application.

Waveform File I/O VIs

Miscellaneous VI and Function Changes

  • Amplitude and Level Measurements—The Amplitude Measurements parameter in the Configure Amplitude and Level Measurements dialog box of this Express VI contains the following renamed options:
    • DC is renamed Mean (DC).
    • Maximum peak is renamed Positive peak.
    • Minimum peak is renamed Negative peak.
  • Write To Measurement File—This Express VI includes the new Microsoft Excel (.xlsx) option in the configuration dialog box. Select this option to write data to a Microsoft Excel file. This Express VI first stores data in a temporary file and then flushes the data to the Excel file. Use the new Flush? block diagram input to specify the frequency at which you want to flush the data. (OS X and Linux) In LabVIEW 2012 and earlier, this Express VI can create and save only .lvm files. In LabVIEW 2013, this Express VI can create and save additional file types, such as .tdms and .xlsx files.

New and Changed Classes, Properties, Methods, and Events

LabVIEW 2013 includes new VI Server classes, properties, methods, and events.

LabVIEW 2013 includes changes to the Get VI Dependencies (Names and Paths) method. Use the Include Alternate Call Setups VIs parameter to return subVI calls that use the Reload for each call or Load and retain on first call options from the VI Call Configuration dialog box. Use the Load Block Diagram? parameter to load the block diagram of a VI before LabVIEW evaluates the application for any dependencies.

Updates to LabVIEW Examples

LabVIEW 2013 includes redesigned and reorganized examples to better demonstrate LabVIEW programming. Refer to the examples folder in the labview directory to view the new locations and updates for these examples.

Improved Installation Experience for the VI Package Manager (Windows)

You can install the VI Package Manager (VIPM) software from the LabVIEW Platform DVDs.


 

Your Feedback! poor Poor  |  Excellent excellent   Yes No
 Document Quality? 
 Answered Your Question? 
Add Comments 1 2 3 4 5 submit