Exchange data between process loops running in parallel on the RT target.
The Timed Loop implements a deterministic process loopA special type of while-loop structure that executes with a precisely-defined time per loop iteration. that reliably operates at a desired rate with very low jitterUnpredictable variation in process loop execution time from one iteration to the next.
Deterministic process loops represent one of the most important constructs offered by a real-time operating system (RTOS) such as the NI Linux Real-Time operating system that runs on the RT target: the RTOS provides a wide range of high-level programming features similar to those available on the PC host such as parallel execution threads, file I/O and network access, all the while ensuring that the code running inside a timed loop strictly meets proscribed timing requirements required for process control systems and other time-sensitive tasks
Place non-deterministic code in adjacent conventional loops and then use appropriate inter-process data communication techniques to exchange values; in this way the timed loop process concentrates on the time-critical task (e.g., managing a high-speed PID process control loop) while the conventional loop deals with the non-time-critical tasks (e.g., logging measurements to a data file or communicating with the PC host through the network)
The conventional while-loop structure is a nondeterministic process loopA conventional while-loop structure whose execution time may vary unexpectedly from one loop iteration to the next. ; its actual execution time can be quite accurate on average, but the execution time for any given loop iteration is not well controlled; this variation in loop time known as jitterUnpredictable variation in process loop execution time from one iteration to the next. can be quite significant, e.g., tens of percent or more, and is generally unacceptable for time-critical tasks such as process loop control
Sources of jitter include use of subVIs that occasionally require more time to complete a task (e.g., file system and network I/O), shared resource contention, and operating system scheduling for parallel processes and routine housekeeping tasks.
Use nondeterministic loops for non-time-critical tasks.
See this application example to compare loop jitter of pulsed waveforms generated by the FPGA, a deterministic loop, and a non-deterministic loop