Intervals in one data table – Campbell Scientific CR200/CR200X-series Dataloggers User Manual
Page 139

Section 11. Programming Resource Library
Time instructions in the TrigVar parameter of the DataTable declaration. Since
DataInterval is not used, the table size cannot be autoallocated and table size
should be carefully considered before being set to a specific number of records.
CRBASIC EXAMPLE 20.
CRBASIC EXAMPLE. Programming for two data intervals in
one data table
'CRBASIC program to write to a single table with two different time
'intervals.
'Declare Public Variables
Public T109_C(2), Counter, deltaT
Public int_fast, int_slow
'Data Tables
'Table output on two intervals depending on condition.
'note the parenthesis around the TriggerVariable AND statements
DataTable (TwoInt,(int_fast AND IfTime(0,5,Sec)) OR (int_slow AND IfTime (0,15,sec)),1000)
Sample (2,T109_C())
Maximum (1,counter(1),False,False)
Minimum (1,counter(1),False,False)
Maximum (1,deltaT,False,False)
Minimum (1,deltaT,False,False)
Average (1,deltaT,false)
EndTable
'Main Program
BeginProg
Scan (1,Sec)
counter(1) = counter(1) + 1
'Thermistor measurement
Therm109 (T109_C(),2,1,Ex1,1.0,0)
'calculate the difference in thermistor temperatures
deltaT = T109_C(1)-T109_C(2)
'when the difference in temperatures is >=3 turn LED on
'and trigger the data table's faster interval
If deltaT >= 3 Then
PortSet (1,1)
int_fast = -1
int_slow = 0
Else
PortSet (C1,0)
int_fast = 0
int_slow = -1
EndIf
'Call Output Tables
CallTable TwoInt
NextScan
EndProg
127