06-08-2007 06:48 AM
06-08-2007 11:16 AM
I *think* that the M-series boards store on-board calibration parameters for such gain corrections which are *not* applied when you request "raw" reads of the 16-bit integer A/D value. They are applied when you read as floating-point DBL or as waveform, such as in MAX. Try changing your LV code to read an array of DBLs and see if it doesn't help.
Sure enough, here's one link to a similar thread, and there are many more if you search for keywords like "M-series" and "raw".
-Kevin P.
06-11-2007 10:12 AM
Hello Mikko,
Actually, if this does turn out to be a bug, it is almost certainly a problem with the NI-DAQmx driver and not a problem with LabVIEW. What version of NI-DAQmx are you using? If you don't know what version you have installed, open Measurement & Automation Explorer and click on the NI-DAQmx entry in the Software folder on the left under Configuration to see what version you have.
06-25-2009 04:04 AM
hello
Have you solved the problem?
I've the same error (5%) with PCI-6259 board with a difference:i am not using Windows and LabView but Ubuntu with Comedi driver.
06-26-2009 01:59 PM
Hi Chiara,
Since the device is working properly with DAQmx, I will assume that the issue is with the way that the Comedi driver is interacting with our device. Although I have not had the chance to try out the Comedi driver myself (it is not officially supported on these forums), one possible cause of the problem could be how Comedi handles the calibration coefficients.
Like our other M Series devices, the 6259 calibration is based off of our MI-Cal Methodology. To summarize the information in the link, the 6259 stores 3rd-order coefficients on its EEPROM when it is calibrated--the coefficients are applied in software to correct for gain/offset/nonlinearities in your measurement. The DAQmx driver will read in these calibration values and apply the 3rd order polynomial to your measurement. I am not completely familiar with the Comedi driver, but it could be possible that it is not using the calibration coefficients.
If this is the case, one solution may be to apply calibration coefficients yourself. You can use DAQmx to get the values of the calibration coefficients with the following property node:
Another option would be to measure your own calibration information through the Comedi API. You can measure a known voltage reference using the Comedi drivers--you would need at least two different voltage levels to compute a linear calibration equation (gain + offset). Of course, you could measure a higher number of points and compute a higher-order equation. You would then apply these coefficients to the device.
The 5% number also stands out a bit to me. The following paragraph is from page 4-2 of the M Series User Manual:
Perhaps the Comedi driver is not accounting for the 5% increase in nominal range that the M series devices utilize for calibration. Again, I am not familiar with the options of the Comedi driver, but if it is possible to read unscaled binary data, you should be able to apply the scaling yourself in software.
-John
06-26-2009 03:45 PM
One more thing to add,
You might want to try posting to the Linux User's Group section of the community. While DAQmx does not officially support Ubuntu, there are people out there who are successfully using it. The Linux User's Group would be a good place to try to find help with getting this to work.
Also, you might try searching the Comedi website (www.comedi.org) for possible support with their driver. Again, the driver is not officially supported by NI (but we're always happy to help if we can). I hope this information proves helpful.
-John