Campbell Scientific CR6 CR6 Measurement and Control System - Page 148

DataInterval, Read More, Status, CardOut, TableFile, OneMin, DataRecordSize, NextScan, SkippedRecord

Page 148 highlights

Section 7. Installation Note While other characters may pass the precompiler and compiler, runtime errors may occur if these naming rules are not adhered to. • TrigVar - Controls whether or not data records are written to storage. Data records are written to storage if TrigVar is true and if other conditions, such as DataInterval(), are met. Default setting is -1 (True). TrigVar may be a variable, expression, or constant. TrigVar does not control intermediate processing. Intermediate processing is controlled by the disable variable, DisableVar, which is a parameter in all output processing instructions (see section, Output Processing Instructions (p. 150) ). Read More Section, TrigVar and DisableVar - Controlling Data Output and Output Processing (p. 195) discusses the use of TrigVar and DisableVar in special applications. • Size - Table size is the number of records to store in a table before new data begins overwriting old data. If 10 is entered, 10 records are stored in the table - the eleventh record will overwrite the first record. If -1 is entered, memory for the table is allocated automatically at the time the program compiles. Automatic allocation is preferred in most applications since the CR6 sizes all tables such that they fill (and begin overwriting the oldest data) at about the same time. Approximately 2 kB of extra data-table space are allocated to minimize the possibility of new data overwriting the oldest data in ring memory when support software collects the oldest data at the same time new data are written. These extra records are not reported in the Status table and are not reported to the support software and so are not collected. Rules on table size change if a CardOut() instruction or TableFile() instruction with Option 64 are included in the table declaration. These instructions support writing of data to a memory card. Writing data to a card requires additional memory be allocated as a data copy buffer. The CR6 automatically determines the size the buffer needs to be and increases the data table memory allocation to accommodate the need (see Memory Cards and Record Numbers (p. 457) ). CRBasic example Definition and Use of a Data Table (p. 146) creates a data table named OneMin, stores data once a minute as defined by DataInterval(), and retains the most recent records in SRAM, up to the automatically allocated memory limit. DataRecordSize entries in the Status table report allocated memory in terms of number of records the tables hold. DataInterval() Instruction DataInterval() instructs the CR6 to both write data records at the specified interval and to recognize when a record has been skipped. The interval is independent of the Scan() / NextScan interval; however, it must be a multiple of the Scan() / NextScan interval. Sometimes, usually because of a timing issue, program logic prevents a record from being written. If a record is not written, the CR6 recognizes the omission as a "lapse" and increments the SkippedRecord counter in the Status table. Lapses waste significant memory in the data table and may cause the data table to fill sooner than expected. DataInterval() instruction parameter Lapses controls the 148

  • 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
  • 591
  • 592
  • 593
  • 594
  • 595
  • 596
  • 597
  • 598
  • 599
  • 600
  • 601
  • 602
  • 603
  • 604
  • 605
  • 606
  • 607
  • 608
  • 609
  • 610
  • 611
  • 612
  • 613
  • 614
  • 615
  • 616
  • 617
  • 618
  • 619
  • 620
  • 621
  • 622
  • 623
  • 624
  • 625
  • 626

Section 7.
Installation
Note
While other characters may pass the precompiler and compiler, runtime
errors may occur if these naming rules are not adhered to.
TrigVar
— Controls whether or not data records are written to storage. Data
records are written to storage if
TrigVar
is true and if other conditions, such as
DataInterval()
, are met. Default setting is
-1
(
True
).
TrigVar
may be a
variable, expression, or constant.
TrigVar
does not control intermediate
processing. Intermediate processing is controlled by the disable variable,
DisableVar
, which is a parameter in all output processing instructions (see
section,
Output Processing Instructions
(p. 150)
).
Read More
Section
,
TrigVar and DisableVar — Controlling Data Output and
Output Processing
(p. 195)
discusses the use of
TrigVar
and
DisableVar
in
special applications.
Size
— Table size is the number of records to store in a table before new data
begins overwriting old data. If
10
is entered, 10 records are stored in the table
– the eleventh record will overwrite the first record. If
–1
is entered, memory
for the table is allocated automatically at the time the program compiles.
Automatic allocation is preferred in most applications since the CR6 sizes all
tables such that they fill (and begin overwriting the oldest data) at about the
same time.
Approximately 2 kB of extra data-table space are allocated to
minimize the possibility of new data overwriting the oldest data in ring
memory when support software collects the oldest data at the same time new
data are written.
These extra records are not reported in the
Status
table and
are not reported to the support software and so are not collected.
Rules on table size change if a
CardOut()
instruction or
TableFile()
instruction with
Option 64
are included in the table declaration.
These
instructions support writing of data to a memory card.
Writing data to a card
requires additional memory be allocated as a data copy buffer.
The CR6
automatically determines the size the buffer needs to be and increases the
data table memory allocation to accommodate the need (see
Memory Cards
and Record Numbers
(p. 457)
).
CRBasic example
Definition and Use of a Data Table
(p. 146)
creates a data table
named
OneMin
, stores data once a minute as defined by
DataInterval()
, and
retains the most recent records in SRAM, up to the automatically allocated
memory limit.
DataRecordSize
entries in the
Status
table report allocated
memory in terms of number of records the tables hold.
DataInterval() Instruction
DataInterval()
instructs the CR6 to both write data records at the specified
interval and to recognize when a record has been skipped. The interval is
independent of the
Scan()
/
NextScan
interval; however, it m
ust be a multiple of
the
Scan()
/
NextScan
interval.
Sometimes, usually because of a timing issue, program logic prevents a record
from being written. If a record is not written, the CR6 recognizes the omission as
a "lapse" and increments the
SkippedRecord
counter in the
Status
table. Lapses
waste significant memory in the data table and may cause the data table to fill
sooner than expected.
DataInterval()
instruction parameter
Lapses
controls the
148