Multifunction DAQ

cancel
Showing results for 
Search instead for 
Did you mean: 

PCI-6120 AO runs before trigger

Hello folks!

 

I'm using a PCI-6120 (Driver NIDAQmx 9.4) with a BNC-2120, with MatLab 2010a. I'm trying to synchronize the generation of a signal with an acquisition. Easy Peasy... as it should be...!! But I have an issue with the AO! Here is how I configured AI and AO so that they are synchronized:

 

set(ai,'TriggerType','HwDigital')
set(ai,'HwDigitalTriggerSource','PFI0')
set(ai,'TriggerCondition','NegativeEdge')

 

set(ao,'TriggerType','HwDigital');
set(ao,'HwDigitalTriggerSource','PFI0');
set(ao,'TriggerCondition','NegativeEdge')


So theoretically, on a negative edge of PFI0, both AI and AO should start running, right?!

 

So I put some data into the AO buffer (using "pudata" function), and I execute start(ai) and start(ao) so that they get ready and wait for a trigger. But then, after having executed start(ao), and before any trigger happens, the AO returns to the initial state: no data in the buffer and AO waiting for start. I don't understand. And the most impressive thing is that if I plug a scope at the output of the AO, I don't see any signal being generated! It's like I didn't do anything! The data in the AO buffer simply vanished.

 

Does anybody have a clue...?

 

Thanks a lot in advance.
And in the meantime, have a good Xmas.  🐵

 

Luc

0 Kudos
Message 1 of 3
(2,787 Views)

Hi Luc,

 

Your problem may be caused by this file mwnidaqmx.dll, the first release of mwnidaqmw.dll had errors with waveform generation and "putdata" command.

 

I hope it will solve your problem.

 

Thanks, I wish you a merry Xmas and an happy new year

 

Best Regards,

0 Kudos
Message 2 of 3
(2,759 Views)

Hi Vincent,

 

I tried to get the dll from a Malab 2011 version but it does not change anything... 😞

 

Any other suggestion?

 

More generally, what can make an AO run before trigger? Even though mine does not really run since I don't get any sample on the output... Everything just disappears... The problem is not when I execute "putdata(ao)", but when I execute "start(ao)". After the putdata,everything is fine. Data are loaded and device is waiting for start. But when I execute start(ao), everything disappears.

 

Regards,

Luc

0 Kudos
Message 3 of 3
(2,715 Views)