Campbell Scientific RDP500 Remote Data Platform User Manual
Page 32

Appendix A. CRBasic Program for Version 18
'Main Program
BeginProg
'If an old offset exists in a prior datarecord, then it will be loaded. Otherwise,
'a default value of -0.260829 will be loaded.
Lc_mV_Ofst = CalData.Lc_mV_Ofst(1,1)
If Lc_mV_Ofst = NaN Then
Lc_mV_Ofst = -0.260829
EndIf
'Factory cal = 1/(3.31 mV/V*2.5v/100lbs/435.59237gr/lb) [gr/mV]
'Calibrated with weight and accounting for the leverage amplification
'If an old mV to Gram conversiong exists in a prior datarecord, then it will be loaded.
'Otherwise, a default value of -0.260829 will be loaded.
mVtoGram = CalData.mVtoGram(1,1)
If mVtoGram = NaN Then
mVtoGram
=
11139.15
EndIf
CalTime = 180
'Number of seconds to run the calibration routine
TareGauge = "Ready"
TriggerCalibration = "Tare First"
'Begin Main Program.
Scan (200,mSec,1000,0)
'5Hz scan rate.
'Measure temp of wiring panel and voltage of power supply
PanelTemp
(PTemp_C,250)
PTemp_F = PTemp_C * 1.8 + 32
Battery
(batt_volt)
'Measure
load
cell
BrFull (LC_mV,1,mV7_5,1,Vx1,1,2500,True ,True ,0,_60Hz,1,0)
AvgRun(LC_mV_Avg,1,LC_mV,750) 'compute 2.5 min running average
LC_mV_Diff = ABS(LC_mV_Avg - LC_mV)
'Tare the raingage (measure electronics offset with no load). This displays as Step 1:
If TareGauge = "Tare Gauge" Then
If LC_mV_Diff < 0.001 Then
Lc_mV_Ofst=LC_mV_Avg
TareGauge
=
"Complete"
TriggerCalibration
=
"Ready"
RecordAccumulation
=
FALSE
RecordCalibration
=
FALSE
CalibrationTimer
=
Timer(CalTim,Sec,3)
PostCalTimer
=
Timer(PostCalTim,Sec,3)
Else
TareGauge
=
"Failed
Equalizing"
EndIf
EndIf
If TareGauge <> "Complete" AND TareGauge <> "In Progress" Then
If LC_mV_Diff > 0.001 AND TareGauge <> "Failed Equalizing" Then
TareGauge
=
"Equalizing"
ElseIf LC_mV_Diff <= 0.001 Then
TareGauge
=
"Ready"
EndIf
EndIf
A-4