CRBasic Example 24. Groundwater Pump Test
'This program example demonstrates the use of multiple scans in a program by running a
'groundwater pump test. Note that Scan() time units of Sec have been changed to mSec for
'this demonstration to allow the program to run its course in a short time. To use this
'program for an actual pump test, change the Scan() instruction mSec arguments to Sec. You
'will also need to put a level measurement in the MeasureLevel subroutine.
'A groundwater pump test requires that water level be measured and recorded
'according to the following schedule:
'Minutes into Test Data-Output Interval
'----------------- --------------------
' 0-10 10 seconds
' 10-30 30 seconds
' 30-100 60 seconds
' 100-300 120 seconds
' 300-1000 300 seconds
' 1000+ 600 seconds
'Declare Variables
Public PTemp
Public Batt_Volt
Public Level
Public LevelMeasureCount As Long
Public ScanCounter(6) As Long
'Declare Data Table
DataTable(LogTable,1,-1)
Minimum(1,Batt_Volt,FP2,0,False)
Sample(1,PTemp,FP2)
Sample(1,Level,FP2)
EndTable
'Declare Level Measurement Subroutine
Sub MeasureLevel
LevelMeasureCount = LevelMeasureCount + 1 'Included to show passes through sub-routine
'Level measurement instructions goes here
EndSub
'Main Program
BeginProg
'Minute 0 to 10 of test: 10-second data-output interval
Scan(10,mSec,0,60) 'There are 60 10-second scans in 10 minutes
ScanCounter(1) = ScanCounter(1) + 1 'Included to show passes through this scan
Battery(Batt_volt)
PanelTemp(PTemp,250)
Call MeasureLevel
'Call Output Tables
CallTable LogTable
NextScan
172