Reading Data from NI USB-6000
18 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
I'm trying to read data from an NI USB-6000 into 32 bit Matlab for an experiment. I was able to view the data in the NI MAX program, but the DAQ toolbox in MATLAB gives the following error:
mydaq.addAnalogInputChannel('dev1', 'ai0', 'Voltage')
NI Error -200452:
Specified property is not supported by the device or is not
applicable to the task.
Property: DAQmx_AI_Coupling
Channel Name: Dev1/ai0
Task Name: _unnamedTask<1A>
Status Code: -200452
When it says "not applicable to the task" I'm not sure what my options are to fix that error. If it's a question of the DAQ card's compatibility, I'm wondering if there are any possible ways to work around the issue before I look into replacing the DAQ card.
Thanks
0 commentaires
Réponses (1)
Pawel
le 17 Sep 2014
Modifié(e) : Pawel
le 17 Sep 2014
NI USB-6000 and its family are not supported by Matlab officially. However, by modifying the DAQ toolbox in matlab you can get it to work. It goes without saying that I do not make any guarantees. Before messing with Matlab's code, make a backup.
The problem seems to be that this family of devices does not need to set the AI coupling or there is a different way to set it than the way matlab previously implemented for NI devices. As far as I can tell, the solution is stable/works but more testing is needed and it may result in bugs. I should also note that some of Matlab's functions seem to work right out of the box - adding digital channels for instance.
To get your DAQ to work, go into the directory which holds matlab. You will need to be administrator on the computer to make these changes. Go to the following file:
MATLAB\R2014a\toolbox\daq\daq\+daq\+ni\AnalogInputVoltageChannel.m
On line 56 you see the function configureTask. Simply comment out the code under % Set the Coupling:
% Set the Coupling
%[status] = daq.ni.NIDAQmx.DAQmxSetAICoupling(...
% taskHandle,...
% obj.PhysicalChannel,...
% daq.ni.utility.DAQToNI(obj.CouplingInfo));
%daq.ni.utility.throwOrWarnOnStatus(status);
% code
This prevents the code which sets the coupling from being executed. From what I've seen it doesn't seem this is necessary in these new USB DAQs, but I will edit accordingly if I run into problems.
2 commentaires
Khairun Nisa Khamil
le 30 Jan 2018
Hi Pawel. I try to edit the file but i couldn't save the file it says Accees denied. Please help
Walter Roberson
le 30 Jan 2018
Run As Administrator, make the changes, save, exit MATLAB to stop running as administrator.
Voir également
Catégories
En savoir plus sur Data Acquisition Toolbox Supported Hardware dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!