Generate Continuous Analog Output Using NI Card
Afficher commentaires plus anciens
Hello,
I am trying to generate continuous analog output using an NI card (NI USB-6343). The frequency of the analog output will be updated based on an algorithm and other input data. However, I am struggling with a more basic step and for now, I would just like to generate a continuous voltage signal using data called from a function (queueMoreData.m). My code:
daq.reset
daq.HardwareInfo.getInstance('DisableReferenceClockSynchronization',true); % This is to overcome a different issue
d = daq.getDevices;
s = daq.createSession('ni');
ch = addAnalogOutputChannel(s,'Dev1','ao0','Voltage');
lh = addlistener(s, 'DataRequired', @queueMoreData);
s.IsContinuous = true;
queueOutputData(s,linspace(-1, 1, 1000)');
startBackground(s);
Which calls the function queueMoreData.m
function queueMoreData(src,event)
queueOutputData(s, linspace(-1, 1, 1000)');
end
This is based on this tutorial: http://uk.mathworks.com/help/daq/generate-analog-output-signals.html#btxscoj-1
But I get the following error:
_Warning: Error occurred while executing callback: Undefined function or variable 's'.
Error in queueMoreData (line 3) queueOutputData(s,linspace(-1, 1, 1000)');
Error in daq.internal.BaseClass/notify (line 91) obj.notify@handle(varargin{:});_
Etc Etc Etc
Any help would be very much appreciated!
Réponse acceptée
Plus de réponses (0)
Catégories
En savoir plus sur Test and Measurement dans Centre d'aide et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!