Solution
The inconsistent timing between hardware events is due to the non-deterministic nature of the interactions of MPManager, the MP500, and the Windows operating system.
General purpose operating systems such as Windows receive requests from software applications and hardware and place them in a queue to execute "at first availability". As such, the operating system is serving many commands from the various applications, and creates a natural discrepancy between when events will be processed.
With other NI hardware, such as
PXI or
CompactRIO , we would recommend using a
real-time operating system.
However, MPManager we can implement deterministic timing using a reader sequencer. Sequencers create an entire series of commands that will execute with the exact timing we specify. This sequence is then deployed to the MP500 unit and will execute without requiring back-and-forth communication between the MP500 and the PC, thus creating a real-time operation. The result of the sequence is then reported back to the MP500.
To implement deterministic trigger timing, simply create a reader sequencer which includes triggers, and then specify the timing between triggers using
Miscellaneous > Delay commands.