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.resetdaq.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!
Best Answer