Basically, the way the document reads the behavior is inconsistent and/or unpredictable. The doc does not specify what instruments/ranges/measurements the IsOverrange function will work reliably with (other than the one "For instance".)
However, this KB is for NI DMM 2.5. Does anyone know if this is been resolved in the later revisions? I have a 4070 with 3.1 and it "appears" to work when I test it on the bench but the wording on the KB makes it sound like it shouldn't be trusted - very ambiguous wording: "Somtimes" and "Some modules".
Solved! Go to Solution.
When a measurement is greater than the range specified, but not greater than 105% of that range, it is return normally and a warning will be returned. If a measurement is greater than 105% of the reange specified, then the measurement will be replaced with an NaN and a warning will be returned. Additionally, if a masurement is under range, it will be replaced with -Inf and a warning will be return.
niDMM_IsOverRange simple checks a value for NaN sets the boolean to true if the value is NaN. So, if a measurement is between 100% and 105% of the range, the only indication you will get is from the warning return by niDMM_Read/niDMMReadMultiPoint/niDMMReadWaveform.
thanks for the response. I misread the KB bulletin as saying that the IsOverRange function's behavior could vary between instruments/ranges/et al. Instead, if the measurement is within the instrument's "overrange" (105% in the case of the 4070) it returns a warning. Anything over that is returned as a NAN.
I'm assuming the warning will also get returned by the niDMM_Fetch function as well as the various Reads.