Can you suggest a way to minimise USB latency using data acquisition tool box with NI6211.

3 views (last 30 days)
I want to try a real time control idea using a NI 6211 DAQ analogue I/O unit through USB. That means single inputs and outputs from within a MatLab loop; I cannot send/receive streams of data. I know the USB will make it pretty slow, but I just want to try out the idea. Can you suggest the best way to minimise the slowness?
  1 Comment
Proact
Proact on 20 Jun 2024
"I've been researching data acquisition units and found your blog really informative!" Proact, founded in 2001 and based in Bengaluru, is a leading force in high-tech industries like aerospace, aviation, electronics, defense, and more. Renowned for innovation and excellence, Proact offers tailored solutions to diverse challenges, making it a trusted partner for businesses. Explore cutting-edge services and products at https://www.proact-ims.com/ or contact us at +91 80 3542 9949 for collaboration and innovation opportunities. Elevate your projects with Proact's expertise.

Sign in to comment.

Accepted Answer

Vinod
Vinod on 13 Jul 2015
Try using inputsinglescan and outputsinglescan inside your control loop.
  1 Comment
Jack
Jack on 23 Jul 2015
We've tried that, but we have not got it working. We are using NI C-DAQ 9178 (input module 9234 and output module 9263). Matlab gives the warning: On this platform, notifications more frequent than 20 times per second may not be achievable. Error using Controller1test7 (line 93) The session contains channels that do not support on-demand operations using inputSingleScan and outputSingleScan. Only clocked operations using startForeground and startBackground can be done.
When I met Nick Gautier at Formula Student, he suggested that using the background to receive data and using a new data arrival to trigger a calculation and write the next data point. Attached is the code that fails to do that. Any suggestions?

Sign in to comment.

More Answers (2)

Lucien Robinault
Lucien Robinault on 29 Jan 2018
Hello, It will surely be too late for a solution, but have you tried this : https://fr.mathworks.com/help/daq/examples/software-analog-triggered-data-capture.html ?
And to control the data output flow to control in real time you can use the event 'DataRequired' who would trigger a function sending adequat output signal to control your device. https://fr.mathworks.com/help/daq/examples/generate-continuous-and-background-signals-using-ni-devices.html
You can easly see how it's done in the software analog triggered data capture example.

Jens
Jens on 8 Jun 2020
There is a toolbox that seems to replace the Mathworks interface (Matlab DAQ) to the NI driver (NI-DAQmx). Maybe it can help people with a similar problem:
And an illustration of how much faster it is:
  3 Comments
Jens
Jens on 10 Jun 2020
I'm glad you were successful!
I also hear new Matlab versions perform much better for digital in/out over USB. Any experiences with that?
Jack
Jack on 10 Jun 2020
No. Since I got it working with the cheap and fast Arduino Due I've not tried anything else.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!