09-08-2008 01:29 PM
Hello,
I am using a PCI-6259 to perform simultaneous analog I/O (among other things). At random times, my routine returns error -50413 -- data transfer was aborted due to a hardware error on the bus. I've done a lot of DAQ and worked extensively with this particular card, and have never seen this error before. Can someone enlighten me as to why this is occurring?
As a side note, I didn't perform the installation of the card and drivers in this particular system. It was done by my client's IT department. Would a faulty installation cause this (for instance, if the board were not seated correctly in the PCI slot)?
Thanks,
d
09-09-2008 04:39 PM
Hi Diane,
I think it would be helpful to try the card in a different slot and verify if the same error is generated. I understand this might be difficult to reproduce since is a random error. From your post I assume that you are working with one specific card; but, if it is possible, it might be helpful to try another 6259 in this system to double check if the same error is reproduced. I don’t think the problem is the installation of the software since you said your application works and randomly returns this error. However, you can try repairing the drivers if you want to make sure that the installation is correct. I hope this is helpful, please let us know on the results. Have a nice day,
09-22-2008 01:23 PM
Sorry for the delay in replying. Some other stuff came up. My question didn't relate to the drivers being installed properly -- I know they're fine, since all of the analog input and high-speed simultaneous digital I/O that I'm performing with that card is working fine. It's just the analog output that seems to be acting up.
I don't have another PCI-6259 to play with, but I do have a USB-6259. I scribbled up a quick piece of multi-channel AOUT test code that pretty well duplicates what I'm doing in my main application, and ran it using each device.
When using the PCI-6259, I get error code -200016 (onboard device memory underflow) if I attempt to write at rates faster than 10kHz -- which is totally unreasonable for this card. The 6259 ought to be able to handle update rates a lot higher than that. When I write at 10kHz, I get error -50413 at random times -- sometimes it happens quickly, sometimes it takes some minutes.
When I run the same test routine with the USB-6259, everything works just fine. No hardware errors, and I can generate updates at rates >200kHz with no problems. In other words, it behaves as I would expect.
I don't know if an onboard device memory underflow error can be caused by a bad PCI slot in the computer if that is, in fact, the problem...but I'm starting to think that perhaps this PCI card is bad. All of the PCI slots in my computer are in use, so swapping cards around is somewhat of a pain...however, I'll probably try it this afternoon since I'm thinking I'm going to have to replace this card anyway.
Comments?
09-23-2008 10:27 AM
Hello Diane,
The memory underflow error means that driver is not writing data to the DAQ device fast enough to keep up with the selected output update rate. If you have not already configured your analog output channel to use DMA as the transfer mechanism, I recommend that you try it. To change your data transfer mechanism, simply insert a DAQmx Channel Property Node after the DAQmx Create Virtual Channel VI in your analog output task. Click on the property and select the following options: Analog Output >> General Properties >> Advanced >> Data Transfer and Memory >> Data Transfer Mechanism. Right click on the property and select Change All to Write. Then right click on the input terminal of the AO.DataXferMech property and select Create >> Constant, and change the constant to DMA. If this doesn't help, you might want to reduce the number of samples that you are writing to the analog output channels.
Best wishes,
Wallace F.
09-23-2008 03:44 PM
Actually, I already had the interrupt mechanism set to DMA. At any rate, the point is, the PCI-6259 is supposed to be able to handle analog output update rates that are a couple of orders of magnitude higher than what I'm seeing -- and the fact that it doesn't is a problem. Reducing the update rate to 10kHz -- which is as high as I can set it without seeing the error -- isn't very useful advice. I happen to need to update at 100kHz. This board was chosen because it's supposed to be able to do that with ease, and it doesn't. Due to hardware constraints, I'm locked into using a PCI board and I do need all 4 analog output channels, plus the clocked digital I/O, so I can't just switch to the USB board.
Poking through the discussion forums last night revealed that there appears to be a problem with trying to use a PCI-6259 with an ASUS P5xx motherboard. By no means am I the first person to see this issue of AO update rates which are dramatically lower than the board spec. Is anything being done about it, i.e. is NI looking into why this might be? Or at least warning their customers that this is a problem?
I think I've got the error -50413 cleared up, at least I haven't seen it since yesterday afternoon (the PCI card appeared to be seated fine in the slot, but I took it out and re-seated it anyway, which appears to have done the trick). Now I need the card to perform up to its specifications.
Am I stuck changing either the card or the motherboard?
09-24-2008 11:43 AM
Hi Diane,
This was reported to R&D (#43597) for further investigation. Though, at present, there is not a fix for the problem, changing the transfer mechanism to IRQ might yield better results. We appreciate your feedback.
Best wishes,
Wallace F.