Showing results for 
Search instead for 
Did you mean: 

Two edge separation with NI-Scope and HSDIO acquisition

Hello, I am trying to measure the time between the falling edge of a signal on an NI-5162 scope card and the falling edge of a digital signal acquisition on an NI-6545. 


Basically i have a 100k square wave generated by a function generator that I can observe on the scope. On the scope I can create a trigger on a PXI_Trig line. On the 6545 I am acquiring some data, I want to know the time delta between the trigger generated on the scope and the falling edge of one of the DIO lines on the 6545. If I use pattern match trigger on the 6545 i can create a trigger when the channel I want goes from 0 to 1, but how do I measure the time between the two triggers?


I found this two edge separation measurement, which seems like it is almost exactly what i want to do except it seems to apply to just DAQmx. Is there another way to do this measurement without DAQmx?


Thank you

0 Kudos
Message 1 of 3

Good day, 


Alright, still working on this. What I've got going in my process of trying to figure out how to do this is a function generator hooked up to my scope card. I am using the softpannel/instrument studio to setup the scope just for ease of use, ill work an actual VI later, just trying to figure out how to get the time stamps on the DIO acquisition to work for now..


SO, according to this page about HSDIO Read, the wfm info on the 2D U32 poly should give me both absolute time and relative time. I have my scope set up to send a trigger on PFI0 and I am using a slightly modified version of the Dynamic Acquisition of Multiple from the HSDIO examples. I modified it so that the poly of the read edge advance trigger is actually "Start Trig: Edge". This part works just fine. The scope sees the rising edge, triggers and sends out the trigger on the PFI0 line which which i have hooked to the DIO PFI0, it triggers the HSDIO acquisition. The thing is the waveform information I get back from the poly has an absolute time that is basically the epoch time (7pm-ish 12/31/1903) and the relative time is 0. 


Do I need to do something else to get these to work? I thought the Absolute timestamp would be the actual machine time of the instant when each record received its trigger, and the relative timestamp would be the time when the samples started after the trigger. Is this incorrect? How can I determine the time the start trigger is received on the DIO side? 


Thank you

0 Kudos
Message 2 of 3

Just to continue my chronicles of discovery and pain here, I changed the Read Waveform poly to WDT type. I can use a Get Waveform Components node to get an accurate absolute timestamp off the digital data. So, I guess I'm getting a bit closer. 


Strange that the documentation for Read Waveform type 2D U32 insists that it provides an absolute time. If anyone knows more about that, I would be interested to hear what I was doing wrong/misunderstanding, or if it's just broken. 

0 Kudos
Message 3 of 3