Handling time out warning

9 views (last 30 days)
Marcelo Del Fiore
Marcelo Del Fiore on 12 Aug 2014
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

Answers (2)

Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh on 12 Aug 2014
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 Comment
Salaheddin Hosseinzadeh
Salaheddin Hosseinzadeh on 12 Aug 2014
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 ;)

Sign in to comment.


Kaushik Budheliya
Kaushik Budheliya on 1 Sep 2020
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,...);

Categories

Find more on Instrument Control Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!