Converting a Desktop PC to a Phar Lap ETS Real-Time Target

Updated Dec 22, 2023

Environment

Hardware

  • CompactRIO Controller

Software

  • LabVIEW Real-Time Module

Note:  NI will remove support for Phar Lap for cRIO in the NI 2020 Software Release and for PXI in the NI 2022 Software Release. For more information, please see the Phar Lap RT OS EOL Road Map .

You may already own a desktop PC that could serve as your next reliable deterministic test or control system. Most PCs feature a general-purpose operating system, which can provide an excellent platform for developing and running your non-critical applications, but fail to provide the requirements for critical applications such as machine control or extended runtime tests. General-purpose operating systems are optimized to run a variety of applications simultaneously, ensuring that all applications receive some processing time. As a result, high-priority tasks can be preempted by lower priority tasks, making it impossible to guarantee a response time for your critical applications. In contrast, real-time operating systems give you the ability to prioritize tasks so that the most critical task can always take control of the processor when needed, guaranteeing reliable predictable and execution.

To learn more about real-time systems, read the white paper: Do I Need a Real-Time System?

Using the LabVIEW Real-Time Module, you can convert a compatible desktop or single-board computer into dedicated hardware running a real-time operating system. A free utility allows you to quickly verify system compatibility via a USB or floppy drive. In addition, the LabVIEW Real-Time Module installs with a fully functional 7 day evaluation period, giving you the flexibility to prototype your real-time system at no cost.

Figure 1. Desktop PCs can be converted to reliable, flexible, and low-cost real-time targets.

Introduction

With LabVIEW Real-Time , applications are developed using the same intuitive graphical programming approach as LabVIEW on the desktop. At runtime your application is sent over Ethernet to run with absolute reliability on the real-time system. While your application runs, you can continue to interact with the front panel and block diagram to debug the application with controls, indicators, execution highlighting, probes, and breakpoints. Applications can also be configured to run headless, without user interaction, when your real-time system starts-up. You also have the option to access your application from any Web browser via an embedded Web server.

Real-time processing is used in various applications ranging from control to design to test. While application space plays a role in determining the appropriateness of one hardware platform versus another, system requirements such as processing requirements, I/O availability, ruggedness of design, and scalability, play an even more critical role. For more information on when to choose a particular real-time hardware target, refer to Building a Real-Time System with NI Hardware and Software.

Deploying a desktop PC as a LabVIEW Real-Time target is ideal for the following scenarios:

Migrating a LabVIEW desktop Windows application to LabVIEW Real-Time - At the outset of application development, it may not be known if real-time is necessary or not. If a developer chooses to start out on a Windows machine running LabVIEW, the option exists to later migrate to LabVIEW Real-Time if more reliability or determinism is required. Additionally, if PCI boards such as multifunction DAQ, FPGA-based reconfigurable I/O, or high-accuracy modular instruments are used, these will be able to seamlessly migrate from a desktop PC running LabVIEW for Windows to a desktop PC running LabVIEW Real-Time.

Considering a single-board computer - Single-board computers are a common platform deployed in an embedded system. The same process outlined in this document for desktop PC’s is also applicable for single-board computers.

Incorporating I/O hardware with low to medium number of channels - Desktop PCs normally offer up to three PCI slots (or more) for use with I/O boards. While this number is sufficient for some applications; if more I/O is required, other real-time targets are available to meet those requirements.

Developing Preliminary Systems - Desktop PCs are ideal for an early prototyping platform when proving out algorithms and system functionality. They offer the ability to scale to PXI-based real-time systems down the road

Configuring a real-time target with minimal investment -  Because desktop PCs compatible with LabVIEW Real-Time use common PC technology components including processors from Intel and AMD, the chance of already owning a PC compatible with LabVIEW Real-Time is very high.

The steps below outline the process for converting a desktop PC to a LabVIEW Real-Time target.

Note: NI is not currently planning on supporting conversion of desktop PCs to NI Linux Real-Time targets. Conversion of desktop PCs to Phar Lap ETS targets is supported.

Step 1 – Verify System Requirements

Verifying that your system is compatible with LabVIEW Real-Time is the first step in converting your desktop PC into a real-time system.
 

LabVIEW Real-Time System Requirements

When purchasing a new PC for use as a LabVIEW Real-Time target, it is very important to first ensure that the PC meets all the required hardware specifications. Figure 3 below shows two example configurations:
 

Example Configuration 1

Example Configuration 2

Processor

Intel Pentium 4

AMD Athlon 64

Ethernet chip set

Intel 82559
(onboard chip set)

NI PCI-8232
(plug-in Ethernet board)

Hard-drive

Parallel ATA (IDE)

Parallel ATA (IDE)

Boot-up Method

Boot into real-time OS with floppy disk loaded with boot image

Boot into real-time OS with USB thumb drive loaded with boot image

Figure 2. Example Real-Time Desktop Configurations

The requirements for a using a desktop PC as a LabVIEW Real-Time target are detailed in Requirements for Desktop PCs as LabVIEW Real-Time Targets. The most common incompatibility is Ethernet chipset.

Step 2 – Configure a Desktop PC as a Real-Time Target

After verifying that hardware requirements have been met, the next step is to configure the desktop PC for application development. This includes:

  1. Booting the real-time target PC into safe mode with the USB utility

Figure 3. USB Utility Boot Manager screenshot
 

  1. Installing LabVIEW Real-Time and additional required software on the real-time target PC, via Measurement & Automation Explorer (MAX) on the development machine. An evaluation version of the LabVIEW Real-Time Module can be installed from the standard LabVIEW Platform DVD. 
     

For step by step instructions to configure your real-time PC, follow the guidance outlined in the document Using Desktop PCs as RT Targets with the LabVIEW Real-Time Module for ETS Targets.

It is important to also consider which I/O boards will be compatible with your real-time PC. NI sells a variety of I/O modules that ship with deterministic real-time drivers. To check if a certain NI I/O module is supported for use with your real-time PC, check the online specifications. You also can contact an NI technical representative to discuss all of your options for building a real-time system, and to verify that all components in the system will work together properly.

Figure 4. PCI Multifunction Data Acquisition, FPGA-Based Reconfigurable I/O, and High-Accuracy Modular Instruments are available for NI real-time PC targets.

LabVIEW Real-Time Deployment License for Standard PCs is also required for each desktop system used as a LabVIEW Real-Time target, if you chose to continue using the real-time PC beyond the 7 day evaluation period.