Real-time Code Execution: LabVIEW
Real-Time applications run on a dedicated processor with a real-time
In 1999, National Instruments introduced LabVIEW Real-Time, a revolutionary development tool for real-time and embedded systems. Based on the rapid prototyping and development of graphical programming, LabVIEW Real-Time delivers increased productivity by compiling intuitive LabVIEW code directly to machine code optimized for real-time targets.
With LabVIEW Real-Time, you define program operation using one tool that spans the entire phase of development including system configuration, algorithm prototyping, and application deployment. Users may develop on a Windows or Mac OS X system and then realize reliable deterministic performance by deploying the LabVIEW code to a dedicated real-time target. They can match performance, ruggedness, I/O type, and form-factor needs of a variety of applications by selecting from a number of real-time platforms including PCI plug-in boards, PXI systems, Compact FieldPoint systems, Compact Vision Systems, and FPGAs embedded in NI reconfigurable I/O hardware.
All LabVIEW Real-Time deployment platforms are based on off-the-shelf computing components including a microprocessor, RAM, non-volatile memory, and an I/O bus interface. The embedded software consists of a real-time operating system, driver software, and a specialized version of the LabVIEW run-time engine.
LabVIEW Real-Time programs run predictably in time by using a real-time operating system that follows a preemptive scheduling mechanism. Using property pages, users specify the appropriate priority level for each section of code. As the application executes, the real-time operating system ensures that high-priority operations, such as closed-loop control tasks, always receive necessary time from the processor. Less important tasks, such as data logging and Ethernet communication, occur when the higher priority tasks are idle.
In addition to deterministic performance, real-time operating systems impart a higher level of reliability because they are specialized, streamlined operating systems that use fewer resources and eliminate the fragilities of desktop operating systems. The architecture of LabVIEW Real-Time systems also assume no dependencies on human interaction, enabling the systems to quickly boot and immediately begin an appropriate application without waiting for a signal from the mouse or keyboard.
With LabVIEW Real-Time, a broad base of engineers are now taking advantage of real-time technology to implement systems with deterministic performance, increased levels of safety and reliability, and embedded intelligence. Today, customers run LabVIEW Real-Time applications to control nuclear fuel rods, design engine control units, monitor the health of transmission towers, and synchronize measurement and control in electromechanical system tests.