Everyone likes a top 10 list, and it was easy to find 10 improvements in National Instruments’ latest incarnation of LabVIEW. Developers who use the package will likely have their own favorites since the latest features span a range of facilities.
Some of the newest additions like 3D Math Plots have been on the wish list for a while. Developers will now have 11 types of graphs to choose from. Also, the interactive window used for presentation allows users to rotate the plots for improved viewing.
The Verification and Validation support deliver unit and system test support. The unit test system is linked to an automated report generation system. System test is now under the auspices of NI VeriStand, which incorporates test automation and requirement management for larger projects and organizations.
Clean and Tidy
LabVIEW is a graphical programming language, and well-laid-out programs are easier to understand. Unfortunately, a rat’s nest of links can result when laying out a new program. That’s why an automatic cleanup feature was added to the prior release.
However, developers often want to fix up only a fraction of the visible application—hence, the new Partial Block Cleanup feature. A number of methods can be used to specify the area subset to clean up.
The Icon Editor is another wish list feature. It lets developers create icons for virtual instruments (VI) from within LabVIEW instead of resorting to a third-party tool.
The LabVIEW MathScriptRT Module brings the text-based MathScript programming support into LabVIEW Realtime. MathScript was available only in the desktop version of LabVIEW, forcing developers to recode embedded applications into graphical LabVIEW code or to C/C++. Neither chore is much fun, and translation is prone to errors. Now, the original code works on either target.
While LabVIEW can target FPGAs, it uses the FPGA tools that tend to be rather verbose when compiling. The new LabVIEW FPGA Compile Window is designed to summarize results and present information sooner in the process in case problems occur. This is more important than it might seem because adding or changing a VI in an FPGA design can cause major changes in size and layout.
These changes can significantly increase the compilation time when the target FPGA will be filled because of the optimizations that need to be applied. Likewise, a new design may exceed the capabilities of the target. This addition enables developers to find this information out well before the process completes, allowing premature termination.
Done with Documentation
Documentation usually isn’t high on a developer’s list of favorite chores, so anything that can improve the situation is a good thing. The StatechartAutoDocs feature takes a LabVIEW state chart and generates a readable facsimile of its operation.
It helps to use names and constants that are representative of the actions and conditions, but it does come in handy, especially when changes are made. Unfortunately, the feature is limited to statecharts.
VI Snippets is designed to bring the Internet to the LabVIEW development environment, so pasting LabVIEW code from a Web page is a one-step process. Keep in mind, though, that LabVIEW VIs are graphical programs.
As a result, typical cut-and-paste does not work too well. Also, having to download an archived file, extract the code, and then use it tends to be a royal pain. Only Web sites that service LabVIEW developers will need this feature, but it should make experimenting and learning about VIs much easier.
The Real-Time Hypervisor is a highlight of things to come. It brings virtual machine (VM) support to LabVIEW targets capable of handling a hypervisor. The hypervisor supports a pair of VMs. One is a real-time version of the LabVIEW runtime designed to run embedded LabVIEW applications.
The second VM runs Windows and any Windows-based application. This can include LabVIEW as well, permitting a real-time LabVIEW application to be segregated from its desktop or user-interface component. This typical approach is used with applications written in other languages, but this is the first time that it could be applied to real-time LabVIEW applications. It makes sense given the multicore, multiprocessor platforms available as embedded targets.
This is probably the most interesting new feature. Demand will drive support for additional VMs and client operating systems such as Linux.
Last but not least, LabVIEW versioning has undergone a numbering change. Drivers will retain their versioning system, but LabVIEW will now be linked to the year of release for its major version. The new features may not be as impressive as the multicore support added in recent years, but every one was worth the wait.