Campbell Scientific CR3000 CR3000 Micrologger - Page 156

Programming Resource Library

Page 156 highlights

Section 7. Installation 7.8 Programming Resource Library This library of notes and CRBasic code addresses a narrow selection of CR3000 applications. Consult a Campbell Scientific applications engineer if other resources are needed. 7.8.1 Calibration Using FieldCal() and FieldCalStrain() Calibration increases accuracy of a sensor by adjusting or correcting its output to match independently verified quantities. Adjusting a sensor's output signal is preferred, but not always possible or practical. By using the FieldCal() or FieldCalStrain() instruction, a linear sensor output can be corrected in the CR3000 after the measurement by adjusting the multiplier and offset. When included in the CR3000 CRBasic program, FieldCal() and FieldCalStrain() can be engaged through a support software calibration wizard (p. 451). Help for using the wizard is available in the software. A more arcane procedure can be executed though the Displayon-board keyboard and display or the numeric monitor in any version of datalogger support software. The numeric monitor procedure is used in the examples below to clearly illustrate the workings of the calibration functions. 7.8.1.1 CAL Files Calibration data are stored automatically, usually on the CR3000 CPU: drive, in CAL files. These data become the source for calibration factors when requested by the LoadFieldCal() instruction. A CAL file is created automatically on the same CR3000 memory drive and given the same name (with .cal extension) as the program that creates and uses it. For example, the CRBasic program file CPU:MyProg.cr3 generates the CAL file CPU:MyProg.cal. CAL files are created if a program using FieldCal() or FieldCalStrain() does not find an existing, compatible CAL file. Files are updated with each successful calibration with new multiplier and offset factors. Only if the user creates a datastorage output table with the SampleFieldCal() instruction will a calibration history be recorded. Note CAL files created by FieldCal() and FieldCalStrain() differ from files created by the CalFile() instruction (File Management (p. 518) ). 7.8.1.2 CRBasic Programming Field calibration functionality is utilized through either: • FieldCal() - the principal instruction used for non-strain gage type sensors. For introductory purposes, use of one FieldCal() instruction and a unique set of FieldCal() variables for each sensor to be calibrated is recommended. Use of variable arrays is permitted for more advanced applications. or, • FieldCalStrain() - the principal instruction used for strain gages measuring microstrain. Use of one FieldCalStrain() instruction and a unique set of FieldCalStrain() variables for each sensor to be calibrated is recommended. Use of variable arrays is permitted for more advanced applications, 156

  • 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
  • 567
  • 568
  • 569
  • 570
  • 571
  • 572
  • 573
  • 574
  • 575
  • 576
  • 577
  • 578
  • 579
  • 580
  • 581
  • 582
  • 583
  • 584
  • 585
  • 586
  • 587
  • 588
  • 589
  • 590

Section 7.
Installation
156
7.8 Programming Resource Library
This library of notes and CRBasic code addresses a narrow selection of CR3000
applications.
Consult a Campbell Scientific applications engineer if other
resources are needed.
7.8.1 Calibration Using FieldCal() and FieldCalStrain()
Calibration increases accuracy of a sensor by adjusting or correcting its output to
match independently verified quantities.
Adjusting a sensor's output signal is
preferred, but not always possible or practical.
By using the
FieldCal()
or
FieldCalStrain()
instruction, a linear sensor output can be corrected in the
CR3000 after the measurement by adjusting the multiplier and offset.
When included in the CR3000 CRBasic program,
FieldCal()
and
FieldCalStrain()
can be engaged through a support software
calibration wizard
(p.
451).
Help for using the wizard is available in the software.
A more arcane
procedure can be executed though the
Displayon-board keyboard and display or
the numeric monitor in any version of datalogger support software.
The numeric
monitor procedure is used in the examples below to clearly illustrate the workings
of the calibration functions.
7.8.1.1 CAL Files
Calibration data are stored automatically, usually on the CR3000 CPU: drive, in
CAL files.
These data become the source for calibration factors when requested
by the
LoadFieldCal()
instruction.
A CAL file is created automatically on the
same CR3000 memory drive and given the same name (with .cal extension) as the
program that creates and uses it.
For example, the CRBasic program file
CPU:MyProg.cr3 generates the CAL file CPU:MyProg.cal.
CAL files are created if a program using
FieldCal()
or
FieldCalStrain()
does not
find an existing, compatible CAL file. Files are updated with each successful
calibration with new multiplier and offset factors.
Only if the user creates a data-
storage output table with the
SampleFieldCal()
instruction will a calibration
history be recorded.
Note
CAL files created by
FieldCal()
and
FieldCalStrain()
differ from files
created by the
CalFile()
instruction (
File Management
(p. 518)
).
7.8.1.2 CRBasic Programming
Field calibration functionality is utilized through either:
FieldCal()
— the principal instruction used for non-strain gage type sensors.
For introductory purposes, use of one
FieldCal()
instruction and a unique set
of
FieldCal()
variables for each sensor to be calibrated is recommended.
Use
of variable arrays is permitted for more advanced applications.
or,
FieldCalStrain()
— the principal instruction used for strain gages measuring
microstrain.
Use of one
FieldCalStrain()
instruction and a unique set of
FieldCalStrain()
variables for each sensor to be calibrated is recommended.
Use of variable arrays is permitted for more advanced applications,