'CR1000 'Created by Short Cut (2.9) '///////////// Declare Variables and Units ////////////// Public BattV Public PTemp_C Public WS6_10Meter_ms Public WS5_5Meter_ms Public WS4_2andahalfMeter_ms Public WS3_1andhalfMeter_ms Public WS2_1Meter_ms Public WS1_HalfMeter_ms Public WindDir Public Temp_10m Public Temp_4m Public Temp_2m Public RH_4m Public Rain_mm Public Sensit Public SenSec Public Flag As Boolean Public Switch12 As Boolean Public CellPower As Boolean Dim BattMin = 11.5 Dim BattMax = 12.0 Units BattV=Volts Units PTemp_C=Deg C Units WS4_2andahalfMeter_ms=meters/second Units WS3_1andhalfMeter_ms=meters/second Units WS2_1Meter_ms=meters/second Units WS1_HalfMeter_ms=meters/second Units WS6_10Meter_ms=meters/second Units WindDir=degrees Units WS5_5Meter_ms=meters/second Units Temp_10m=Deg C Units Temp_2m=Deg C Units Temp_4m=Deg C Units RH_4m=% Units Rain_mm=mm Units Sensit=Counts/Hz '////////////////// Define Data Tables //////////////// DataTable(Table1,True,-1) DataInterval(0,60,Sec,10) CardOut(0,-1) Sample (1,Switch12,Boolean) : FieldNames("Switch 12v status") Average(1,Temp_10m,FP2,False): FieldNames("AvgTemp_10M_DegC") Average(1,Temp_4m,FP2,False): FieldNames("AvgTemp_4M_DegC") Average(1,Temp_2m,FP2,False): FieldNames("AvgTemp_2M_DegC") Average (1,RH_4m,FP2,False):FieldNames("AvgRH_4m_%") Totalize(1,Rain_mm,FP2,False): FieldNames("Total_Rain_mm") WindVector (1,WS6_10Meter_ms,WindDir,FP2,False,0,0,3):FieldNames("WindDir_deg") Maximum(1,WS6_10Meter_ms,FP2,False,False): FieldNames("MaxWS6_10M_m/s") Maximum(1,WS5_5Meter_ms,FP2,False,False): FieldNames("MaxWS5_5M_m/s") Maximum(1,WS4_2andahalfMeter_ms,FP2,False,False): FieldNames("MaxWS4_2.5M_m/s") Maximum(1,WS3_1andhalfMeter_ms,FP2,False,False): FieldNames("MaxWS3_1.5M_m/s") Maximum(1,WS2_1Meter_ms,FP2,False,False): FieldNames("MaxWS2_1M_m/s") Maximum(1,WS1_HalfMeter_ms,FP2,False,False): FieldNames("MaxWS1_0.5M_m/s") StdDev(1,WS2_1Meter_ms,FP2,False): FieldNames("StdDevWS2_1M_m/s") Average(1,WS6_10Meter_ms,FP2,False): FieldNames("AvgWS6_10M_m/s") Average(1,WS5_5Meter_ms,FP2,False): FieldNames("AvgWS5_5M_m/s") Average(1,WS4_2andahalfMeter_ms,FP2,False): FieldNames("AvgWS4_2.5M_m/s") Average(1,WS3_1andhalfMeter_ms,FP2,False): FieldNames("AvgWS3_1.5M_m/s") Average(1,WS2_1Meter_ms,FP2,False): FieldNames("AvgWS2_1M_m/s") Average(1,WS1_HalfMeter_ms,FP2,False): FieldNames("AvgWS1_0.5M_m/s") Totalize(1,Sensit,FP2,False) Sample(1,SenSec,FP2) EndTable DataTable(Table2,True,-1) DataInterval(0,5,Min,10) Minimum(1,BattV,FP2,False,False) EndTable '///////////////// Main Program //////////////////// BeginProg 'Main Scan CellPower=True Scan(1,Sec,1,0) 'Default Datalogger Battery Voltage measurement 'BattV' Battery(BattV) 'Default Wiring Panel Temperature measurement 'PTemp_C' PanelTemp(PTemp_C,_60Hz) '03101 Wind Speed Sensor measurement 'WS4_ms' on the LLAC4 PulseCount(WS4_2andahalfMeter_ms,1,11,0,1,0.75,0.2) If WS4_2andahalfMeter_ms<0.21 Then WS4_2andahalfMeter_ms=0 '03101 Wind Speed Sensor measurement 'WS3_ms' on the LLAC4 PulseCount(WS3_1andhalfMeter_ms,1,12,0,1,0.75,0.2) If WS3_1andhalfMeter_ms<0.21 Then WS3_1andhalfMeter_ms=0 '03101 Wind Speed Sensor measurement 'WS2_ms' on the LLAC4 PulseCount(WS2_1Meter_ms,1,13,0,1,0.75,0.2) If WS2_1Meter_ms<0.21 Then WS2_1Meter_ms=0 '03101 Wind Speed Sensor measurement 'WS1_ms' on the LLAC4 PulseCount(WS1_HalfMeter_ms,1,14,0,1,0.75,0.2) If WS1_HalfMeter_ms<0.21 Then WS1_HalfMeter_ms=0 '03002 Wind Speed & Direction Sensor measurements 'WS6_ms' and 'WindDir' PulseCount(WS6_10Meter_ms,1,1,1,1,0.75,0.2) If WS6_10Meter_ms<0.21 Then WS6_10Meter_ms=0 BrHalf(WindDir,1,mV2500,1,1,1,2500,True,0,_60Hz,352,0) If WindDir>=360 Then WindDir=0 '03101 Wind Speed Sensor measurement 'WS5_ms' PulseCount(WS5_5Meter_ms,1,2,1,1,0.75,0.2) If WS5_5Meter_ms<0.21 Then WS5_5Meter_ms=0 '107 Temperature Probe measurement 'T107_C8' Therm107(Temp_10m,1,2,Vx2,0,_60Hz,1,0) '107 Temperature Probe measurement 'T107_C1' Therm107(Temp_2m,1,3,Vx3,0,_60Hz,1,0) 'HC2S3 (constant power) Temperature & Relative Humidity Sensor measurements 'AirTC4' and 'RH4' VoltSe(Temp_4m,1,mV2500,4,0,0,_60Hz,0.1,-40) VoltSe(RH_4m,1,mV2500,5,0,0,_60Hz,0.1,0) If RH_4m>100 AND RH_4m<103 Then RH_4m=100 'TE525/TE525WS Rain Gauge measurement 'Rain_mm' PulseCount(Rain_mm,1,15,2,0,0.254,0) 'Pulse measurement for Sensit PulseCount(Sensit,1,16,0,0,1,0) If Sensit>0 Then SenSec+=1 'Modem 12V Failsafe Instruction (will keep modem off if power drops below 11.5V and allow to turn on above 12V) If BattV < BattMin Then CellPower = False Else If BattV > BattMax Then CellPower = True 'Modem Power instructions (power on @:50min of hour, power off @:10min of hour) If CellPower =True AND TimeIntoInterval (50,60,Min) Then PortSet (9,1) If Flag=false Then If TimeIntoInterval (10,60,Min) Then PortSet (9,0) EndIf EndIf Switch12 = status.sw12volts(1) 'Call Data Tables and Store Data CallTable(Table1) CallTable(Table2) If IfTime(0,60,sec) Then SenSec=0 NextScan EndProg