by using -p <outfile name>. This feature allows the smallest size program file
possible to be sent to the CR1000, which may help keep costs down over very
expensive telecommunication links.
CRBasic example Conditional Code
(p. 181) shows a sample program that
demonstrates use of conditional compilation features in CRBasic. Within the
program are examples showing the use of the predefined LoggerType constant
and associated predefined datalogger constants (6, 800, 1000, and 3000).
CRBasic Example 29. Conditional Code
'This program example demonstrates program compilation than is conditional on datalogger
'model and program speed. Key instructions include #If, #ElseIf, #Else and #EndIf.
'Set program options based on:
' LoggerType, which is a constant predefined in the CR1000 operating system
' ProgramSpeed, which is defined in the following statement:
Const ProgramSpeed = 2
#If ProgramSpeed = 1
Const ScanRate = 1 '1 second
Const Speed = "1 Second"
#ElseIf ProgramSpeed = 2
Const ScanRate = 10 '10 seconds
Const Speed = "10 Second"
#ElseIf ProgramSpeed = 3
Const ScanRate = 30 '30 seconds
Const Speed = "30 Second"
#Else
Const ScanRate = 5 '5 seconds
Const Speed = "5 Second"
'Public Variables
Public ValueRead, SelectedSpeed As String * 50
'Main Program
BeginProg
'Return the selected speed and logger type for display.
#If LoggerType = 3000
SelectedSpeed = "CR3000 running at " & Speed & " intervals."
#ElseIf LoggerType = 1000
SelectedSpeed = "CR1000 running at " & Speed & " intervals."
#ElseIf LoggerType = 800
SelectedSpeed = "CR800 running at " & Speed & " intervals."
#ElseIf LoggerType = 6
SelectedSpeed = "CR6 running at " & Speed & " intervals."
#Else
SelectedSpeed = "Unknown Logger " & Speed & " intervals."
#EndIf
'Open the serial port
SerialOpen(ComC1,9600,10,0,10000)
'Main Scan
Scan(ScanRate,Sec,0,0)
'Measure using different parameters and a different SE channel depending
'on the datalogger type the program is running in.
181