Section 7.  Installation 
 
 
7.7.14.2.1  Alternate Start Concurrent Measurement Command 
Note  aCv and aCv! are different commands — aCv does not end with !. 
The SDIRecorder() aCv command facilitates using the SDI-12 standard Start 
Concurrent command (aCv!) without the back-to-back measurement sequence 
normal to the CR800 implementation of aCv!. 
Consider an application wherein four SDI-12 temperature sensors need to be near-
simultaneously measured at a five minute interval within a program that scans 
every five seconds.    The sensors requires 95 seconds to respond with data after a 
measurement request.    Complicating the application is the need for minimum 
power usage, so the sensors must power down after each measurement. 
This application provides a focal point for considering several measurement 
strategies.    The simplest measurement is to issue a M! measurement command to 
each sensor as shown in the following CRBasic example: 
Public BatteryVolt 
Public Temp1, Temp2, Temp3, Temp4 
 
BeginProg 
 Scan(5,Sec,0,0) 
 
 'Non-SDI-12 measurements here 
 
 SDI12Recorder(Temp1,1,0,"M!",1.0,0) 
 SDI12Recorder(Temp2,1,1,"M!",1.0,0) 
 SDI12Recorder(Temp3,1,2,"M!",1.0,0) 
 SDI12Recorder(Temp4,1,3,"M!",1.0,0) 
 
 NextScan 
EndProg 
However, the code sequence has three problems: 
1.  It does not allow measurement of non-SDI-12 sensors at the required 
frequency because the SDI12Recorder() instruction takes too much time. 
2.  It does not achieve required five-minute sample rate because each 
SDI12Recorder() instruction will take about 95 seconds to complete before 
the next SDI12Recorder() instruction begins, resulting is a real scan rate of 
about 6.5 minutes. 
3.  There is a 95 s time skew between each sensor measurement. 
Problem 1 can be remedied by putting the SDI-12 measurements in a 
SlowSequence scan.    Doing so allows the SDI-12 routine to run its course 
without affecting measurement of other sensors, as follows: