In my ongoing adventures with labview I have developed a state machine architectured program to listen for voltage signals on a particular channel of a NI 6221 card and render them as a square image. Version 0.5.1 of this software worked just fine yesterday, when I was simply feeding it a sine wave from a function generator (via SCB-68 connector block). Next, I made some minor (I thought) changes and saved as version 0.6. Both of these files and subVIs are in the attached .zip archive.
I have also disconnected the function generator, and attached a 15-pin ribbon lead to connect to the RS232 port of an Olympus laser scanning microscope. This is an intermediate step in using the microscope's end of line and end of frame pulses to synchronise with my software. However, now every time I run acquisition (attached to microscope or not, on any channel, and in either mode) I get the error:
No DMA Channels or USB Bulk Endpoints are available.
for the 6221 card I am using.
I have read this page: Error -200251 but I don't see how to apply what it says to my situation, as I'm not using any of the hardware they mention, nor am I doing "more than three simultaneous counter input tasks" as far as I am aware.
Any help in getting around or fixing this problem is, as always, much appreciated.
I've tried inserting a Channel Property Node to change the data transfer method to "Interrupt" but that doesn't seem to help. In internal clock mode ("EXT line trigger" boolean is false) the timeout prevents me from acquiring all the data, and in external mode the same thing seems to happen, even though the timeout is set to -1 (indefinite).
Having finally twigged that this is not a problem with my coding (other, unrelated programs are also suffering the same issues), I finally opened up MAX to try and diagnose what's going on here.
The 6221 card failed self-test with error -50010:
"The specified offset is out of range for read operations. The operation could not be completed as specified."
Using the test panel on any channel also returns an error -200019:
"ADC conversion attempted before the prior conversion was complete. Increase the period between ADC conversions. If you are using an external clock, check your signal for the presence of noise or glitches."
Note, this error occurred on MAX TEST PANEL. Finally, on self-calibrate, the above error -200251 appeared, telling me again that there are no DMA channels available.
I'm now completely stumped with no idea how to solve what I would now assume is a hardware problem. Any hints?
The problem appears to be solved. I removed the card to test in another computer; everything was fine. I returned the card to its original location and everything was working again as normal.