Table 26. sdi12recorder() commands – Campbell Scientific CR1000 Measurement and Control System User Manual
Page 178

Section 7. Installation
178
is programmed with the M! command (note that the SDI-12 address is a separate
instruction parameter), the CR1000 issues the aM! AND aD0! commands with
proper elapsed time between the two. The CR1000 automatically issues retries
and performs other services that make the SDI-12 measurement work as trouble
free as possible. Table SDI-12Recorder() Commands
(p. 178)
summarizes CR1000
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. 428)
for more information.
Table 26. SDI12Recorder() Commands
SDIRecorder() Instruction
SDICommand Entry
Actions Internal to
CR1000 and Sensor
Mv!
CR1000: Issues aMv! command.
Sensor:
Responds
with
atttnn.
CR1000: 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!
CR1000: Issues aCv! command.
Sensor:
Responds
with
atttnn.
CR1000:
If
ttt=0 then issues aDv! command(s).
Sensor: Responds with data.
CR1000: Else, if ttt>0 then moves to next
CRBasic program instruction.
CR1000: At next time SDIRecorder() is
executed, if elapsed time < ttt, moves to next
CRBasic instruction.
CR1000: Else, issues aDv! command(s).
Sensor: Responds with data.
CR1000: Issues aCv! command (to request
data for next scan).
Cv
(note — no ! termination)
2
CR1000: 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.
CR1000: 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.