Digital Multimeters (DMMs) and Precision DC Sources

cancel
Showing results for 
Search instead for 
Did you mean: 

Using a digital signal of HSDIO 6542 as external trigger to capture a waveform on the DMM 4070

Hello,

in attachment you can find the program I'm using for my measurement: I'm generating and acquiring digital signals with the PXI-6542 and at some trigger point of one of those digital signals I'd like to capture the measured values on a plot with the Digital MultiMeter (PXI-4070). Since I do not have an external trigger cable for the DMM, my trigger source for the DMM is, a RTSI data line on the backplane that picks up a generated digital signal of the HSDIO that I connect as external trigger to the PXI-5404 it's PFI input and that is send on on the RTSI data line (pretty complicated but I see no other option without that external trigger cable). It's not attached in my code since I use a separate VI for that.

It does work if you configure the generation repeat mode as continuous, but if you do have a finite repetition (repeat count is 1) it doesn't react on the trigger, as if it can't find a trigger. On the other hand, if you have a finite repeat count of 30 or more it does react and triggers correctly again.

First I though it had something to do with autocalibration before the measurement takes place, but If you do a highlight execution (stepping through the program) it looks like it measures before the generation session is initialized.

Is there a way to measure correctly when the repeat count is only 1?There's probably a timing dependency issue between the HSDIO and DMM, but how can I solve that issue? Putting them in series probably won't help me either? How can I make sure both devices are INITIATED at the same time? I can't seem to find a good way. It sometimes works at very low frequencies (1 or 2 KHz) but it should also work at 50KHz or 100 KHz I guess (since the bandwidth of the DMM is 300KHz.)

Jürgen

 

Jürgen

0 Kudos
Message 1 of 2
(6,687 Views)
Jurgen,

Just a quick look at your code but there may be a problem with software timing. 

You have two HSDIO tasks running that have a good amount of flow control.  Using the error cluster line, you can guarantee which functions are called in which order.  However, your DMM code is not part of that chain at all. 

Since LabVIEW is a dataflow language, parallel/non-dependent blocks of code will execute in parallel.  As such, it may be the case that your HSDIO session has started and generated the trigger before your DMM has been configured to receive it.  When you set your HSDIO to generate continuously, the DMM would trigger on a subsequent itteration.

To clear up this dependency, you can make all of your DMM configuration and trigger setup and initiate calls before you initiate your HSDIO session.  By initiating your DMM first, you are making sure that it is running and waiting on a trigger before your HSDIO sessions generates the trigger.
0 Kudos
Message 2 of 2
(6,680 Views)