Hello all-
The short version is that I am using NiDaq with multifunction DAQ cards and Labview to control a sensitive electrical measurement. The reading back from the measurement give 2 different responses. One response is when Labview is actively running the code to control the cards and the other is when it is running the loop delay. How is this possible?
Here's the longer version:
I'm running Labview 6.0 on a Windows 2000 machine. I have several (between 1 and 4) 6052E cards (2 DACs, 16 ADCs and 8 digital lines) and 1 6733 card (8 DACs and 8 digital lines). My Labview code is a large while loop that updates the cards based on user commands, displays some data and does a bunch of other tasks. The cards are hooked up to a fairly sensitive electrical measurement, and the measurement gives 2 different readings, one when the code is actively executing (I'll call this mode "active") and the other when the loop delay on the while loop is waiting (I'll call this mode "waiting"). It is impossible to say which mode is better, but I need consistent results, so either one or the other, not both, is what I want.
As far as I know, when I was performing my tests the cards were not being updated at all. Some of the cards were doing buffered generation or acquisition, but Labview was not switching the values at all. I also tried removing the loop delay all together, and while that did remove my ability to control the speed of the switching, it did not take away the problem.
I also used an oscilliscope to measure the DAC outputs and the digital lines and I could see no noticable variation in the noise on the lines that was at the frequency of the loop delay. So, I don't see how it could be coming from there.
Needless to say, I'm very confused. It looks like a software problem because changing the loop delay (making the "waiting" mode longer) or adding a routine that does expensive math (making the "active" mode longer) changes the rate at which the measurement switches from one output reading to the other. However, I can't see any difference on the output lines so I don't know how else the software "talks" to the electronics.
Here are my thoughts so far:
- Is it possible that Labview and NiDaq are updating the boards behind the scenes in some way once per loop?
- Is it possible that during the "active" mode the ground on the computer is at a slightly different level than the "waiting" mode, creating noise in the electronics ground?
- Is it possible that the cards can source or sink more or less current (either through the actual lines or through the ground) when in one mode versus the other?
I am quite perplexed. Everything I have tried, both in Labview and with the grounding in the electronics has not gotten me away from this 2-mode readings.
Any help or thoughts would be much appreciated.
Thanks,
Casey