Why it shows“Not all channels support on-demand operations. Only clocked operations are allowed”when I use NI-DAQ to acquire data?

33 次查看(过去 30 天)
Hi, all,
When I want to use MATLAB (R2022b-academic use) to control NI-USB 4431 to acquire data, the command window shows "Not all channels support on-demand operations. Only clocked operations are allowed." What does this mean? I can't figure out how to solve it (I have installed NI-DAQmx toolbox, version 22.2.0). Here is the code:
dq = daq("ni");
dq.Rate = 8000;
ch1 = addinput(dq, d.DeviceID, "ai1", "Voltage");
tabledata = read(dq)
In addition, the NI-4431 device information is as follows.
ni: National Instruments(TM) USB-4431 (Device ID: 'Dev1')
Analog input supports:
-10 to +10 Volts range
Rates from 1000.0 to 102400.0 scansc
4 channels ('ai0','ai1','ai2','ai3')
'Voltage','Accelerometer','Microphone','IEPE' measurement types
Analog output supports:
-3.5 to +3.5 Volts range
Rates from 800.0 to 96000.0 scansc
1 channel ('ao0')
'Voltage' measurement type
Thanks!

回答(1 个)

Manikanta Aditya
Manikanta Aditya 2023-3-20
Hi Hunag,
As per my understanding, you are getting error saying Not all channels support on-demand operations. Only clocked operations are allowed. When trying to use NI-DAQ to acquire data.
The specific input channel you are trying to use does not support on-demand operations, which is when data is acquired on demand as opposed to at a regular interval. Instead, it only supports clocked operations, which require you to specify a regular clock signal to trigger data acquisition.
As a workaround, you can add a clock signal to your data acquisition session by using the "addclock" function.
dq = daq("ni");
dq.Rate = 8000;
ch1 = addinput(dq,"Dev1","ai1","Voltage");
clock = addclock(dq,"ScanClock","ai1",dq.Rate);
start(dq,"Duration",1);
tabledata = read(dq)
For further reference, please check out this link to know more about addclock function:
I hope this resolves the issue you are facing.
  1 个评论
KOLBY
KOLBY 2024-7-2
Hello,
I am facing a similar issue when using a MCC USB 205 DAQ board. I receive "Added channel does not support clocked sampling: clocked operations are disabled. Only on-demand operations are allowed. " after adding an output channel. Additionally, this sets the Rate of the board to 0, preventing me from implementing a clock.
While this is the opposite warning, do you know how to use simultaneous analog input and output given the error received?
Is this a limitation of the board, or is there a workaround in MATLAB?
Thank you,
KS
Code used to troubleshoot, error follows that readwrite is limited to clocked operations.
clear; clc; close all;
d = daq("mcc")
addoutput(d, "Board1","ao1","Voltage");
d
addinput(d, "Board1","ai0","Voltage");
d
% clock = addclock(d,"ScanClock","Board1/ai0",d.Rate);
outScanData = linspace(0,1,d.Rate)'; % Increase output voltage with each scan.
inScanData = readwrite(d,linspace(0,1,d.Rate)');

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Analog Data Acquisition 的更多信息

产品


版本

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by