Handling time out warning

12 次查看(过去 30 天)
Marcelo Del Fiore
Marcelo Del Fiore 2014-8-12
I´m getting warning message " Warning: VISA: Timeout expired before operation completed." when acquiring data from a oscilloscope using visa() function.
How can I extend the time out period of USB port.
Thanks,
Marcelo

回答(2 个)

Salaheddin Hosseinzadeh
Hello Marcelo,
lets assume you're creating your visa device as such
mydevice = visa(...);
Now you can see the device properties as follows
get(mydevice); % this shows you timeout and ...
Then you can change the device timeout by using set command
set(mydevice,'Timeout',20);
Be aware, if you allocate a huge number, then you have to wait till the end of time out in case of an error in communication!
That's as far as I can remember! Hope that helps.
Good Luck!
  1 个评论
Salaheddin Hosseinzadeh
Oh! BTW if you want to handle the error, which is what you said in the question title but then you asked a different question in your explanations, you have to define a callback function for the 'TimeoutFcn' or 'TimeoutErrorFcn' or a similar property of your device, which you can find it just as I explained, and you can set it using the set command explained above.
It's good to have look at the MATLAB documentation (doc) to find more about how to set the callback function ;)

请先登录,再进行评论。


Kaushik Budheliya
Hello Marcelo,
You should add pause(1); between each write and read command, it will help the instrument to read and write exact data.
I hope it will solve your problem.
Best of Luck!
fwrite(obj,...);
pause(1); % unit is second(s)
fread(obj,...);

类别

Help CenterFile Exchange 中查找有关 Instrument Control Toolbox Supported Hardware 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by