12-18-2007 08:33 PM
I like the hardware damage sugestion. I can't tell you how many time I have worked on a test system and when wierd thing are going on it usually is the hardware. Contrary to most bosses, customers, and hardware installers.
I think it's a HARDWARE problem, software works fine 😉
Dan (A software guy)
12-20-2007 03:02 PM
12-20-2007 08:37 PM
12-21-2007 06:45 AM
/* You can use a linear function to scale the results returned by the BinaryI16 read. The values will be approximately correct; however, I would recommend using the scaling coefficients, if possible, if your application requires accuracy. The fact that the scaling coefficients are polynomial is a result of the MCal algorithm we use on M-Series. The polynomial coefficients help compensate for small non-linearities across the range of the ADC, which when applied correctly, result in more accurate measurements. */
This is new stuff for me... I did not read it in the documentation. Or, I did not find it.
I read about custom scales and I supposed that the binary reads were linear!
But if I understood, you are talking about internal scaling coefficients not applied when we use the Binary reads and used when we use the scaled Analog reads.
We do not use the scaled Analog reads because they are slow. As you see, we are always looking for the fastest approach. The scalling calculations we can do later, through threads for processing and displaying, instead of when getting the data in the time-critical callback.
But now I need to know what are these internal scalling coefficients ! HOW I get them?
LMP
12-21-2007
09:30 AM
- last edited on
07-15-2025
12:22 PM
by
Content Cleaner
Merlin-3,
In a few select things Traditional DAQ may have been faster that NI-DAQmx. However, in many areas, such as single point AI reads NI-DAQmx is much faster. Furthermore, we are actively developing NI-DAQmx and we are actively working toward improving the performance. In general the code paths in NI-DAQmx are much simpler than Traditional NI-DAQ. NI-DAQmx was developed from the ground up with a focus on simplifying code paths, where Traditional NI-DAQ was the result of years of adding features here and there. It was an excellent driver for its time, but it became apparent that we could not move forward without making some pretty significant modifications to the architecture (a.k.a. NI-DAQmx). As we continue to develop NI-DAQmx we will continue to work on performance.
To answer your question about scaling coefficients, you can get them using a DAQmx Channel Property node. After placing the property node the property is located at Analog Input >> General Properties >> Advanced >> Device Scaling Coefficients >> Device Scaling Coefficients. If you are developing in C you can get the coefficients with a call similar to the following:
float64 coefficients[100];
unsigned int arraySizeInSamps = 1000;
DAQmxGetAIScalingCoeff( taskHandle, "DevX/ai0", coefficients, arraySizeInSamps );
The MCal calibration is discussed in the following Developer Zone Document:
New NI-MCal Calibration Methodology Improves Measurement Accuracy
Let me know if you have any further questions, although I think it may be better to start a new thread since this one has severely wandered off topic.
Regards,
Neil S.
Multifunction DAQ
Product Support Engineer
National Instruments