A real-time system includes hardware and software components that enable precise control over the execution of your code.
You use a PC to develop code for a real-time system.
The following figure shows a basic setup for developing a real-time application.
- Development PC—The PC manages connections between devices in the system and provides a graphical environment to create and
edit real-time code. When code runs on a real-time controller, you can use the PC as the user interface to modify VI panels
and view data from the controller.
- Real-time controller—A real-time controller runs a Linux real-time operating system and software that allows you to set precise
timing directives and deterministic execution for real-time code. The real-time controller can also provide precise timing
when communicating with FPGAs and I/O hardware. For example, if you need a set of FPGAs to each perform a unique data processing
task in a particular order, you can use a real-time controller to communicate directly with the FPGAs to guarantee that each
FPGA in the sequence receives instructions at a precise time.
- Real-time system—A real-time system includes the chassis, real-time controller, and other modules in the chassis. You establish
a connection between the real-time system and the development PC to access the real-time controller and other modules in the
- Network connection—A PC and a real-time system must connect to the same network so the PC and real-time controller can communicate
with each other. Over this network connection, the PC deploys code to the real-time controller and acts as a live graphical
user interface for the real-time controller.