12-15-2021 08:23 PM
Hi, i tried using a FOR loop to read out a set of data (spaced out at 0.1ms interval) from a file and converting it to Boolean before sending them to a DIO card to generate a arbitrary waveform. But found out the each loop took 1ms to execute and ended up with a waveform that is 10x slower. I tried using pxie and USB DIO cards but the FOR loop still executes at 1 loop per ms.
How can i make each FOR loop execute faster? Should i use a Waveform Generator card instead or switch to LV CVI?
12-15-2021 09:01 PM
Foremost - DONOT use the DAQ assistant to generate anything. Please use DAQmx drivers instead. You're limited by a lot using the DAQassistant.
Second - DONOT post images, attach the actual VI preferably in 2016 format so that most forum users can open it
03-17-2022 05:40 PM
I think the limitation is the USB overall communication interval of 1 kHz or 1 msec.
I am also interested in being able to send out a digital line change from a software command and have it change state in less than 1 msec. I do not need repetitive or waveform changes, once in a while is enough.
Would the handshake lines of a USB serial port adapter respond quicker ?
Would a USB-C device if it exists be faster ?
03-17-2022 09:49 PM
The limitation is not the USB itself but rather the overhead in terms of OS, driver etc., and only for software timed DIO.
If you were to go with hardware-timed DO, you can easily go up to 10MHz rate if streamed from FIFO and up to 1MHz if streamed from memory (like USB-6363)
There are no USB DAQ devices that use USB 3.0 or USB C.
Updating 1 sample at a time is not the best approach and you might have to rethink your application better.
03-17-2022 09:53 PM
I cannot use waveform for my application. I am monitoring analog channels continuously and need to change a digital output line when certain conditions based on the analog measurement occurs. It is a fault monitoring application. My digital line is High/On when there is no fault and needs to be changed to Low/Off when a fault is detected.
03-17-2022 10:23 PM
In that case, you would need to implement it in an FPGA to guaranteed response time or on RTOS.
Given you run on Windows OS, if the OS is busy doing something or hangs, your fault monitoring application cannot read or respond to a change.