Campbell Scientific CR1000KD CR800 and CR850 Measurement and Control Systems - Page 200
CRBasic Example 39., Conditional Compile
View all Campbell Scientific CR1000KD manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 200 highlights
Section 7. Installation Note Do not confuse CRBasic files with .DLD extensions with files of .DLD type used by legacy Campbell Scientific dataloggers. As an example, pseudo code using this feature might be written as: #Const Destination = "CR800" #If Destination = "CR3000" Then #ElseIf Destination = "CR1000" Then #ElseIf Destination = "CR800" Then #Else #EndIf This logic allows a simple change of a constant to direct, for instance, which measurement instructions to include. CRBasic Editor now features a pre-compile option that enables the creation of a CRBasic text file with only the desired conditional statements from a larger master program. This option can also be used at the pre-compiler command line by using -p . This feature allows the smallest size program file possible to be sent to the CR800, which may help keep costs down over very expensive telecommunications links. CRBasic example Conditional Compile (p. 200) 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 (CR800, CR1000, and CR3000). CRBasic Example 39. Conditional Compile 'Conditional compilation example for CR3000, CR1000, and CR800 Series Dataloggers 'Key instructions include #If, #ElseIf, #Else and #EndIf. 'Set program options based on the setting of a constant in the program. Const ProgramSpeed = 2 #If ProgramSpeed = 1 Const ScanRate = 1 Const Speed = "1 Second" #ElseIf ProgramSpeed = 2 Const ScanRate = 10 Const Speed = "10 Second" #ElseIf ProgramSpeed = 3 Const ScanRate = 30 Const Speed = "30 Second" #Else Const ScanRate = 5 Const Speed = "5 Second" #EndIf '1 second '10 seconds '30 seconds '5 seconds 'Choose a COM port depending on which logger type the program is running in. #If LoggerType = CR3000 Const SourcSerialPort = Com3 #ElseIf LoggerTypes = CR1000 Const SourcSerialPort = Com2 200