Campbell Scientific CR1000 Measurement and Control System User Manual
Page 181

Section 7. Installation
181
CRBasic Example 33. Using Alternate Concurrent Command (aC)
'Code to use when back to back SDI-12 concurrent measurement commands not desired
'Main Program
BeginProg
'Preset first measurement command to C!
For
X = 1
To
4
cmd(X) = "C!"
Next
X
'Set 5 s scan rate
Scan
(5,Sec,0,0)
'Other measurements here
'Set 5 minute measurement rate
If
TimeIntoInterval
(0,5,Min)
Then
RunSDI12 = True
'Begin measurement sequence
If
RunSDI12 = True
Then
For
X = 1
To
4
Temp_Tmp(X) = 2e9
'when 2e9 changes, indicates a change
Next
X
'Measure SDI-12 sensors
SDI12Recorder
(Temp_Tmp(1),1,0,cmd(1),1.0,0)
SDI12Recorder
(Temp_Tmp(2),1,1,cmd(2),1.0,0)
SDI12Recorder
(Temp_Tmp(3),1,2,cmd(3),1.0,0)
SDI12Recorder
(Temp_Tmp(4),1,3,cmd(4),1.0,0)
'Control Measurement Event
For
X = 1
To
4
If
cmd(X) = "C!"
Then
Retry(X) = Retry(X) + 1
If
Retry(X) > 2
Then
IndDone(X) = -1
'Test to see if ttt expired. If ttt not expired, load "1e9" into first
'variable then moves to next instruction. If ttt expired, issue
'aDv! command(s).
If
((Temp_Tmp(X) = 2e9)
OR
(Temp_Tmp(X) = 1e9))
Then
cmd(X) = "C"
'Start sending "C" command.
ElseIf
(Temp_Tmp(X) = NAN) Then
'Comms failed or sensor not attached
cmd(X) = "C!"
'Start measurement over