Campbell Scientific CR3000 Micrologger User Manual
Page 185

Section 7. Installation
185
Scan
(5,Sec,0,0)
'Non-SDI-12 measurements here
NextScan
 
 
SlowSequence
Scan
(5,Min,0,0)
SDI12Recorder
(Temp(1),1,0,"M!",1.0,0)
SDI12Recorder
(Temp(2),1,1,"M!",1.0,0)
SDI12Recorder
(Temp(3),1,2,"M!",1.0,0)
SDI12Recorder
(Temp(4),1,3,"M!",1.0,0)
NextScan
EndSequence
EndProg
However, problems 2 and 3 still are not resolved. These can be resolved by using 
the concurrent measurement command, C!. All measurements will be made at 
about the same time and execution time will be about 95 seconds, well within the 
5-minute scan rate requirement, as follows: 
Public
BatteryVolt
Public
Temp(4)
BeginProg
 
 
Scan
(5,Sec,0,0)
'Non-SDI-12 measurements here
NextScan
 
 
SlowSequence
Scan
(5,Min,0,0)
SDI12Recorder
(Temp(1),1,0,"C!",1.0,0)
SDI12Recorder
(Temp(2),1,1,"C!",1.0,0)
SDI12Recorder
(Temp(3),1,2,"C!",1.0,0)
SDI12Recorder
(Temp(4),1,3,"C!",1.0,0)
NextScan
EndProg
A new problem introduced by the C! command, however, is that it causes high 
power usage by the CR3000. This application has a very tight power budget. 
Since the C! command reissues a measurement request immediately after 
receiving data, the sensors will be in a high power state continuously. To remedy 
this problem, measurements need to be started with C! command, but stopped 
short of receiving the next measurement command (hard-coded part of the C! 
routine) after their data are polled. The SDI12Recorder() instruction C command 
(not C!) provides this functionality as shown in CRBasic example Using Alternate 
Concurrent Command (aC)
(p. 186).
A modification of this program can also be
used to allow near-simultaneous measurement of SDI-12 sensors without 
requesting additional measurements, such as may be needed in an event-driven 
measurement. 
Note When only one SDI-12 sensor is attached, that is, multiple sensor 
measurements do not need to start concurrently, another reliable method for 
making SDI-12 measurements without affecting the main scan is to use the 
CRBasic SlowSequence instruction and the SDI-12 M! command. The main 
scan will continue to run during the 
ttt
time returned by the SDI-12 sensor. The
trick is to synchronize the returned SDI-12 values with the main scan.
