Section 10. Troubleshooting
CRBasic Example 69. Using NAN to Filter Data
'This program example demonstrates the use of NAN to filter what data are used in output processing
functions such as
'averages, maxima, and minima.
'Declare Variables and Units
Public TC_RefC
Public TC_TempC
Public DisVar As Boolean
'Define Data Tables
DataTable(TempC_Data,True,-1)
DataInterval(0,30,Sec,10)
Average(1,TC_TempC,FP2,DisVar) 'Output process
EndTable
'Main Program
BeginProg
Scan(1,Sec,1,0)
'Measure Thermocouple Reference Temperature
PanelTemp(TC_RefC,250)
'Measure Thermocouple Temperature
TCDiff(TC_TempC,1,mV2_5,1,TypeT,TC_RefC,True,0,250,1.0,0)
'DisVar Filter
If TC_TempC = NAN Then
DisVar = True
Else
DisVar = False
EndIf
'Call Data Tables and Store Data
CallTable(TempC_Data)
NextScan
10.5.4 Status Table as Debug Resource
Related Topics:
• Status, Settings, and Data Table Information (Status/Settings/DTI) (p. 603)
• Common Uses of the Status Table (p. 604)
• Status Table as Debug Resource (p. 485)
Consult the CR1000 Status table when developing a program or when a problem
with a program is suspected. Critical Status table registers to review include
CompileResults, SkippedScan, SkippedSlowScan, SkippedRecord,
ProgErrors, MemoryFree, VarOutOfBounds, WatchdogErrors and
Calibration.
10.5.4.1 CompileResults
CompileResults reports messages generated by the CR1000 at program upload
and compile-time. Messages may also added as the program runs. Error
485