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

3 visualizzazioni (ultimi 30 giorni)
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 Commento
Proact
Proact il 20 Giu 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.

Accedi per commentare.

Risposta accettata

Vinod
Vinod il 13 Lug 2015
Try using inputsinglescan and outputsinglescan inside your control loop.
  1 Commento
Jack
Jack il 23 Lug 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?

Accedi per commentare.

Più risposte (2)

Lucien Robinault
Lucien Robinault il 29 Gen 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 il 8 Giu 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 Commenti
Jens
Jens il 10 Giu 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 il 10 Giu 2020
No. Since I got it working with the cheap and fast Arduino Due I've not tried anything else.

Accedi per commentare.

Community Treasure Hunt

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

Start Hunting!

Translated by