Plotting analog input continuously on a given axis
Mostrar comentarios más antiguos
I'm trying to understand the behavior of the Data Acquisition Toolbox when I try to acquire data from a National Instruments board and plot it continuously. My code is printed below. It works -- but only if I declare daqObj as a global variable. If I don't, then I don't get an error, but nothing happens. I'm using Matlab 2020a and Data Acquisition Toolbox 4.1 on a Windows 10 Pro desktop.
function [] = myTest(ax)
% ax is an axes in a GUI made with App Designer
global daqObj % <--- why do I need this?
daqObj = daq("ni");
addinput(daqObj,"Dev1","ai0","Voltage");
daqObj.Rate = 1000;
daqObj.ScansAvailableFcn = @plotMyData;
daqObj.ScansAvailableFcnCount = 5000;
start(daqObj,"Continuous")
function [] = plotMyData(obj,~)
[data,timestamps] = read(obj,obj.ScansAvailableFcnCount,"OutputFormat","Matrix");
plot(ax,timestamps,data)
end
end
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre National Instruments Frame Grabbers en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!