By Anthony J. Lockwood
National Instruments unveiled the 2012 version of LabVIEW in August at its annual user event, and I’ve been poking around trying to learn what LabVIEW 2012 means for you do-bees designing ways to connect signals for measurement, control and embedded systems. It appears that the modus operandi behind the new stuff in LabVIEW 2012 boils down to a single, easy-to-grasp idea: Improve your efficiency and productivity while reducing development time and costs.
|In August, National Instruments introduced the 2012 version of its LabVIEW graphical system design environment during NI Week.|
In broad terms, LabVIEW 2012 sees major enhancements across all of its operation areas, as well as its ecosystem of third-party software and hardware creators, certified developers, system integrators and service partners. Problems with earlier versions reported by users and discovered in-house have been fixed. Overall system stability is said to have been enhanced after the previous releases saw a dramatic decline in corrective action requests.
LabVIEW 2012 also incorporates some user-inspired enhancements to the operating environment and for block diagramming. By press time, NI should be introducing an update to its Data Dashboard for LabVIEW, the mobile app for Apple iOS and Android mobile devices for viewing measurement data from NI LabVIEW programs running on a desktop or an embedded system.
One of the new major features hitting the limelight with LabVIEW 2012 is self-paced online training. These courses appear to be a boon for old hands learning new tricks or getting a refresher, as well as for tyros just getting up to snuff with LabVIEW.
LabVIEW 2012 already had instructor-based online, regional and on-site training initiatives. The new self-paced training courses are low-cost on-demand sessions, the likes of which were previously only available to holders of certain software service contracts.
As you no doubt figured out, you can access the self-paced online training 24/7. At present, two of the three courses available are for users who are new or almost new to LabVIEW, while the third is for engineers needing to learn best practices for application and project design. Each course has multimedia training modules, interactive quizzes, and exercises and their solutions.
Templates and Sample Projects
Templates and sample projects are intriguing new productivity enhancements making their debut in LabVIEW 2012. The basic idea here is that you can use these features to make sure you design a scalable system that meets your quality requirements "and learn best practices while you’re at it.
Templates and sample projects do that by recommending how and where to start designing your system architecture. They come with documentation explaining how their code operates, and they are open source, meaning that you can build new LabVIEW projects with them. The documentation also provides details on best practices for adding or modifying functionality.
Templates represent the elementary building blocks of most LabVIEW applications. Currently, NI offers templates for a simple state machine, a queued message handler, and actor framework. The last is described as an advanced framework for creating LabVIEW applications, with many independent tasks that need to communicate with one another.
Sample projects show you how to use a template in desktop-based measurement applications. They provide many common application needs, such as user interface and dialogs, data logging, and error handling. Among the available sample projects are finite measurement and continuous measurement and logging.
NI also offers sample projects for its LabVIEW Real-Time and LabVIEW FPGA modules for developing embedded control and monitoring systems. Areas of interest here include data communication, network connectivity, control routines and data logging with NI’s CompactRIO reconfigurable control/monitoring system and NI’s PXI Express data acquisition modules.
The biggest enhancements to the technical data management (TDM) technologies in LabVIEW 2012 can be found in the TDM Streaming (TDMS) file format for data storage and DIAdem data processing software. However, from a wider audience point of view, the really big news might be that LabVIEW 2012 also adds new built-in TDMS standard and advanced applications programming interface (API) support for Mac and Linux platforms "a much-requested feature.
TDMS has a new functionality called the LabVIEW External Data Value Reference (EDVR). EDVR lets you access a portion of a driver’s DMA (direct memory access) buffer directly. That means you can log data from reconfigurable I/O (RIO)-based hardware directly to disk without any memory copies. I/O throughput can be as high as 3.2 GB/s. New asynchronous I/O palettes are said to improve total memory bandwidth and lessen CPU utilization. All of this makes everything run faster, because it frees your RIO-based hardware to process more data.
The 2012 version of DIAdem for data visualization, analysis and reporting data offers several new built-in engineering functions, ranging from basic math to signal processing. All are intended to make data processing faster and easier. A new Characterize Oscillation function determines the oscillation with the largest amplitude in a signal with different oscillations, while the new Calculate Peaks function determines the minimum or maximum signal values by adjusting a quadratic function section-wise. Also new is the Differentiate function, which calculates the derivative over a central difference quotient.
The NI LabVIEW FPGA module lets you develop LabVIEW programs for NI’s line reconfigurable I/O hardware. That is, you can create and deploy to the market or the field-customized hardware. NI LabVIEW FPGA 2012 has new features for shortening your development time and improving application performance, such as the templates and sample projects mentioned above, improved testing times, single-precision floating-point support, and a new tool for designing LabVIEW FPGA algorithms.
The trustworthiness of the execution time when testing the logic of an FPGA virtual instrument (VI) on your development PC before you compile it, as compared to its compiled execution time, has been improved with LabVIEW FPGA 2012.
LabVIEW FPGA 2012 now supports single-precision floating-point data types natively. NI reports that this lets you retrieve floating-point data from DMA first in, first out (FIFO) buffers directly, eliminating time-consuming and expensive conversions from fixed-point to floating-point. Boolean, numeric and comparison operations within single-cycle timed loops now support cluster and array data types.
Additional features in LabVIEW FPGA 2012 include the new Register construct, which lets you write lightweight, reusable code for communication between loops executing in parallel; new Linux-based FPGA compilation options; high-throughput math node support for fixed-size array inputs; and improvements to the DMA FIFO and peer-to-peer FIFO that enable you to pack small data size elements into a 64-bit array before sending to a host, which results in higher transfer rates.
New Analysis Tools
Key enhancements to LabVIEW’s analysis tools can be found in the LabVIEW Multicore Analysis and Sparse Matrix Toolkit, LabVIEW GPU Analysis Toolkit, and the NI Vision Development Module.
The LabVIEW Multicore Analysis and Sparse Matrix Toolkit now offers more optimal core linear algebra and Fast Fourier transform (FFT) algorithms based on the multithreading capabilities of the Intel Math Kernel Library (MKL) on Windows platforms. More linear algebra functions that leverage the sequential Intel MKL are now available for LabVIEW Real-Time (ETS) systems. The toolkit also has new classes, VIs and graphs for working with real and complex sparse matrices on both Windows and LabVIEW Real-Time (ETS) targets. All of the toolkit’s new libraries operate on both double- and single-precision floating-point data.
The LabVIEW graphics processing unit (GPU) Analysis Toolkit establishes communications between LabVIEW desktop applications and NVIDIA compute unified device architecture (CUDA) GPU hardware. With it, you can execute a set of signal processing and linear algebra functions on the GPU, or call your own GPU applications from LabVIEW.
NI LabVIEW 2012’s Vision Development Module now provides binocular stereoscopic vision functions. This means that you can extract and take advantage of 3D information in LabVIEW applications.
Something for Everyone
Ideas seem to fly out of National Instruments like streamers from a Tesla coil. With all the new features and improvements, NI LabVIEW 2012 surely has something to spark the interest of any engineer designing and deploying measurement and control systems.
NI LabVIEW 2012 runs on Linux, Mac and Windows platforms. Pricing begins at $1,249.
Anthony J. Lockwood is Editor-at-Large for Desktop Engineering. He may be contacted via firstname.lastname@example.org.