National Instruments’ (NI) LabVIEW 2018 (Fig. 1) was just one of many new product announcements at this year’s NI Week. LabVIEW 2018 adds a number of new features including support for Python. This was available via third-party tools, but the new implementation makes it a standard feature, thus making it possible to integrate and use Python applications and libraries. Python finds homes in a number of popular application areas, including robotics, vision systems, and machine learning (ML).
1. National Instruments’ LabVIEW 2018 includes new features like support for Python programming.
Developers can all up a Python session as well as create a Python node for incorporation into a virtual instrument (VI). Current support handles Python 2.7 through 3.6. The Python node works like a typical LabVIEW node, with input and output wires that are linked to Python’s parameters and variables.
There is now a Floating-point Library for faster prototyping with the LabVIEW FPGA Module. The 64-bit version of LabVIEW FPGA Module, Advanced Signal Processing Toolkit, and Digital Filter Design Toolkit allow developers to target very large applications. The new version of LabVIEW also includes upport for Vivado 2017.2 FPGA Compile Tools. The LabVIEW Cloud Toolkit for Azure allows applications to take advantage of Microsoft's cloud offering.
LabVIEW 2018 also has a command line interface (CLI). The CLI lets developers execute commands including mass compiles and application building. Furthermore, the graphical Application Builder interface contains new features targeting packaging and deployment of LabVIEW applications. The package system is now used throughout and the system handles dependencies. Backward-compatibility support is available for LabVIEW-Built .NET Assemblies.
Error-register support addresses error handling of parallel For Loops (Fig. 2). Error registers take the place of shift registers in error clusters by automatically merging errors from parallel iterations. According to NI, “The left-side terminal of the error register behaves like a non-indexing input tunnel and produces the same value for each iteration. The right-side terminal of the error register merges the values of each iteration such that the error or warning value from the earliest iteration, by index, is the output value of the error register.”
2. LabVIEW 2018 adds error registers to parallel loops.
LabVIEW 2018 includes many changes suggested by users. There are now more ways to create a type definition that links all instances of a custom control or indicator to a saved custom control or indicator file. Commonly used keyboard shortcuts, such as control-B to bold text, has finally been added. Rewiring objects is cleaner with the IDE using the Remove and Rewire action.
Some new VIs and functions come with LabVIEW 2018. For example, the Comparison palette includes a new Assert Type subpalette. The palette includes support such as Assert Array Dimension Count and Sizes, as well as assertions of numerical types. These features allow developers to specify different data types for malleable VIs. The Connectivity palette includes the aforementioned Python support. And the timing palette adds a new Coerce To Type function.
LabVIEW NXG is having some influence on LabVIEW 2018. LabVIEW 2018 supports the NXG-style controls and indicators for front-panel controls and indicators. Using these features minimizes distortion of an application’s front panels when migrating VIs to LabVIEW NXG.
3. LabVIEW NXG 3.0 is going into beta.
NI continues to enhance its LabVIEW NXG offering (Fig. 3). Version 3.0 is going into beta now; its update sequence is not in sync with LabVIEW 2018. The two continue on their own tracks, making it a challenge for those who would like to use the new features found in NXG but need the features exclusive to LabVIEW 2018.
One major issue holding back NXG is the lack of support for CompactRIO. That’s why the new NI ELVIS III platform uses LabVIEW 2018 instead of LabVIEW NXG—it targets educational environments where NI ELVIS III will be used. CompactRIO support is coming and a high priority for NXG. It’s a prerequisite for the merging of the two lines, which is the long-term goal.