Developing an application for a real-time controller is similar to developing an application for a PC. However, real-time
applications typically employ particular programming practices in order to adhere to strict timing specifications.
Before you start implementing a real-time application design, make sure you have a well-planned design. Refer to Designing a Real-Time Application for help designing your application.
A real-time application is a VI targeted to a real-time controller in SystemDesigner that contains some deterministic code.
Real-time VIs contain unique real-time nodes that help you write deterministic code in addition to many of the same nodes
that are available in VIs targeted to a PC.
Complete the following steps to implement your real-time application design.
code—To analyze or process data in a real-time application, you
must create code on the diagram of a VI targeted to a real-time controller in
The code you write is entirely
dependent on the goals and requirements of your application.
Place deterministic tasks in Timed
Loops—Timed Loops execute the code
you place within them at a higher priority than code outside of a
Timed Loop. You must place code that you want to
execute deterministically in a Timed Loop.
Organize deterministic and non-deterministic tasks—Separating deterministic code from non-deterministic code helps ensure that deterministic tasks reserve enough processor
resources and avoid excessive jitter.
Transfer data within, to, and from a real-time application—Real-time applications typically require communication between loops or subVIs within the real-time application and with
other applications running on a PC or FPGA. You can use data communication nodes to transfer data within, to, and from a real-time
Eliminate common sources of jitter—You can introduce jitter into your application in a variety of ways. However, you can follow a few simple strategies to identify
and eliminate the more common sources of jitter.
After you finish implementing your application design, you can deploy and test your application