Acquire Data and Generate Signals at the Same Time for usb 6008

조회 수: 1 (최근 30일)
mado
mado 2014년 3월 11일
편집: Walter Roberson 2014년 3월 24일
i used this code to aquire and write signals in usb 6008 simultaneously but message error appeared . how to solve that?
% The hardware associated with this session is reserved. If you are using it in another
session use the release function to unreserve the hardware. If you are using it in an
external program exit that program. Then try this operation again.
% % Initialization
%%get connected devices d = daq.getDevices %create session s = daq.createSession('ni')
%add analog channel s.addAnalogInputChannel('ID',channel num, 'measurement type')
s.addAnalogInputChannel('Dev1','ai0', 'Voltage')%irradiance
s.addAnalogInputChannel('Dev1','ai1', 'Voltage')%Temperature
s.addAnalogOutputChannel('Dev1', 'ao0', 'Voltage')
% set rate of scan 1000 scans/second , run for 30 seconds
s.Rate=100;
duration = s.DurationInSeconds
v.TerminalConfig = ' Differential';
%v.TerminalConfig = ' SingleEnded';
%_____________________________
%aquire data and process
lh = s.addlistener('DataAvailable', @plotData)
%store data
h = s.addlistener('DataAvailable', @storedata);
% Analog Output
ao_value = 3.5;
s.outputSingleScan(ao_value)
s.startBackground() s.wait()
delete (lh)
delete (h)

답변 (2개)

Walter Roberson
Walter Roberson 2014년 3월 11일
The device is already in use. If you are using it in another MATLAB session, then either use release() in that session or terminate the session. If the device is being used by another program outside of MATLAB, then end that program. If there is nothing you can find that is using the device then reboot your computer and try again.
  댓글 수: 3
Walter Roberson
Walter Roberson 2014년 3월 11일
편집: Walter Roberson 2014년 3월 11일
I don't see any obvious problem with the code. I would not normally add two listeners for the same event but I guess you could.
When you post error messages please post the exact text including the traceback showing the sequence of calls and the relevant line of code -- everything generated by the error.
Why are you not queuing anything for output?
mado
mado 2014년 3월 12일
편집: Walter Roberson 2014년 3월 24일
ao_value = 3.5;
s.outputSingleScan(ao_value)%
this is my line to send output (3.5) is there any other method ?
i rebooted but another error came in " he session contains channels that do not support clocked operations using startForeground and startBackground." i created two sessions and it is working it can read and write .
%%Initialization
%
global Temperature
global Irradiance
global Vref
global data
%
%get connected devices
d = daq.getDevices
%create session
s = daq.createSession('ni')
s1= daq.createSession('ni')
%add analog channel s.addAnalogInputChannel('ID',channel num, 'measurement type')
s.addAnalogInputChannel('Dev1','ai0', 'Voltage')%irradiance
s.addAnalogInputChannel('Dev1','ai2', 'Voltage')%Temperature
s1.addAnalogOutputChannel('Dev1', 'ao0', 'Voltage')
% set rate of scan 1000 scans/second , run for 30 seconds
s.Rate=100;
duration = s.DurationInSeconds
%v.TerminalConfig = ' Differential';
v.TerminalConfig = ' SingleEnded';
%_____________________________
%aquire data and process
lh = s.addlistener('DataAvailable', @plotData);
%store data
h = s.addlistener('DataAvailable', @storedata);
% Analog Output
ao_value = 4;
s1.outputSingleScan(ao_value)
s.startBackground()
s.wait()
delete (lh)
delete (h)

댓글을 달려면 로그인하십시오.


mado
mado 2014년 3월 15일
when i used queue output data error come in "
% queueOutputData is disabled because the session contains channels that do not support
clocked operations

카테고리

Help CenterFile Exchange에서 Analog Data Acquisition에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by