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 chassis.
- 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.