National Instruments Data Acquisition Trigger Events & Listeners

6 次查看(过去 30 天)
I have a National Instruments 6353 Data Acquisition (DAQ) box. I have an external trigger operating at 10 Hz, so 0.1 seconds per pulse.
When a trigger occurs, I wish to measure 0.05 seconds of the pulse and send the data from analogue input channels to the computer for processing. I want this to occur until I give the stop command.
Ideally, I wish there was a listener that listened for triggers, and when a trigger occurs, it collects the data, sends it to the PC and notifies that the data is ready.
I have spent a lot of time going through the documentation but have still not found the solution. I understand that this is trivial to setup in Labview, but I want to achieve this in Matlab 32 bit.
Any help/examples will be much appreciated.

采纳的回答

Chaitra
Chaitra 2014-6-25
MATLAB documentation lists the following example to acquire data in the background by creating a session and adding a listener to access the acquired data using an anonymous function. For a continuous background generation, add a listener event to queue additional data to be output:
s = daq.createSession('ni');
s.addAnalogOutputChannel('cDAQ1Mod2', 0, 'Voltage');
s.IsContinuous = true;
s.Rate = 10000;
data = linspace(-1, 1, 5000)';
lh = s.addlistener('DataRequired', ...
@(src,event) src.queueOutputData(data));
s.queueOutputData(data)
s.startBackground();
% perform other MATLAB operations during the generation.
The operation is continuous,
s.stop();
delete(lh);
As to how you can add a trigger connection and send data to computer for processing, you can refer to the link provided below: http://www.mathworks.com/help/daq/ref/addtriggerconnection.html#bt_7mfo-1

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Data Acquisition Toolbox Supported Hardware 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by