09-19-2023 08:31 AM
I have a PXIe-1084 chassis with a PXIe-6368, PXIe-6509, and a PXIe-4305. The production system will ultimately have 2x PXIe-4305, so I also use a simulated PXIe-4305.
If I start a task on the 4305 (either real or simulated) using an internal sample clock with continuous acquisition mode, I can read it any number of times successively and it will produce as many samples as I ask for. However, if I start and stop other tasks after starting that 4305 continuous task, and try to read from it, it always times out. So I put in some debug output so show available samples before and after the read. And, after the first read, there is always zero available samples regardless of timeout or inserted delays, etc.
Task flow:
I have tried using both real and simulated for the different 4305 tasks. I'm pretty sure this is just some misunderstanding that I have but I haven't been able to figure out why that happens. My guesses include:
The idea is that we start a background continuous voltage input task that we check periodically between the execution of other tasks. That checks different power supply levels and, if they are out of whack, we stop processing early otherwise we continue.
Can anyone help point me at what I'm doing wrong? Thanks!
Solved! Go to Solution.
09-19-2023 01:46 PM
I figured out what I was doing wrong! It's actually pretty simple. In continuous mode, you have to read faster than it fills the circular buffer. If you don't (as I was not doing), the available samples goes to zero and all subsequent reads will timeout.
Sorry for my confusion over that but hopefully this post can help others in the future!
09-19-2023 03:45 PM
Without a piece of code to review it is hard to find where the problem lies.