Archived:Time Drift and Jitter on Synchronization in a Real-Time CompactRIO Controller

Updated Jan 31, 2019

National Instruments does not actively maintain this document.

This content provides support for older products and technology, so you may notice outdated links or obsolete information about operating systems or other relevant products.

Reported In


  • LabVIEW Full

Issue Details

I am using multiple compactRIOs and they are all reporting back to a single window. What is the difference between system time drift and jitter in this situation? How does it affect synchronization and what are the best methods for synchronization?


Jitter indicates how early or late a loop finishes in your RT code. It is a measurement and therefore cannot be found in any manual. Jitter is measured in absolute time and units will vary by situation and target.  For a Real-Time controller, jitter is usually expressed in microseconds. Jitter is very dependent on code architecture and resource utilization. For example, the jitter in a 901x series controller would be lower than on a 900x controller running the same code. The 901x controller is faster and has more resources to maintain timing. 

The System Time Drift is how much your clock will drift over time. It is a property of the Real-Time Clock (RTC) chip on the controller. Drift values be found in the manual; as well as, in the RT Help File.   Drift is measured in parts per million (ppm) and is given by the following formula:

Time Drift in Seconds/Day = ( [ Accuracy in PPM ] / 1 Million ) * ( # Seconds Per Day )

For example, referring to the specifications for a 901x series controller, System Time Drift is 35ppm at 25 Degrees Celsius. This indicates a drift of approx. 3 seconds/day. (12 PPM is 1 second/day). 

The operating system clock is synchronized with the RTC at startup.  Once running, the OS time is derived from the tick of the RTC, any drift encountered by running the controller over long periods of time can be adjusted by using the LabVIEW RT timing VIs such as Get/Set Date and Time.

Alternatively, you can use the following timing sources, in place of the RTC, by adjusting the INI file.
  • An SNTP server
  • A 1588 source

These alternatives allow synchronization between different controllers. Refer to Related Links section for more information about using these resources.

LabVIEW 2009 features the ability to use absolute time timing sources to synchronize the start of timed structures running on one or more distributed computing devices connected over Ethernet. For more information on using absolute timing sources follow the LabVIEW 2009 help link below.

Additional Information

The absolute timing source relies on the system clock of the computing device on which the timed structure runs.


Not Helpful