Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

Analog Out Retriggering of Waveform with Timing Requirements using USB-6003

Hello all,

 

I have two analog output signals(that I produce using a custom python script and spitting them out as a 2xN array). The first signal is just a pulse train that goes at some frequency. The other is an analog signal that is normally a constant value, but at predetermined moments it changes to a different value during the time the other AO is sending a pulse (+/- some overhead). Then both values go to zero intensity for ~40ms. I would like to have it where, instead, the second AO signal changes based off of a digital falling edge trigger. I picture of the desired waveform is below.

 

I am seriously struggling on figuring out how to do this. I've considered having the AO be retriggerable, and then having the higher intensity waveform sections premade, and spitting them out relatively soon after the trigger. I assume there will be some timing issues with ending/restarting a new output, but so long as the timing of my waveforms is correct around the time of the higher intensity pulse (and not too long after the trigger +/- 100ms at absolute worst) then I would be fine with that.

 

I've tried attempting to make the analog outputs retriggerable, with no clear indication on how to do so. I have tried using a method where a counter is used as the clock signal for the AO signals, and that is supposedly retriggerable, but I am not having luck with the counters.

AO_Waveforms.png

 

Any advice on how I should go about this? 

0 Kudos
Message 1 of 2
(1,830 Views)

Your USB-6003 is not well-suited for what you are trying to do.

  • AO tasks cannot be retriggered
  • you can only have 1 AO task at a time that uses a sample clock
  • the single counter cannot generate a pulse train at all, it can only count edges

If you know your signal timing in advance, you can probably get this done another way.  Put both AO channels into a single AO task, predefine the two channels' distinct waveforms, write them into the task buffer and start the task.

 

 

-Kevin P

CAUTION! New LabVIEW adopters -- it's too late for me, but you *can* save yourself. The new subscription policy for LabVIEW puts NI's hand in your wallet for the rest of your working life. Are you sure you're *that* dedicated to LabVIEW? (Summary of my reasons in this post, part of a voluminous thread of mostly complaints starting here).
0 Kudos
Message 2 of 2
(1,813 Views)