Campbell Scientific RDP500 Remote Data Platform User Manual
Page 33

Appendix A. CRBasic Program for Version 18
'Subtracts electronics offset and convert to grams assuming 9.81 m/s2
acceleration due to gravity.
LC_gr=(LC_mV_Avg-Lc_mV_Ofst)*mVtoGram
'Calibrate the raingage with calibration weights in the gauge. This displays
as Step 2:
If TriggerCalibration = "3289.0" OR TriggerCalibration = "4111.0" OR
TriggerCalibration = "6578.0" OR TriggerCalibration = "7400.0" OR TriggerCalibration
= "8222.0" Then
CalibrateNow = TRUE 'enable calibration process
CalWeight_gr = TriggerCalibration '
TriggerCalibration
=
"In
Progress"
Cal_Result
=
"In
Progress"
CalibrationTimer
=
Timer(CalTim,Sec,2)
'reset and start calibration timer
PostCalTimer = Timer(PostCalTim,Sec,3) 'stop and reset post calibration timer
EndIf
CalibrationTimer = Timer(CalTim,Sec,4)
'read calibration timer
PostCalTimer = Timer(PostCalTim,Sec,4)
'read postcalibration timer
If TareGauge = "Complete" AND CalibrateNow AND CalibrationTimer 'tare is completed and in the middle of the calibration process mVtoGram = CalWeight_gr/(LC_mV_Avg-Lc_mV_Ofst) 'calculate mVtoGram multiplier ElseIf TareGauge <> "Complete" AND CalibrateNow Then 'tare has NOT been completed and calibration process has been started CalibrateNow = FALSE 'stop calibration process Cal_Result = "Cal Failed" 'flagged as failed because we didn't tare first CallTable CalData 'record the event TareGauge = "Repeat Step 1" 'prompt user to tare TriggerCalibration = "Repeat Step 1" 'prompt user to tare RecordAccumulation = TRUE 'enable recording of accumulation CalibrationTimer = Timer(CalTim,Sec,3) 'stop and reset calibration timer ElseIf CalibrationTimer>=CalTime AND RecordCalibration = FALSE Then 'calibration is complete and calibration recording is not flagged CalibrateNow = FALSE 'disable calibration process Cal_Result = "Cal Succeeded" 'note success CallTable CalData 'save calibration data TareGauge = "Complete" 'note completion TriggerCalibration = "Complete" 'note completion RecordAccumulation = TRUE 'enable recording of accumulation RecordCalibration = TRUE 'record calibration information CalibrationTimer = Timer(CalTim,Sec,3) 'stop and reset calibration timer PostCalTimer = Timer(PostCalTim,Sec,2) 'reset and start post calibration timer TimeStampOfLastCal = CalData.TimeStamp(1,1) 'note time of last calibration record saved ElseIf PostCalTimer>=60 Then 'post calibration period is done 'it seems that this post cal period is simple used for refreshing keyboard interface - note completion, then note ready RecordCalibration = FALSE 'enable calibration recording TareGauge = "Ready" 'notify ready state TriggerCalibration = "Tare First" 'notify ready state PostCalTimer = Timer(PostCalTim,Sec,3) 'stop and reset post cal timer EndIf 'Convert weight to depth. PrecipF_in=0.001214*LC_gr Precip_in = Round (PrecipF_in,2) 'round to nearest 1/100 of inch for storage A-5