Campbell Scientific PS200/CH200 12 V Charging Regulators User Manual

Page 75

Advertising
background image

Appendix A. Advanced Programming Techniques

'Array to hold all the data coming from the PS200/CH200
Public CH200_M0(9)

'Alias names for array elements.
'Battery voltage: VDC
Alias CH200_M0(1)=VBatt

'Current going into, or out of, the battery: Amps
Alias CH200_M0(2)=IBatt
'Current going to the load: Amps

Alias CH200_M0(3)=ILoad
'Voltage coming into the charger: VDC
Alias CH200_M0(4)=V_in_chg

'Current coming into the charger: Amps
Alias CH200_M0(5)=I_in_chg

'Charger temperature: Celsius
Alias CH200_M0(6)=Chg_TmpC
'Charging state: Cycle, Float, Current Limited, or None

Alias CH200_M0(7)=Chg_State
'Charging source: None, AC, or Solar
Alias CH200_M0(8)=Chg_Source

'Check battery error: 0=normal, 1=check battery
Alias CH200_M0(9)=Ck_Batt

'Arrays to hold the associated words for the charge state, charge source,
'and check battery values.
Dim ChargeStateArr(6) As String

Dim ChargeSourceArr(3) As String
Dim CheckBatteryArr(2) As String


'Variables to hold the words for charge state, charge source, and check
'battery.

Public ChargeState As String
Public ChargeSource As String
Public CheckBattery As String


Public CH200_MX(4)

'Array to hold extended data from the PS200/CH200

'Alias names for array elements.

Alias CH200_MX(1) = BattTargV 'Battery charging target voltage.
Alias CH200_MX(2) = DgtlPotSet 'Digital potentiometer setting.
Alias CH200_MX(3) = BattCap

'Present battery capacity.

Alias CH200_MX(4) = Qloss

'Battery charge deficit.

'Setting this value to true, or on, causes a manual battery test.
Public ManualTest As Boolean
'When value is true the battery is being tested.

Public TestBatt As Boolean
'Stores the results from the PC/CH200 query. In this case nothing is returned.
Public SDI12Result As String

'Elapsed time of test in hours
Public ElapsedHrs As Long
'Do not leave "TestLengthHrs" at zero, or test will stop after sending command

'once.
Public TestLengthHrs As Long


'Define Data Tables
'Stored hourly data.

DataTable (Hour,1,-1)
DataInterval (0,1,Hr,10)
Minimum (6,CH200_M0(),FP2,0,False)

Maximum (6,CH200_M0(),FP2,False,False)
Minimum (1,PanelTempC(),FP2,0,False)
Maximum (1,PanelTempC(),FP2,False,False)

EndTable

A-13

Advertising