'CR300 Series Datalogger ''''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''' PROGRAM METADATA/NOTES ''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'Program Name: AAV01_20220527.CR300 'Date Loaded on Logger: Not yet loaded 'Project: Atigun Pass Winter Hazards Project ' Below Modification Section is to be used to record modifications of ' existing loaded programs. 'Modified Program Name: AAV01_20220527.CR300 'Modification Of: AAV01_20220425.CR300 'Modified by: R Paetzold, GWS 'Date Modified: 20220527 'Modifications: Corrected DailyDiag output from hourly to daily. ' Changed imput port from C1 to C2 for CH201 because of wiring discrepancy. 'NOTE: When program is finalized for loading to datalogger, the ' modifications listed in this section will be deleted. The ' modifications section will then be used only when modifications ' are made to the program running on the datalogger. 'Modified Program Name: AAV01_20220425.CR300 'Modification Of: AAV01_20211015.cr1x 'Modified by: R Paetzold, GWS 'Date Modified: 20220425 'Modifications: Changed to CR300 series datalogger from CR1000. ' Added CS 109 sensor 'Original Program Name: AAW01_20211014.cr1x 'Created by: R Paetzold, GWS 'Date Created: 20211014 'NOTES: 'Station Notes: ' PakBus ID for Station: 810 'INSERT PakBus ID HERE <=========== ' Station ID: 810 'INSERT Station ID HERE <========== ' Datalogger ID: AAV01 'INSERT Datalogger ID HERE <======= ' Time is set to Alaska Standard Time (AKST) ' Scan interval is 5 seconds. 'INSERT Scan Interval HERE <======= ' Deg C to Deg F Conversion: deg_F = (deg_C * 1.8) + 32 'SENSORS ' CS 109 Temperature sensor. SE1, VX1 'CONTROL PORTS ' Only odd numbered Control Ports can be used for SDI-12 communication ' C1 - CH201 Charge Controller SDI-12 ' C2 - ' SW12V-1 - ' Batt - 'CH201 12V Power: ' CH201 12V - RF451 Radio 'SDI-12 Parameters ' CH201 Charge Controller 'MC! measurements: Batt Voltage (V), Batt Current (A), ' Load Current (A), DC In 1 Voltage (V) (Solar), ' DC In 2 Voltage (V), CH201 Temperature (deg C), ' Charge State, Charge Source, and Check Battery. 'M2! measurements: Target Battery Voltage (V), Input Voltage at ' Maximum (V), Battery Capacity (Ahr), and Qloss (Ahr). 'Control Port: C1 'SDI Address: 1 ''''''''''''''''''''''''''''''''''''''''''''''''''''' '''''''''''''' PROGRAM DECLARATIONS ''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''' '''' Station Inputs '''' ''''''''''''''''''''''''' 'INSERT Station Name HERE: StationName (AAV01) 'INSERT Station Name HERE <================== 'INSERT Station ID HERE: Const ID = 810 'INSERT Station ID HERE <==================== '''''''''''''''''''''''''' '''' Public Variables '''' '''''''''''''''''''''''''' 'DECLARE PUBLIC VARIABLES ''' Constants ''' Public StationID ' Station ID number, USER INPUT ''' Diagnostic Variables ''' '''CR310 Public PanelT_C : Units PanelT_C = Deg_C Public Batt_V : Units Batt_V = V '''CH201 Charge Controller Public CH201_MO(9) 'Battery voltage (Vdc) Alias CH201_MO(1) = CH201Batt_V : Units CH201Batt_V = V 'Current (Amps) going into, or out of, the battery Alias CH201_MO(2) = IBatt_A : Units IBatt_A = A 'Current (Amps) going to the load Alias CH201_MO(3) = ILoad_A : Units ILoad_A = A 'Voltage (Vdc) coming into the charger on DC IN 1 (Solar Panel) Alias CH201_MO(4) = DC_In_1_V : Units DC_In_1_V = V 'Voltage (Vdc) coming into the charger on DC IN 2 Alias CH201_MO(5) = DC_In_2_V : Units DC_In_2_V = V 'Charger temperature (deg C) Alias CH201_MO(6) = CH201T_C : Units CH201T_C = Deg_C 'Charger State Alias CH201_MO(7) = ChgState 'Charging state: ' -1 = Regulator Fault ' 0 = No Charge ' 1 = Current Limited ' 2 = Cycle Charging ' 3 = Float Charging 'Charging source: Alias CH201_MO(8) = ChgSource 'Charging source: ' 0 = None ' 1 = DC In 1 ' 2 = DC IN 2 'Check battery error: Alias CH201_MO(9) = CheckBatt 'Check battery error: ' 0 = Normal ' 1 = Check Battery Public CH201_MX(4) 'Array to hold extended data from the CH201 'Battery charging target voltage Alias CH201_MX(1) = BattTargV : Units BattTargV = V 'Input voltage control setting Alias CH201_MX(2) = InputVoltControl : Units InputVoltControl = V 'Present battery capacity Alias CH201_MX(3) = BattCap : Units BattCap = AHr 'Battery charge deficit Alias CH201_MX(4) = Qloss : Units Qloss = AHr ''' Calculated Diagnostic Variables ''' Public Amp_Hour(3) 'Current values coming from the CH201 are in amps. 'Convert that to amp-hours based on the scan rate. 'Net Amp-hours used by the entire system Alias Amp_Hour(1) = Sys_Amp_hr : Units Sys_Amp_hr = AHr 'Calculated: Amp_Hour(1) = Sys_Amp_hr = Load_Amp_hr + Batt_Amp_hr 'Amp-hours used by the datalogger, sensors and communication options Alias Amp_Hour(2) = Load_Amp_hr : Units Load_Amp_hr = AHr 'Calculated: Amp_Hour(2) = Load_Amp_hr = ILoad_A * SlowScan/3600 'Amp-hours into the battery. ' (Current out of the battery ispart of the Load_amp_hr value.) Alias Amp_Hour(3) = Batt_Amp_hr : Units Batt_Amp_hr = AHr 'Calculated: Amp_Hour(3) Batt_Amp_hr = IBatt_A * SlowScan/3600 'CH201 Variables Measured in Slow Scan with Scan Interval of 30 seconds. Const SlowScan = 30 ''' Measured Variables ''' ''' Battery Enclosure Temperature Public BattEnclT_C : Units BattEnclT_C = Deg_C ''' Radio ''' '''RF451 Radio Public Radio As Boolean '1 (True or ON) turns radio ON '0 (False or OFF) turns radio OFF '''''''''''''''''''''''''' ''' Preserve Variables ''' '''''''''''''''''''''''''' PreserveVariables 'Variables are maintained over reboot. ''''''''''''''''''''''' '''' Output Tables '''' ''''''''''''''''''''''' ''''' One Minute Output ''''' 'One Minute Diagnostics Data Table DataTable (OneMinDiag,1,-1) DataInterval (0,1,Min,0) Sample (1,StationID,fp2) 'CR1000 Panel Temperature - deg C Sample (1,PanelT_C,FP2) 'CR1000X Measured Battery Voltage - V Sample (1,Batt_V,FP2) Average (1,Batt_V,FP2,False) Maximum (1,Batt_V,FP2,False,False) Minimum (1,Batt_V,FP2,False,False) ' CH201 Charge Controller Measured Battery Voltage - V Sample (1, CH201Batt_V,FP2) Average (1, CH201Batt_V,FP2,False) Maximum (1, CH201Batt_V,FP2,False,False) Minimum (1, CH201Batt_V,FP2,False,False) ' CH201 Charge Controller Measured Battery Current - A Sample (1, IBatt_A,FP2) Average (1, IBatt_A,FP2,False) Maximum (1, IBatt_A,FP2,False,False) Minimum (1, IBatt_A,FP2,False,False) ' CH201 Charge Controller Measured Load Current - A Sample (1, ILoad_A,FP2) Average (1, ILoad_A,FP2,False) Maximum (1, ILoad_A,FP2,False,False) Minimum (1, ILoad_A,FP2,False,False) ' CH201 Charge Controller Input Voltage (Solar Panel) - V Average (1,DC_In_1_V,FP2,False) EndTable ''''' Hourly Output ''''' 'Hourly Diagonostics Table DataTable (HrlyDiag,1,-1) DataInterval (0,60,Min,0) Sample (1,StationID,fp2) 'CR1000X Measured Battery Voltage - V Sample (1,Batt_V,FP2) Average (1,Batt_V,FP2,False) Maximum (1,Batt_V,FP2,False,False) Minimum (1,Batt_V,FP2,False,False) 'CR1000X Panel Temperature - deg C Sample (1,PanelT_C,FP2) Average (1,PanelT_C,FP2,False) Maximum (1,PanelT_C,FP2,False,False) Minimum (1,PanelT_C,FP2,False,False) ' CH201 Charge Controller Measured Battery Voltage - V Sample (1, CH201Batt_V,FP2) Average (1, CH201Batt_V,FP2,False) Maximum (1, CH201Batt_V,FP2,False,False) Minimum (1, CH201Batt_V,FP2,False,False) ' CH201 Charge Controller Measured Battery Current - A Average (1, IBatt_A,FP2,False) ' CH201 Charge Controller Measured Load Current - A Sample (1, ILoad_A ,FP2) Average (1, ILoad_A ,FP2,False) Maximum (1, ILoad_A ,FP2,False,False) 'Minimum (1, ILoad_A ,FP2,False,False) ' CH201 Charge Controller Input Voltage (Solar Panel) - V Average (1,DC_In_1_V,FP2,False) ' CH201 Charge Controller Measured Voltage Regulator Temperature - deg C Average (1, CH201T_C,FP2,False) ' Battery Enclosute Temperature - deg C BattEnclT_C Average (1, BattEnclT_C,FP2,False) EndTable ''''' Daily Output ''''' 'Daily Diagonostics Table DataTable (DailyDiag,1,-1) DataInterval (0,1440,Min,0) Sample (1,StationID,fp2) ' CH201 Charge Controller Measured Battery Current - A Average (1, IBatt_A,FP2,False) ' CH201 Charge Controller Measured Load Current - A Average (1, ILoad_A ,FP2,False) ' Charging State, Charging Source, and Check Battery - Numbers Sample (1,ChgState,fp2) Sample (1,ChgSource,fp2) Sample (1,CheckBatt,fp2) EndTable '''''''''''''''''''''''''''''' '''' MAIN PROGRAM '''' '''''''''''''''''''''''''''''' BeginProg '''''''''''''''''''''''''''''' '''' INITIALIZE VARIABLES '''' '''''''''''''''''''''''''''''' ''''' Set Station ID ''''' StationID = ID ''''' Set Radio ON Initially ''''' Radio = 1 '''''''''''''''''''''''''''''''''' '''' START MAIN SCAN SEQUENCE '''' '''''''''''''''''''''''''''''''''' 'Scan (EXECUTE) Program at 5-sec Intervals Scan (5,Sec,0,0) ''''''''''''''''''''''''''''''''''' '''' READ DIAGNOSTIC SENSORS '''' ''''''''''''''''''''''''''''''''''' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''' Measure Datalogger Wiring Panel Temperature (deg C) ''' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' PanelTemp (PanelT_C,60) '''''''''''''''''''''''''''''''''''''''''''''''''''' ''' Measure Datalogger Input Battery Voltage (V) ''' '''''''''''''''''''''''''''''''''''''''''''''''''''' Battery (Batt_V) ''''''''''''''''''''''''''''''''''''''''''''''''''' '''' Measure Battery Enclosure Temperature '''' ''''''''''''''''''''''''''''''''''''''''''''''''''' ' CS 109 Temperature Sensor 'Excitation - VX1; Data - SE1 Therm109 (BattEnclT_C,1,1,Vx1,0,60,1.0,0) ''''''''''''''''''''''''''''' '''' RADIO CONTROL '''' ''''''''''''''''''''''''''''' '''''''''' Radio Always ON '''''''''' NextScan ''''''''''''''''''''''''''''''''''''''''''''''' '''' SLOW SCAN FOR CH201 DIAGNOSTICS '''' ''''''''''''''''''''''''''''''''''''''''''''''' SlowSequence '30-second Scan Rate Scan(SlowScan,Sec,0,0) ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ''' Measure Diagnoistics with CH201 Charge Controller ''' ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 'MC! measurements: Batt Voltage (V), Batt Current (A), ' Load Current (A), DC In 1 Voltage (V) (Solar), ' DC In 2 Voltage (V), CH201 Temperature (deg C), ' Charge State, Charge Source, and Check Battery. 'Control Port: C1 'SDI Address: 1 SDI12Recorder (CH201_MO(),C2,1,"MC!",1.0,0) 'M2! measurements: Target Battery Voltage (V), Input Voltage at ' Maximum (V), Battery Capacity (Ahr), and Qloss (Ahr). SDI12Recorder (CH201_MX(),C2,1,"M2!",1.0,0) ''' Calculations ''' ' 'Current values coming from the CH201 are in amps. Have to convert that ' to amp-hours based on the scan rate. 3600 sec/hr Batt_Amp_hr = IBatt_A * SlowScan/3600 Load_Amp_hr = ILoad_A * SlowScan/3600 Sys_Amp_hr = Load_Amp_hr + Batt_Amp_hr ''''''''''''''''''''''''''' '''' CALL TABLES '''' ''''''''''''''''''''''''''' CallTable OneMinDiag CallTable HrlyDiag CallTable DailyDiag NextScan ''' END OF SLOW SCAN FOR CH201 DIAGNOSTICS ''' EndProg