Campbell Scientific CR3000 Micrologger User Manual

Page 185

Advertising
background image

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.

Advertising