Timestamps

Network-synchronized devices support four timestamp resources that allow for timestamping the first sample clock, start trigger, arm start trigger (counters only) or reference trigger.

The timestamp resources will be used to provide an accurate t0 for waveform reads with timed acquisitions that will correspond to the first sample clock for Analog Input and Digital Input tasks. Therefore, the first sample timestamp is enabled by default for these types of tasks.

The timestamp timescale can be configured using the Timestamp.Timescale attribute/property. Time triggers and timestamps can be specified in I/O Device Time or Host Time, depending on the needs of your application.

  • I/O Device Time

    Shared by all network-synchronized devices on your 802.1AS subnet. I/O Device Time is most useful for synchronizing events across multiple chassis or correlating timestamps from multiple chassis, because even though it may be in an obscure time scale (for example, related to a point in the distant past, such as the Linux 1970 epoch), it removes other sources of skew related to Windows system time or other systems that are not network-synchronized to the same 802.1AS subnet. In that way, it provides best time trigger and timestamp accuracy but may reduce usability if it is not correlated to a recognizable global time. I/O Device Time also has the advantage of being monotonically increasing, so time triggers and timestamps spread across multiple devices or tasks accurately maintain their offsets from each other.

  • Host Time

    The timescale your PC or NI Linux Real-Time controller uses. In cases where the NI Linux Real-Time controller is the Grand Master of your 802.1AS subnet, Host Time and I/O Device Time are the same. However, Host Time is typically synchronized to a local Real Time Clock or a Network Time Protocol server, and it is usually traceable to global time. Using Host Time is more intuitive because triggers and timestamps on the chassis are specified in times that are easily correlated to your local system time. However, this usability comes at the cost of reduced relative accuracy between time triggers and timestamps that are spread across multiple devices or tasks, because using the calculated offset between the two timescales is not as accurate as using I/O Device Time directly. To help account for this loss of accuracy in a specific and common use-case, NI-DAQmx guarantees that two events that are scheduled for the same Host Time are guaranteed to start at the same I/O Device Time, preserving precise synchronization between chassis.

The number of available timestamp resources can be queried using the NumTimestampEngines attribute/property.

Network-synchronized devices include the following devices:
  • cDAQ-9185, and 9189.
  • FD-11601, FD-11603, FD-11605, FD-11613, FD-11614, FD-11634, and FD-11637.
  • cRIO-9040, 9041, 9042, 9043, 9045, 9046, 9047, 9048, 9049, 9053, 9054, 9055, 9056, 9057, and 9058.
  • sbRIO-9603, 9608, 9609, 9628, 9629, and 9638.