beautypg.com

Campbell Scientific CR800 and CR850 Measurement and Control Systems User Manual

Page 179

background image

Section 7. Installation

179

 

instruction parameter), the CR800 issues the aM! AND aD0! commands with
proper elapsed time between the two. The CR800 automatically issues retries and
performs other services that make the SDI-12 measurement work as trouble free
as possible. Table SDI-12Recorder() Commands

(p. 179)

summarizes CR800

actions triggered by some SDI12Recorder() commands.
If the SDI12Recorder() instruction is not successful, NAN will be loaded into the
first variable. See NAN and ±INF

(p. 408)

for more information.

Table 26. SDI12Recorder() Commands

SDIRecorder() Instruction

SDICommand Entry

Actions Internal to
CR800 and Sensor

Mv!

CR800: Issues aMv! command.

Sensor:

Responds

with

atttnn.

CR800: Waits until ttt

1

seconds (unless a

service request is received). Issues aDv!
command(s). If a service request is received,
issues aDv! immediately.

Sensor: Responds with data.

Cv!

CR800: Issues aCv! command.

Sensor:

Responds

with

atttnn.

CR800:

If

ttt=0 then issues aDv! command(s).

Sensor: Responds with data.

CR800: Else, if ttt>0 then moves to next
CRBasic program instruction.

CR800: At next time SDIRecorder() is
executed, if elapsed time < ttt, moves to next
CRBasic instruction.

CR800: Else, issues aDv! command(s).

Sensor: Responds with data.

CR800: Issues aCv! command (to request data
for next scan).

Cv
(note — no ! termination)

2

CR800: Tests to see if ttt expired. If ttt not
expired, loads 1e9 into first variable and then
moves to next CRBasic instruction. If ttt
expired, issues aDv! command(s).

Sensor: Responds to aDv! command(s) with
data, if any. If no data, loads NAN into
variable.

CR800: Moves to next CRBasic instruction
(does not re-issue aCv! command).

1

Note that ttt is local only to the SDIRecorder() instruction. If a second SDIRecorder()

instruction is used, it will have its own ttt.

2

Use variable replacement in program to use same instance of SDI12Recorder() as issued aCV!

(see the CRBasic example Using SDI12Recorder() C Command

).