Time Triggering

For devices that support it, a time trigger starts an acquisition or measurement at a specific time. If the specified time has already elapsed, you will get an error message indicating the time has already elapsed.

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, the I/O Device Time provides the best precision and relative 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.

    Whether a device supports time triggers or not can be queried using TimeTrigSupported attribute/property.

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