Hello,
I have a control system which uses a PCI-DIO-32HS for high-speed digital pattern I/O (synchronous read-write), a PCI-6259 for synchronous finite analog I/O and static digital I/O, and a GPS receiver for precision timestamping. All 3 of the cards are installed in the same rack-mount computer.
Within my control code, I have a VI which performs 16-bit finite, synchronous digital pattern I/O using the PCI-DIO-32HS. I am having two problems. First, I find that sometimes I receive a digital buffer read error when the VI executes, and the VI doesn't read all of the samples (or, sometimes, any of them). The error occurs sporadically. At other times, everything works just fine and my samples are written and read correctly. This problem only occurs in 16-bit operation. When I originally wrote the VI, it was an 8-bit operation and it worked fine. Still does -- I checked, just to be sure.
The second problem is yet more annoying. When I put that particular VI into a while loop (the while loop incorporates a 100msec delay), my computer locks up. I am unable to get any response from the system -- it's necessary to actually cycle power to the computer. The locking problem occurs regardless of whether I am running 8-bit or 16-bit.
I note that, in MAX, the DIO-32HS is listed both under "DAQmx devices" and "Traditional DAQ" devices. I am using it as a traditional DAQ device, since I originally wrote my code under that platform.
I have another computer with a DIO-32HS, with which I do not see this locking problem (although I do have the sporadic read error). That computer has only the DIO-32HS card installed.
Has anyone experienced this locking-up problem? Is it likely to be a problem with the card? Or perhaps some kind of conflict between cards (although neither MAX nor my device manager indicate any conflicts)? Since the code doesn't lock up the other computer, I assume that the problem is not intrinsic to the VI.
Also, any ideas on why the DIO-32HS will occasionally decide not to read all the samples requested?
Thanks very much!
Diane