Write better code with LabVIEW 2012. If you need to build a high-quality measurement or control system that will scale for the future, LabVIEW 2012 has new tools and resources to help. With new capabilities and features like templates and sample projects, self-paced training, and NI’s continued investment in stability improvements, LabVIEW 2012 accelerates success. This means that you can innovate with the confidence that you’ll be more productive while still delivering a high-quality and reliable solution. Find out how LabVIEW 2012 can accelerate your success.

Use and customize recommended architectures for a variety of LabVIEW applications.

Find resources to help you develop a system using LabVIEW and your hardware.

Get the latest version of LabVIEW and receive access to on-demand training.
Standalone cDAQ Support (LabVIEW Real-Time Module)
NI LabVIEW RIO Evaluation Board
NI-946X c-Series Modules for GPS and Chassis Synchronization
Stability Improvements
Support for Single-Precision Floating-Point Data Type on FPGA Targets
Templates and Sample Projects
Right-click menu option for multiple selected items
Specify default label position for controls
Specify default label position for constants
Specify default label position for indicators
Automatic concatenating arrays leaving loops
Conditionally process loop output
Quick drop shortcuts for label positioning
Remove broken wires from selected area
Edit string constant dialog box
Subdiagram label for block diagram structures
Support for Arrays in High Throughput Math Functions (LabVIEW FPGA Module)
Support for Arrays and Clusters in Single-Cycle Timed Loops (LabVIEW FPGA Module)
New SoftMotion Express Vis (LabVIEW NI SoftMotion Module)
Contour Express VI (LabVIEW NI SoftMotion Module)
Improvements to the IMAQ Learn Camera Model VI (NI Vision Development Module)
Improvements to IMAQ Learn Distortion Model VI (NI Vision Development Module)
The Data Matrix, PDF417, and QR barcode reading steps are now combined into one Read 2D Barcode step (NI Vision Development Module)
Configure Steering Frame Express VI (LabVIEW Robotics Module)
Take Simulation Steps VI (LabVIEW Robotics Module)
Initialize Serial Arm VI (LabVIEW Robotics Module)
Acquire Kinematic Parameters VI (LabVIEW Robotics Module)
New Functionality in Get Simulator Reference Polymorphic VI (LabVIEW Robotics Module)
Additional modes for Start Simulator Service VI (LabVIEW Robotics Module)
Wait Until Done VI for Synchronous operations (LabVIEW NI SoftMotion Module)
Generate motion profiles with new Solve Profile method (LabVIEW NI SoftMotion Module)
Motor Control VIs for brushed servo and stepper motor controllers (LabVIEW NI SoftMotion Module)
Programmatic table creation for contour moves (LabVIEW NI SoftMotion Module)
Programmatically set axis properties (LabVIEW NI SoftMotion Module)
Convex Polygon Intersection VI
Polygon Centroid VI
LabVIEW GPU Toolkit
LabVIEW Sparse Matrix and Advanced Analysis Toolkit
LabVIEW Biomedical Toolkit
Support for Cell Arrays (MathScript RT Module)
Organize multiple data-types with a single variable (MathScript RT Module)
New properties for cells class (MathScript RT Module)
New properties for structs class (MathScript RT Module)
Access Model Hierarchy function (Control Design and Simulation Module)
Output Node of the Control & Simulation Loop (Control Design and Simulation Module)
Support for stiff ordinary differential equations (Control Design and Simulation Module)
Support for differential algebraic equation solvers (Control Design and Simulation Module)
New Model Hierarchy palette for configuring model parameters (Control Design and Simulation Module
New Controllers palette for linear models (Control Design and Simulation Module)
Delay input by discreet time steps (Control Design and Simulation Module)
Specify type of algorithm to use for solving the Riccati equation (Control Design and Simulation Module)
Nyquist VI can separate contours for positive and negative frequencies (Control Design and Simulation Module)
Margins function returns gain, phase and delay (Control Design and Simulation Module)
Support for binocular stereo vision (NI Vision Development Module)
Support for advanced Data Matrix parameters (NI Vision Development Module)
Multitone API (LabVIEW Sound and Vibration Measurement Suite)
Signal Generator API (LabVIEW Sound and Vibration Measurement Suite)
Single-Plane Balancing Application Example (LabVIEW Sound and Vibration Measurement Suite)
Web Services Management page
Shared variables accessible via web services
HTTP / HTTPS Client VIs Included
FTP VIs Included
TDMS Advanced Data Reference I/O palette
TDMS Streaming VIs and Functions supported on Mac and Linux
Import Industry-Standard CAD Robot Models (LabVIEW Robotics Module)
Improved Support for Common Types of Robotic Arms (LabVIEW Robotics Module)
Generated .NET Interop Assembly Improvements (Application Builder)
Generated Shared Library Improvements (Application Builder)
Create installers that define an executable to run during uninstallation (Application Builder)
Performance Improvements in Building Applications (Application Builder)
Build API supports Project Reference (Application Builder)
Support for the ISO 15415-2004 and AIM DPM-1-2006 Data Matrix grading standards (NI Vision Development Module)
Support for the ISO 15415-2004 and AIM DPM-1-2006 Data Matrix grading standards (NI Vision Development Module)
New shortcut for starting and stopping SolidWorks simulations (LabVIEW NI SoftMotion Module)
Support for the FPGA Interface from LabVIEW 64-bit Host VIs
Probes for additional data types
Configurable path truncation display
Additional data type details in Contextual Help Window
User configurable compiler settings
Separate compiled code for Express VIs
Separate compiled code for custom controls
Separate compiled code for LabVIEW classes
Separate compiled code for project libraries
Separate compiled code for statechart libraries
Separate compiled code for XControls
Dialog box enhancements
Redesigned properties dialog for front panel Panes
Error ring constant
Event driven programming in Base Package
Polymorphic inputs to Mean VI
Specify initial element value for 'Complex Queue PtByPt' VI
Specify initial element value for 'Data Queue PtByPt' VI
New and changed VI Server classes, properties, methods and events
JKI VI Package Manager Installer Included
Compile Worker Support for Linux (LabVIEW FPGA Module)
New Rangefinder Indicator (LabVIEW Robotics Module)
Actor Framework 4.0 included in vi.lib
Actor Framework Message Maker
Pseudopath input for 'Get LV Class Default Value VI'
Improved Support for LabVIEW Classes on FPGA targets
Performance Improvements for Unused Inline SubVIs (LabVIEW Real-Time)
IP Builder for LabVIEW FPGA
Additional Control over Memory Implementation for Array Constants (LabVIEW FPGA Module)
Improvements to DMA and Peer-to-Peer FIFOs (LabVIEW FPGA Module)
Improvements to Storing Data across multiple clock domains (LabVIEW FPGA Module)
Improved performance of FIFOs in a single clock domain (LabVIEW FPGA Module)
Optimizations for parallel execution of vision analysis (NI Vision Development Module)
Template for Simple State Machine
Template for Queued Message Handler
Template Actor Framework
Sample Project for Finite Measurement
Sample Project for Continuous Measurement and Logging
Sample Project for Feedback Evaporative Cooler
Event driven programming in Base Package
Automatic concatenating arrays leaving loops
Conditionally processing loop output
Quick drop shortcuts for label positioning
Remove broken wires from selected area
Edit string constant dialog box
Subdiagram label for block diagram structures
Probes for additional data types
Configurable path truncation display
Additional data type details in Contextual Help Window
User configurable compiler settings
Separate compiled code for Express VIs
Separate compiled code for custom controls
Separate compiled code for LabVIEW classes
Separate compiled code for project libraries
Separate compiled code for statechart libraries
Separate compiled code for XControls
Dialog box enhancements
Redesigned properties dialog for front panel Panes
Right-click menu option for multiple selected items
Error ring constant
Specify default label position for controls
Specify default label position for constants
Specify default label position for indicators
Actor Framework 4.0 included in vi.lib
Actor Framework Message Maker
Convex Polygon Intersection VI
Polygon Centroid VI
TDMS Advanced Data Reference I/O palette
HTTP / HTTPS Client VIs Included
FTP VIs Included
TDMS Streaming VIs and Functions supported on Mac and Linux
Pseudopath input for 'Get LV Class Default Value VI'
Polymorphic inputs to Mean VI
Specify initial element value for 'Complex Queue PtByPt' VI
Specify initial element value for 'Data Queue PtByPt' VI
New and changed VI Server classes, properties, methods and events
Web Services Management page
Shared variables accessible via web services
LabVIEW GPU Toolkit
LabVIEW Sparse Matrix and Advanced Analysis Toolkit
LabVIEW Biomedical Toolkit
JKI VI Package Manager Installer Included
Generated .NET Interop Assembly Improvements
Generated Shared Library Improvements
Create installers that define an executable to run during uninstallation
Performance Improvements in Build Applications
Build API supports Project Reference
Standalone cDAQ Support
Performance Improvements for Unused Inline SubVIs
Sample Project for LabVIEW Real-Time Control
Sample Project for LabVIEW Real-Time Waveform Acquisition and Logging
Sample Project for LabVIEW FPGA Control on CompactRIO
Sample Project for LabVIEW FPGA Waveform Acquisition and Logging on CompactRIO
Sample Project for LabVIEW Real-Time Control on CompactRIO (RIO Scan Interface)
LabVIEW FPGA IP Builder
Support for Single-Precision Floating-Point Data Type
Support for the FPGA Interface from LabVIEW 64-bit Host VIs
Compile Worker Support for Linux
Support for Arrays in High Throughput Math Functions
Support for Arrays and Clusters in Single-Cycle Timed Loops
Additional Control over Memory Implementation for Array Constants
Improvements to DMA and Peer-to-Peer FIFOs
Improvements to Storing Data across multiple clock domains
Improved Support for LabVIEW Classes
Improved performance of FIFOs in a single clock domain
Access Model Hierarchy function
Output Node of the Control & Simulation Loop
Support for stiff ordinary differential equations
Support for differential algebraic equation solvers
New Model Hierarchy palette for configuring model parameters
New Controllers palette for linear models
Delay input by discreet time steps
Specify type of algorithm to use for solving the Riccati equation
Nyquist VI can separate contours for positive and negative frequencies
Margins function returns gain, phase and delay
Support for Cell Arrays
Organize multiple data-types with a single variable
New properties for cells class
New properties for structs class
Support for binocular stereo vision
Support for the ISO 15415-2004 and AIM DPM-1-2006 Data Matrix grading standards
Improvements to the IMAQ Learn Camera Model VI
Improvements to IMAQ Learn Distortion Model VI
Optimizations for parallel execution
Support for the ISO 15415-2004 and AIM DPM-1-2006 Data Matrix grading standards
Support for advanced Data Matrix parameters
The Data Matrix, PDF417, and QR barcode reading steps are now combined into one Read 2D Barcode step
Programmatically set axis properties
New SoftMotion Express VIs
Generate motion profiles with new Solve Profile method
Motor Control VIs for brushed servo and stepper motor controllers
Programmatic table creation for contour moves
Contour Express VI
Wait Until Done VI for Synchronous operations
New shortcut for starting and stopping SolidWorks simulations
Import Industry-Standard CAD Robot Models
Improved Support for Common Types of Robotic Arms
New Rangefinder Indicator
Configure Steering Frame Express VI
Take Simulation Steps VI
Initialize Serial Arm VI
Acquire Kinematic Parameters VI
New Functionality in Get Simulator Reference Polymorphic VI
Additional modes for Start Simulator Service VI
Multitone API
Signal Generator API
Single-Plane Balancing Application Example
| LabVIEW 8.2 | LabVIEW 8.5 | LabVIEW 8.6 | LabVIEW 2009 | LabVIEW 2010 | LabVIEW 2011 | LabVIEW 2012 | |
|---|---|---|---|---|---|---|---|
| Language Features | |||||||
| For/While Loops | X | X | X | X | X | X | X |
| Case Structures | X | X | X | X | X | X | X |
| ActiveX Functions | X | X | X | X | X | X | X |
| Automatic Wire Routing | X | X | X | X | X | X | X |
| Timed Loops | X | X | X | X | X | X | X |
| Timestamp Control | X | X | X | X | X | X | X |
| Dynamically Register Events | X | X | X | X | X | X | X |
| .NET Functions | X | X | X | X | X | X | X |
| Digital Waveform Data Type | X | X | X | X | X | X | X |
| Feedback Node Inside Loops | X | X | X | X | X | X | X |
| Flat Sequence Structure | X | X | X | X | X | X | X |
| Project Explorer | X | X | X | X | X | X | X |
| Project Libraries | X | X | X | X | X | X | X |
| Conditional and Diagram Disable Structures | X | X | X | X | X | X | X |
| Timed Sequence Structure | X | X | X | X | X | X | X |
| 64-Bit Integer Data Type | X | X | X | X | X | X | X |
| .NET Controls and Events | X | X | X | X | X | X | X |
| Object Orientation | X | X | X | X | X | X | X |
| Statechart | X | X | X | X | X | X | |
| Multicore Timed Loop/ Sequence | X | X | X | X | X | X | |
| Fixed-Point Data Type | X | X | X | X | X | X | |
| Shared Reentrant VIs | X | X | X | X | X | X | |
| Feedback Node Outside Loops | X | X | X | X | X | X | |
| Stop Terminal for For Loops | X | X | X | X | X | X | |
| Programmatic Access to MathScript Plot Properties | X | X | X | X | X | X | |
| MathScript Debugging (Variable Viewer, Output Window, Line Numbers) | X | X | X | X | X | X | |
| Graphical Merge | X | X | X | X | X | X | |
| Platform DVD | X | X | X | X | X | ||
| MathScript Debugging (Breakpoints, Single-Stepping, Syntax Highlighting) | X | X | X | X | X | ||
| MathScript on Mac and Linux | X | X | X | X | X | ||
| MathScript RT | X | X | X | X | |||
| Structures in MathScript | X | X | |||||
| 64-Bit LabVIEW | X | X | X | X | |||
| Native Recursion | X | X | X | X | |||
| Object Orientation in LabVIEW RT/FPGA | X | X | X | X | |||
| VI Scripting | X | X | X | ||||
| Deterministic MathScript Execution for LabVIEW Real-Time | X | X | X | ||||
| Silver Controls Palette | X | X | |||||
| Actor Framework | X | ||||||
| Event Structure in Base Version | X | ||||||
| Conditionally Writing Values to Loop Output Tunnels | X | ||||||
| Concatenate Indexing | X | ||||||
| TDMS Support for Mac and Linux | X | ||||||
| Communication | |||||||
| TCP/UDP VIs | X | X | X | X | X | X | X |
| DataSocket | X | X | X | X | X | X | X |
| Email VIs | X | X | X | X | X | X | X |
| Shared Variables | X | X | X | X | X | X | X |
| Variable Manager | X | X | X | X | X | X | X |
| TCP Implementation of NI-PSP | X | X | X | X | X | X | |
| Distributed System Manager | X | X | X | X | X | ||
| Web Services | X | X | X | X | X | ||
| SSL (Security) for Web Services | X | X | X | X | |||
| Network Streams | X | X | X | ||||
| TDMS Advanced API | X | X | X | ||||
| HTTP and HTTPS Client VIs | X | X | X | ||||
| Productivity | |||||||
| Automatic Tool Selection | X | X | X | X | X | X | X |
| Express VIs | X | X | X | X | X | X | X |
| NI-DAQmx | X | X | X | X | X | X | X |
| DAQ Assistant | X | X | X | X | X | X | X |
| Instrument I/O Assistant | X | X | X | X | X | X | X |
| Example Finder | X | X | X | X | X | X | X |
| Navigation Window | X | X | X | X | X | X | X |
| Instrument Driver Finder | X | X | X | X | X | X | X |
| Third-Party SCC Integration | X | X | X | X | X | X | X |
| Programmatic Access to Control Run-Time Pop-Up Menus | X | X | X | X | X | X | X |
| Find and Replace All | X | X | X | X | X | X | X |
| Reentrant Panels for Debugging Reentrant VIs | X | X | X | X | X | X | X |
| Debugging Built Apps/DLLs | X | X | X | X | X | X | X |
| Class Browser for Properties/Methods | X | X | X | X | X | X | X |
| Auto-Save VIs | X | X | X | X | X | X | X |
| Import Shared Library | X | X | X | X | X | X | X |
| Import Web Services | X | X | X | X | X | X | X |
| Auto-Save Non-VI Files | X | X | X | X | X | X | |
| Merging VIs | X | X | X | X | X | X | |
| Synchronization of Project to Disk | X | X | X | X | X | X | |
| Save for Previous to Multiple LabVIEW Versions | X | X | X | X | X | X | |
| Resolve Project Conflicts | X | X | X | X | X | X | |
| Breakpoint Window | X | X | X | X | X | ||
| Automatic Wire Tunnels | X | X | X | X | X | ||
| Quick Drop | X | X | X | X | X | ||
| Block Diagram Cleanup | X | X | X | X | X | ||
| Properties of Multiple Objects | X | X | X | X | X | ||
| Merging LLBs | X | X | X | X | X | ||
| Programmatic Access to Palette Menus | X | X | X | X | X | ||
| Probe Watch Window | X | X | X | X | |||
| Partial Block Diagram Cleanup | X | X | X | X | |||
| Easy Access to TDMS Files From Microsoft Excel | X | X | X | X | |||
| New 2D and 3D Data Visualization Controls | X | X | X | X | |||
| LabVIEW Search | X | X | X | ||||
| Undo After Save | X | X | |||||
| Edit»Create SubVI Improvements | X | X | |||||
| Templates and Sample Projects Floating-Point Math and Analysis Capabilities on FPGA | X | ||||||
| Array and Cluster Data Support in SCTL | X | ||||||
| Compile Worker Linux Support | X | ||||||
| Improved FPGA Emulation | X | ||||||
| Registers by Reference for FPGA | X | ||||||
| Deeper DMA FIFO Throughput | X | ||||||
| Memory Inference for FPGA | X | ||||||
| Robotics Simulator | X | ||||||
| Right-Click Menu for Multiple Items | X | ||||||
| Long File Path Truncation | X | ||||||
| Separate Label Locations for Controls and Indicators | X | ||||||
| String Editing Dialog Box | X | ||||||
| Subdiagram Labels | X | ||||||
| Enumerated Dialog Enhancements | X | ||||||
| Removing Selected Broken Wires | X | ||||||
| Icon Editor API | X | ||||||
| Contextual Help for Data Coercion | X | ||||||
| Code Analysis Tools | |||||||
| Buffer Allocations | X | X | X | X | X | X | X |
| Real-Time Execution Trace Toolkit | X | X | X | X | X | X | X |
| Upgrade Analyzer Tests | X | X | X | X | X | ||
| Unit Test Framework Toolkit | X | X | X | X | X | ||
| Desktop Execution Trace Toolkit | X | X | X | X | X | ||
| Code Complexity Metrics | X | X | X | X | |||
| Front Panel | |||||||
| Tree Controls | X | X | X | X | X | X | X |
| Subpanel Control | X | X | X | X | X | X | X |
| Combo Box Control | X | X | X | X | X | X | X |
| Radio Button Control | X | X | X | X | X | X | X |
| Alignment Grid | X | X | X | X | X | X | X |
| Export Graphs and Charts for Printing | X | X | X | X | X | X | X |
| Mixed-Mode Graph | X | X | X | X | X | X | X |
| Graph Annotations | X | X | X | X | X | X | X |
| Splitter Bars | X | X | X | X | X | X | X |
| Tools for Building Drag-n-Drop GUIs | X | X | X | X | X | X | X |
| XControls | X | X | X | X | X | X | X |
| 3D Picture Control | X | X | X | X | X | X | X |
| Export Picture Control and XControl for Printing | X | X | X | X | X | X | |
| Text in 3D Picture Control | X | X | X | X | X | X | |
| Native 3D Surface Graph | X | x | X | X | X | ||
| Native 3D Parametric Graph | X | X | X | X | X | ||
| Native 3D Curve Graph | X | X | X | X | X | ||
| 3D Sensor Mapping | X | X | X | X | X | ||
| Export Graph/Array/Chart Data to Excel | X | X | X | ||||
| Performance | |||||||
| Multicore Performance | X | X | X | X | X | X | X |
| TDMS File Format | X | X | X | X | X | X | X |
| In Place Element Structure | X | X | X | X | X | X | |
| Parallel For Loop | X | X | X | X | |||
| Data References | X | X | X | X | |||
| Faster TDMS File Access | X | X | X | X | |||
| SubVI Inlining | X | X | X | ||||
| Parallel For Loop Scheduling Customization | X | X | X | ||||
| Deployment | |||||||
| Create Executables | X | X | X | X | X | X | X |
| Create DLL | X | X | X | X | X | X | X |
| Create Installers | X | X | X | X | X | X | X |
| Debug Deployment License | X | X | X | X | X | X | X |
| Multilingual Run-Time Engine | X | X | X | X | X | X | X |
| Programmatic Access to App Builder | X | X | X | X | X | ||
| Distributed System Manager | X | X | X | X | X | ||
| Create .NET Assemblies | X | X | X | X | |||
| System Replication Tools | X | X | X | X | |||
| Packed Project Libraries | X | X | X | ||||
| Saving VIs Without Compiled Code | X | X | X | ||||
| Application Builder API | X | X | |||||
| Versioned RT Executables | X | X | |||||
| Algorithms | |||||||
| New Analysis Functions (Polynomials, Linear Algebra, Time Domain, Frequency Domain) | X | X | X | X | X | X | X |
| New Analysis Functions (Optimization, Differential Equations, Elementary Math, Statistics, Measurement Analysis, Interpolation, Curve Fitting, Signal Processing, and So On) | X | X | X | X | X | X | X |
| New Analysis Functions (Windows, Signal Generation, Resampling, Filters, Polynomials, Linear Algebra, Curve Fitting, and So On) | X | X | X | X | X | X | X |
| BLAS (Basic Linear Algebra Subroutine) VIs | X | X | X | X | X | X | |
| Reentrant Analysis VIs (for Improved Multicore Execution) | X | X | X | X | X | ||
| PDE (Partial Differential Equation) Solver VIs | X | X | X | X | |||
| Angle Manipulation | X | X | |||||
| Multicore Analysis and Sparse Matrix Toolkit | X | ||||||
| GPU Analysis Toolkit | X | ||||||
| Biomedical Toolkit | X |