Campbell Scientific CR1000KD CR1000 Measurement and Control System - Page 414

CF Cards & Records Number

Page 414 highlights

Section 8. Operation 8.10 CF Cards & Records Number The number of records in a data table when CardOut() or TableFile() with Option 64 is used in a data-table declaration is governed by these rules: 1. Both CF card memory (CRD: drive) and internal memory (CPU) keep copies of data tables in binary TOB3 format. Collectible numbers of records for both CRD: and CPU are reported in DataRecordSize entries in the Status table. 2. In the table definitions advertised to datalogger support software (p. 77), the CR1000 advertises the greater of the number of records recorded in the Status table, if the tables are not fill-and-stop. 3. If either data area is flagged for fill-and-stop, then whichever area stops first causes all final-data storage to stop, even if there is more space allocated in the non-stopped area, and so limiting the number of records to the minimum of the two areas if both are set for fill-and-stop. 4. When CardOut() or TableFile() with Option 64 is present, whether or not a card is installed, the CPU data-table space is allocated a minimum of roughly 5 kB so that there is at least a minimum buffer space for storing the data to CRD: (which occurs in the background when the CR1000 has a chance to copy data onto the card). So, for example, a data table consisting of one fourbyte sample, not interval driven, 20 bytes per record, including the 16-byte TOB3 header/footer, 258 records are allocated for the internal memory for any program that specifies less than 258 records (again only in the case that CardOut() or TableFile() with Option 64 is present). Programs that specify more than 258 records report back what the user specified, and the number of records on the card specified by the user is always reported back as specified in the Status table, with no minimum since it is not used for buffering as is the internal data-table space. 5. When CardOut() or TableFile() with Option 64 is used but the card is not present, zero bytes are reported in the Status table. 6. In both the internal memory and CF card data-table spaces, about 2 kB of extra space is allocated (about 100 extra records in the above example) so that for the ring memory, the possibility is minimized that new data will overwrite the oldest data when datalogger support software (p. 77) tries to collect the oldest data at the same time. These extra records are not reported in the Status table and are not reported to the datalogger support software and therefore cannot be collected. The only interest the user might have would be the extra space allocated for the data table that comes out of the 4 MB of memory in the typical dataloggers. 7. If the CardOut() or TableFile() with Option 64 instruction is set for fill-andstop, all the space reserved for records on the card is recorded before final-data storage is stopped, including the extra 2 kB allocated to alleviate the conflict of storing the newest data while reading the oldest when the area is not filland-stop, i.e., is ringing around. Therefore, if the CPU does not stop earlier, or is ring and not fill-and-stop, then more records will be stored on the card than originally allocated, i.e., about 2 kB worth of records, assuming no lapses. At the point final data storage is stopped, the CR1000 recalculates the number of records, displays them in the Status table, and advertises a new table definition to the datalogger support software. Further, if the table is storing relatively fast, there might be some additional records already stored in 414

  • 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

Section 8.
Operation
414
8.10 CF Cards & Records Number
The number of records in a data table when
CardOut()
or
TableFile()
with
Option 64
is used in a data-table declaration is governed by these rules:
1.
Both CF card memory (CRD: drive) and internal memory (CPU) keep copies
of data tables in binary TOB3 format.
Collectible numbers of records for both
CRD: and CPU are reported in
DataRecordSize
entries in the
Status
table.
2. In the table definitions advertised to
datalogger support software
(p. 77),
the
CR1000 advertises the greater of the number of records recorded in the
Status
table, if the tables are not fill-and-stop.
3.
If either data area is flagged for fill-and-stop, then whichever area stops first
causes all final-data storage to stop, even if there is more space allocated in the
non-stopped area, and so limiting the number of records to the minimum of the
two areas if both are set for fill-and-stop.
4. When
CardOut()
or
TableFile()
with
Option 64
is present, whether or not a
card is installed, the CPU data-table space is allocated a minimum of roughly
5 kB so that there is at least a minimum buffer space for storing the data to
CRD: (which occurs in the background when the CR1000 has a chance to
copy data onto the card).
So, for example, a data table consisting of one four-
byte sample, not interval driven, 20 bytes per record, including the 16-byte
TOB3 header/footer, 258 records are allocated for the internal memory for any
program that specifies less than 258 records (again only in the case that
CardOut()
or
TableFile()
with
Option 64
is present).
Programs that specify
more than 258 records report back what the user specified, and the number of
records on the card specified by the user is always reported back as specified
in the
Status
table, with no minimum since it is not used for buffering as is the
internal data-table space.
5. When
CardOut()
or
TableFile()
with
Option 64
is used but the card is not
present, zero bytes are reported in the
Status
table.
6.
In both the internal memory and CF card data-table spaces, about 2 kB of
extra space is allocated (about 100 extra records in the above example) so that
for the ring memory, the possibility is minimized that new data will overwrite
the oldest data when
datalogger support software
(p. 77)
tries to collect the
oldest data at the same time.
These extra records are not reported in the
Status
table and are not reported to the datalogger support software and
therefore cannot be collected.
The only interest the user might have would be
the extra space allocated for the data table that comes out of the 4 MB of
memory in the typical dataloggers.
7. If the
CardOut()
or
TableFile()
with
Option 64
instruction is set for fill-and-
stop, all the space reserved for records on the card is recorded before final-data
storage is stopped, including the extra 2 kB allocated to alleviate the conflict
of storing the newest data while reading the oldest when the area is not fill-
and-stop, i.e., is ringing around.
Therefore, if the CPU does not stop earlier,
or is ring and not fill-and-stop, then more records will be stored on the card
than originally allocated, i.e., about 2 kB worth of records, assuming no
lapses.
At the point final data storage is stopped, the CR1000 recalculates the
number of records, displays them in the
Status
table, and advertises a new
table definition to the datalogger support software.
Further, if the table is
storing relatively fast, there might be some additional records already stored in