1 cr1000 example program, Cr1000 example program – Campbell Scientific SI-111 (IRR-P) Precision Infrared Radiometer User Manual
Page 10
SI-111 Precision Infrared Radiometer
5.1 CR1000 Example Program
This example CR1000 program measures the sensor every 5 seconds and
outputs a sample once every 60 seconds. The actual measurement rate and
output intervals need to be adjusted for the actual installation and application.
Explanation of Variables and Constants Used in the Program
PanelT = datalogger panel temperature
BattV = datalogger battery voltage
SBTempC = sensor body temperature in degrees Celsius
SBTempK = sensor body temperature in Kelvin
TargmV = mV output of thermopile infrared detector (dependent on temperature difference between
target and sensor body)
m = slope of equation relating target and sensor body temperatures to mV output of thermopile
b = intercept of the equation relating target and sensor body temperatures to mV output of thermopile
TargTempK = target temperature in Kelvin
TargTempC = target temperature in degrees Celsius
mC2 = polynomial coefficient (C2) used to calculate slope (m)
mC1 = polynomial coefficient (C1) used to calculate slope (m)
mC0 = polynomial coefficient (C0) used to calculate slope (m)
bC2 = polynomial coefficient (C2) used to calculate intercept (b)
bC1 = polynomial coefficient (C1) used to calculate intercept (b)
bC0 = polynomial coefficient (C0) used to calculate intercept (b)
All calibration coefficients are sensor-specific; those listed below
are examples and must be changed based on the sensor being
used.
NOTE
'CR1000 Series Datalogger Program for Measuring Apogee Model SI-111 Infrared Radiometer
'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,_60Hz)
Battery (BattV)
'Instruction to measure sensor body temperature (green wire to SE1, white wire to EX1, blue
wire ‘to ground)
Therm109 (SBTempC,1,1,Vx1,0,_60Hz,1.0,0)
4