'CR1000 'Created by Short Cut (3.1) '1/21/2016 - Changed to 5 min scans, lowered minimum battery voltage 11.8 '1/28/2016 - Changed initial SR50Height to 144.25cm for when the logger gets reset 'Declare Variables and Units Dim MinIntoDay Public BattV Public PTemp_C Public AT Public SR50A(2) Public TCDT Public Ice Public SW12State As Boolean Public SR50Height =144.25 Alias SR50A(1)=DT Alias SR50A(2)=Q Units BattV=Volts Units PTemp_C=Deg C Units AT=Deg C 'Define Data Tables DataTable(Sag_ice,True,-1) DataInterval(0,60,Min,10) Average(1,AT,FP2,False) Maximum(1,AT,FP2,False,True) Minimum(1,AT,FP2,False,True) Average(1,Q,FP2,False) Average(1,Ice,FP2,False) EndTable DataTable(DailyDg,True,-1) DataInterval(0,1440,Min,10) Minimum(1,BattV,FP2,False,False) Average(1,PTemp_C,FP2,False) Average(1,BattV,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) '109 Temperature Probe measurement 'AT' Therm109(AT,1,1,1,0,250,1,0) '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((AT+273.15)/273.15) Ice=SR50HEIGHT-TCDT '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 < 5) Then SW12State=True Else SW12State=False EndIf 'Always turn OFF SW12 if battery drops below 12.1 volts If BattV<11.8 Then SW12State=False 'Set SW12 to the state of 'SW12State' variable SW12(SW12State) 'Call Data Tables and Store Data CallTable Sag_ice CallTable DailyDg NextScan EndProg