Section 10. Troubleshooting
10.5.3 NAN and ±INF
NAN (not-a-number) and ±INF (infinite) are data words indicating an exceptional
occurrence in datalogger function or processing. NAN is a constant that can be
used in expressions as shown in the following code snip that sets a CRBasic
control feature (a flag) if the wind direction is NAN:
If WindDir = NAN Then
WDFlag = False
Else
WDFlag = True
EndIf
NAN can also be used in conjunction with the disable variable (DisableVar) in
output processing (data storage) instructions as shown in CRBasic example Using
NAN to Filter Data
(p. 484).
10.5.3.1 Measurements and NAN
A NAN indicates an invalid measurement.
10.5.3.1.1 Voltage Measurements
The CR1000 has the following user-selectable voltage ranges: ±5000 mV, ±2500
mV, ±250 mV, and ±25 mV. Input signals that exceed these ranges result in an
over-range indicated by a NAN for the measured result. With auto range to
automatically select the best input range, a NAN indicates that either one or both
of the two measurements in the auto-range sequence over ranged. See the section
Calibration Errors
(p. 490).
A voltage input not connected to a sensor is floating and the resulting measured
voltage often remains near the voltage of the previous measurement. Floating
measurements tend to wander in time, and can mimic a valid measurement. The
C (open input detect/common-mode null) range-code option is used to force a
NAN result for open (floating) inputs.
10.5.3.1.2 SDI-12 Measurements
NAN is loaded into the first SDI12Recorder() variable under the following
conditions:
• CR1000 is busy with terminal commands
• When the command is an invalid command.
• When the sensor aborts with CR LF and there is no data.
• When 0 is returned for the number of values in response to the M! or C!
command.
10.5.3.2 Floating-Point Math, NAN, and ±INF
Table Math Expressions and CRBasic Results (p. 483) lists math expressions, their
CRBasic form, and IEEE floating point-math result loaded into variables declared
as FLOAT or STRING.
482