'Sag-ice2.cr1 'CR1000 'Created by Short Cut (3.1) '2/27/2016 Joel Bailey Measures ice/snow/water surface on the Sag River '3/8/2016 Joel Bailey removed TCDT feature ' ' SR50A on CP3 'Declare Variables and Units Dim MinIntoDay Public BattV Public PTemp_C Public SolarPanel Public SR50A(2) Public TCDT Public Ice : Units Ice = cm Public SW12State As Boolean Public SR50Height = 150 Alias SR50A(1)=DT Alias SR50A(2)=Q Units BattV=Volts Units PTemp_C=Deg C Units SolarPanel=Volts 'Define Data Tables DataTable(SagIce,True,-1) DataInterval(0,60,Min,10) Average(1,Q,FP2,False) FieldNames("Q") Average(1,Ice,FP2,False) FieldNames("Ice") EndTable DataTable(HrlyDiag,True,-1) DataInterval(0,60,Min,10) Average(1,BattV,FP2,False) Average(1,PTemp_C,FP2,False) Average(1,SolarPanel,FP2,False) EndTable 'Main Program BeginProg 'Main Scan Scan(300,Sec,1,0) 'Default Datalogger Battery Voltage measurement 'BattV' Battery(BattV) 'Default Wiring Panel Temperature measurement 'PTemp_C' PanelTemp(PTemp_C,250) 'SR50A Sonic Ranging Sensor (SDI-12 Output) measurements 'DT', 'Q', 'TCDT', and 'Ice' SDI12Recorder(SR50A(),3,"0","M1!",1,0) DT=DT*100 TCDT=DT '' *SQR((PTemp_C+273.15)/273.15) Ice=SR50Height-TCDT 'Solar Panel Voltage VoltDiff(SolarPanel,1,mV5000,6,True,0,250,0.01,0) 'SW12 Timed Control 'Get minutes into current day MinIntoDay=Public.TimeStamp(4,1)/60 'Turn ON SW12 for 5 minutes every 60 minutes If (MinIntoDay MOD 60 < 10) Then SW12State=True Else SW12State=False EndIf 'Always turn OFF SW12 if battery drops below 11.5 volts If BattV<11.5 Then SW12State=False 'Set SW12 to the state of 'SW12State' variable SW12(SW12State) 'Call Data Tables and Store Data CallTable SagIce CallTable HrlyDiag NextScan EndProg