![Campbell SR50AT Скачать руководство пользователя страница 53](http://html1.mh-extra.com/html/campbell/sr50at/sr50at_instruction-manual_488987053.webp)
Appendix B. Example Programs
B-19
Public
SR50AT_MID
As Boolean
Dim
n
'used as a counter
'Define Data Tables
DataTable
(Daily,True,-1)
DataInterval
(0,1440,Min,10)
Minimum
(1,BattV,FP2,False,False)
Maximum
(1,BattV,FP2,False,False)
Minimum
(1,PnlTmp_C,FP2,False,False)
Maximum
(1,PnlTmp_C,FP2,False,False)
EndTable
DataTable
(Hour,True,-1 )
DataInterval
(0,60,Min,10)
Sample
(1,AirTempC,FP2)
Sample
(1,TCDT,IEEE4)
Sample
(1,Q,FP2)
EndTable
PreserveVariables
'Main Program
BeginProg
'Main Scan
n = 1
Scan
(10,Sec,1,0)
'Battery Voltage measurement 'BattV'
Battery
(BattV)
'Wiring Panel Temperature measurement 'PnlTmp_C'
PanelTemp
(PnlTmp_C,60)
'Automated snow depth measurement. Must occur two minutes before
'actual storage time to get 11 measurements completed.
If TimeIntoInterval
(58,60,Min)
Then
SR50ATCtrl = True
EndIf
'Set this flag to true to get the initial distance from the SR50AT
'to the ground.
If
SR50AT_MID
Then
SR50ATCtrl = True
'Logic to make 11 snow depth measurements, sort them, and store
'the corrected values.
If
SR50ATCtrl
Then
'SR50AT Sonic Ranging Sensor (SDI-12 Output) measurements
'MDT', 'MQ', & MAir
SDI12Recorder
(SR50AT_M(),C1,"0","M3!",1,0)
'Load the array to be sorted.
SR50AT(n,1) = SR50AT_M(1)
SR50AT(n,2) = SR50AT_M(2)
SR50AT(n,3) = SR50AT_M(3)
n += 1
If
n > 11
Then
n = 1
SR50ATCtrl = False
SortSpa
(Result_SR50AT(1,1),11,SR50AT(1,1),2)
TCDT = Result_SR50AT(6,1)
Q = Result_SR50AT(6,2)
AirTempC = Result_SR50AT(6,3)
If
SR50AT_MID
Then
Inital_Dist = TCDT
SR50AT_MID = False
EndIf
Snow_Depth = Inital_Dist - TCDT
EndIf
EndIf