Campbell Scientific CR1000KD CR800 and CR850 Measurement and Control Systems - Page 178

SDI-12 Programmed Modes

Page 178 highlights

Section 7. Installation Send Data Commands (aD0! to aD9!) These commands requests data from the sensor. They are normally issued automatically by the CR800 after measurement commands aMv! or aCv!. In transparent mode, the user asserts these commands in series to obtain data. If the expected number of data values are not returned in response to a aD0! command, the data logger issues aD1!, aD2!, etc., until all data are received. In transparent mode, a user does likewise. The limiting constraint is that the total number of characters that can be returned to a aDv! command is 35 characters (75 characters for aCv!). If the number of characters exceed the limit, the remainder of the response are obtained with subsequent aDv! commands wherein v increments (v = 0 to 9) with each iteration. Continuous Measurement Command (aR0! to aR9!) Sensors that are able to continuously monitor the phenomena to be measured, such as a shaft encoder, do not require a Start Measurement (M) command. They can be read directly with the Continuous Measurement Command (R0! to R9!). For example, if the sensor is operating in a continuous measurement mode, then aR0! will return the current reading of the sensor. Responses to R commands are formatted like responses to D commands. The main difference is that R commands do not require a preceding M command. The maximum number of characters returned in the part of the response is 75. Each R command is an independent measurement. For example, aR5! need not be preceded by aR0! through aR4!. If a sensor is unable to take a continuous measurement, then it must return its address followed by (carriage return and line feed) in response to an R command. If a CRC was requested, then the must be preceded by the CRC. 7.8.3.2 SDI-12 Programmed Modes The CR800 can be programmed to act as an SDI-12 recording device, or as an SDI-12 sensor. For troubleshooting purposes, responses to SDI-12 commands can be captured in programmed mode by placing a variable declared As String in the variable parameter. Variables not declared As String will capture only numeric data. Another troubleshooting tool is the terminal-mode snoop utility, which allows monitoring of SDI-12 traffic. Enter terminal mode as described in SDI-12 Transparent Mode (p. 174), issue CRLF ( Key) until CR800> prompt appears. Type W and then . Type 9 in answer to Select:, 100 in answer to Enter timeout (secs):, Y to ASCII (Y)?. SDI-12 communications are then opened for viewing. 7.8.3.2.1 SDI-12 Recorder Mode The SDI12Recorder() instruction automates the issuance of commands and interpretation of sensor responses. Commands entered into the SDIRecorder() instruction differ slightly in function from similar commands entered in transparent mode. In transparent mode, for example, the operator manually enters aM! and aD0! to initiate a measurement and get data, with the operator providing the proper time delay between the request for measurement and the request for data. In programmed mode, the CR800 provides command and timing services within a single line of code. For example, when the SDI12Recorder() instruction is programmed with the M! command (note that the SDI-12 address is a separate 178

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81
  • 82
  • 83
  • 84
  • 85
  • 86
  • 87
  • 88
  • 89
  • 90
  • 91
  • 92
  • 93
  • 94
  • 95
  • 96
  • 97
  • 98
  • 99
  • 100
  • 101
  • 102
  • 103
  • 104
  • 105
  • 106
  • 107
  • 108
  • 109
  • 110
  • 111
  • 112
  • 113
  • 114
  • 115
  • 116
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • 128
  • 129
  • 130
  • 131
  • 132
  • 133
  • 134
  • 135
  • 136
  • 137
  • 138
  • 139
  • 140
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • 152
  • 153
  • 154
  • 155
  • 156
  • 157
  • 158
  • 159
  • 160
  • 161
  • 162
  • 163
  • 164
  • 165
  • 166
  • 167
  • 168
  • 169
  • 170
  • 171
  • 172
  • 173
  • 174
  • 175
  • 176
  • 177
  • 178
  • 179
  • 180
  • 181
  • 182
  • 183
  • 184
  • 185
  • 186
  • 187
  • 188
  • 189
  • 190
  • 191
  • 192
  • 193
  • 194
  • 195
  • 196
  • 197
  • 198
  • 199
  • 200
  • 201
  • 202
  • 203
  • 204
  • 205
  • 206
  • 207
  • 208
  • 209
  • 210
  • 211
  • 212
  • 213
  • 214
  • 215
  • 216
  • 217
  • 218
  • 219
  • 220
  • 221
  • 222
  • 223
  • 224
  • 225
  • 226
  • 227
  • 228
  • 229
  • 230
  • 231
  • 232
  • 233
  • 234
  • 235
  • 236
  • 237
  • 238
  • 239
  • 240
  • 241
  • 242
  • 243
  • 244
  • 245
  • 246
  • 247
  • 248
  • 249
  • 250
  • 251
  • 252
  • 253
  • 254
  • 255
  • 256
  • 257
  • 258
  • 259
  • 260
  • 261
  • 262
  • 263
  • 264
  • 265
  • 266
  • 267
  • 268
  • 269
  • 270
  • 271
  • 272
  • 273
  • 274
  • 275
  • 276
  • 277
  • 278
  • 279
  • 280
  • 281
  • 282
  • 283
  • 284
  • 285
  • 286
  • 287
  • 288
  • 289
  • 290
  • 291
  • 292
  • 293
  • 294
  • 295
  • 296
  • 297
  • 298
  • 299
  • 300
  • 301
  • 302
  • 303
  • 304
  • 305
  • 306
  • 307
  • 308
  • 309
  • 310
  • 311
  • 312
  • 313
  • 314
  • 315
  • 316
  • 317
  • 318
  • 319
  • 320
  • 321
  • 322
  • 323
  • 324
  • 325
  • 326
  • 327
  • 328
  • 329
  • 330
  • 331
  • 332
  • 333
  • 334
  • 335
  • 336
  • 337
  • 338
  • 339
  • 340
  • 341
  • 342
  • 343
  • 344
  • 345
  • 346
  • 347
  • 348
  • 349
  • 350
  • 351
  • 352
  • 353
  • 354
  • 355
  • 356
  • 357
  • 358
  • 359
  • 360
  • 361
  • 362
  • 363
  • 364
  • 365
  • 366
  • 367
  • 368
  • 369
  • 370
  • 371
  • 372
  • 373
  • 374
  • 375
  • 376
  • 377
  • 378
  • 379
  • 380
  • 381
  • 382
  • 383
  • 384
  • 385
  • 386
  • 387
  • 388
  • 389
  • 390
  • 391
  • 392
  • 393
  • 394
  • 395
  • 396
  • 397
  • 398
  • 399
  • 400
  • 401
  • 402
  • 403
  • 404
  • 405
  • 406
  • 407
  • 408
  • 409
  • 410
  • 411
  • 412
  • 413
  • 414
  • 415
  • 416
  • 417
  • 418
  • 419
  • 420
  • 421
  • 422
  • 423
  • 424
  • 425
  • 426
  • 427
  • 428
  • 429
  • 430
  • 431
  • 432
  • 433
  • 434
  • 435
  • 436
  • 437
  • 438
  • 439
  • 440
  • 441
  • 442
  • 443
  • 444
  • 445
  • 446
  • 447
  • 448
  • 449
  • 450
  • 451
  • 452
  • 453
  • 454
  • 455
  • 456
  • 457
  • 458
  • 459
  • 460
  • 461
  • 462
  • 463
  • 464
  • 465
  • 466
  • 467
  • 468
  • 469
  • 470
  • 471
  • 472
  • 473
  • 474
  • 475
  • 476
  • 477
  • 478
  • 479
  • 480
  • 481
  • 482
  • 483
  • 484
  • 485
  • 486
  • 487
  • 488
  • 489
  • 490
  • 491
  • 492
  • 493
  • 494
  • 495
  • 496
  • 497
  • 498
  • 499
  • 500
  • 501
  • 502
  • 503
  • 504
  • 505
  • 506
  • 507
  • 508
  • 509
  • 510
  • 511
  • 512
  • 513
  • 514
  • 515
  • 516
  • 517
  • 518
  • 519
  • 520
  • 521
  • 522
  • 523
  • 524
  • 525
  • 526
  • 527
  • 528
  • 529
  • 530
  • 531
  • 532
  • 533
  • 534
  • 535
  • 536
  • 537
  • 538
  • 539
  • 540
  • 541
  • 542
  • 543
  • 544
  • 545
  • 546
  • 547
  • 548
  • 549
  • 550
  • 551
  • 552
  • 553
  • 554
  • 555
  • 556
  • 557
  • 558
  • 559
  • 560
  • 561
  • 562
  • 563
  • 564
  • 565
  • 566

Section 7.
Installation
178
Send Data Commands (aD0! to aD9!)
These commands requests data from the sensor.
They are normally issued
automatically by the CR800 after measurement commands
aMv!
or
aCv!
.
In
transparent mode, the user asserts these commands in series to obtain data.
If the
expected number of data values are not returned in response to a
aD0!
command,
the data logger issues
aD1!
,
aD2!
, etc., until all data are received.
In transparent
mode, a user does likewise.
The limiting constraint is that the total number of
characters that can be returned to a
aDv!
command is 35 characters (75 characters
for
aCv!
).
If the number of characters exceed the limit, the remainder of the
response are obtained with subsequent
aDv!
commands wherein
v
increments (
v
=
0
to
9
) with each iteration.
Continuous Measurement Command (aR0! to aR9!)
Sensors that are able to continuously monitor the phenomena to be measured,
such as a shaft encoder, do not require a Start Measurement (
M
) command.
They
can be read directly with the Continuous Measurement Command (
R0!
to
R9!
).
For example, if the sensor is operating in a continuous measurement mode, then
aR0!
will return the current reading of the sensor.
Responses to
R
commands are
formatted like responses to
D
commands.
The main difference is that
R
commands do not require a preceding
M
command.
The maximum number of
characters returned in the <values> part of the response is
75
.
Each
R
command is an independent measurement.
For example,
aR5!
need not
be preceded by
aR0!
through
aR4!
.
If a sensor is unable to take a continuous
measurement, then it must return its address followed by
<CR><LF>
(carriage
return and line feed) in response to an
R
command.
If a CRC was requested, then
the
<CR><LF>
must be preceded by the CRC.
7.8.3.2 SDI-12 Programmed Modes
The CR800 can be programmed to act as an SDI-12 recording device, or as an
SDI-12 sensor.
For troubleshooting purposes, responses to SDI-12 commands can be captured in
programmed mode by placing a variable declared
As String
in the variable
parameter.
Variables not declared
As String
will capture only numeric data.
Another troubleshooting tool is the terminal-mode snoop utility, which allows
monitoring of SDI-12 traffic.
Enter terminal mode as described in
SDI-12
Transparent Mode
(p. 174),
issue CRLF (<Enter> Key) until CR800> prompt
appears.
Type W and then <Enter>.
Type
9
in answer to
Select:
,
100
in answer
to
Enter timeout (secs):
,
Y
to
ASCII (Y)?
.
SDI-12 communications are then
opened for viewing.
7.8.3.2.1 SDI-12 Recorder Mode
The
SDI12Recorder()
instruction automates the issuance of commands and
interpretation of sensor responses.
Commands entered into the
SDIRecorder()
instruction differ slightly in function from similar commands entered in
transparent mode.
In transparent mode, for example, the operator manually enters
aM!
and
aD0!
to initiate a measurement and get data, with the operator providing
the proper time delay between the request for measurement and the request for
data.
In programmed mode, the CR800 provides command and timing services
within a single line of code.
For example, when the
SDI12Recorder()
instruction
is programmed with the
M!
command (note that the SDI-12 address is a separate