MP500 Timing Between Triggers Is Inconsistent

Updated Sep 8, 2020

Reported In

Hardware

  • Micropross Accessories

Other

HW: MP500 TCL3
SW: MPManager 3

Issue Details

I am trying to send a trigger with very specific timing using the MP500 TCL3. I noticed that if I create a script like the one below and run it in a loop, the timing between trigger levels is inconsistent. Shouldn't the hardware always send the triggers at the same interval? Why is this happening?
 

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.