
Appendix B. Example Program
B-2
CRBasic Example B-1. CR1000X Datalogger Program for Measuring SI-111 or SI-111SS
'CR1000X Series Datalogger Program
'Declare public variables
Public
PanelT, BattV, SBTempC, SBTempK, TargmV, m, b, TargTempK, TargTempC
'Declare constants (replace the listed values with coefficients received with sensor)
Const
mC2 = 82213
Const
mC1 = 7841000
Const
mC0 = 1419700000
Const
bC2 = 13114
Const
bC1 = 185020
Const
bC0 = -17215000
'Define data table (table is outputting data every 60 seconds)
DataTable
(IRR,1,-1)
DataInterval
(0,60,Sec,10)
Minimum
(1,BattV,FP2,0,False)
Sample
(1,PanelT,FP2)
Average
(1,TargmV,FP2,False)
Average
(1,SBTempC,FP2,False)
Average
(1,TargTempC,FP2,False)
EndTable
'Main program (program is making a measurement every 5 seconds)
BeginProg
Scan
(5,Sec,0,0)
PanelTemp
(PanelT,60)
Battery
(BattV)
'Instruction to measure sensor body temperature
Therm109
(SBTempC,1,1,Vx1,0,60,1.0,0)
'Instruction to measure mV output of thermopile detector
VoltDiff
(TargmV,1,mV200,2,True ,0,60,1.0,0)
'Calculation of m (slope) and b (intercept) coefficients for target temperature calculation
m = mC2 * SBTempC^2 + mC1 * S mC0
b = bC2 * SBTempC^2 + bC1 * S bC0
'Calculation of target temperature
SBTempK = S 273.15
TargTempK = ((SBTempK^4) + m * b)^0.25
TargTempC = TargTempK - 273.15
'Call output tables
CallTable
IRR
NextScan
EndProg