Campbell Scientific CR3000 CR3000 Micrologger - Page 430

ProgErrors, 3.1.6 MemoryFree, 3.1.7 VarOutOfBounds, 3.1.8 WatchdogErrors

Page 430 highlights

Section 10. Troubleshooting incremented by all events that leave gaps in data, including cycling power to the CR3000. 10.3.1.5 ProgErrors If not zero, investigate. 10.3.1.6 MemoryFree A number less than 4 kB is too small and may lead to memory buffer-related errors. 10.3.1.7 VarOutOfBounds When programming with variable arrays, care must be taken to match the array size to the demands of the program. For instance, if an operation attempts to write to 16 elements in array ExArray(), but ExArray() was declared with only 15 elements (for example, Public ExArray(15)), the VarOutOfBound runtime error counter is incremented in the Status table each time the absence of a sixteenth element is encountered. The CR3000 attempts to catch VarOutOfBound errors at compile time (not to be confused with the CRBasic Editor pre-compiler, which does not). When a VarOutOfBound error is detected at compile time, the CR3000 attempts to document which variable is out of bounds at the end of the CompileResults message in the Status table. For example, the CR3000 may detect that ExArray() is not large enough and write Warning:Variable ExArray out of bounds to the Status table. The CR3000 does not catch all out-of-bounds errors. 10.3.1.8 WatchdogErrors Watchdog errors indicate the CR3000 has crashed, which can be caused by power or transient voltage problems, or an operating system or hardware problem. Watchdog errors may cause telecommunications disruptions, which can make diagnosis and remediation difficult. The integrated keyboard / display will often work as a user interface when telecommunications fail. Information on CR3000 crashes may be found in three places. • WatchdogErrors register in the Status table (p. 529) • Watchdog.txt file on the CPU: drive (p. 338) • Crash information may be posted at the end of the CompileResults register in the Status (p. 529) table 10.3.1.8.1 Status Table WatchdogErrors Non-zero indicates the CR3000 has crashed, which can be caused by power or transient-voltage problems, or an operating-system or hardware problem. If power or transient problems are ruled out, the CR3000 probably needs an operating-system update or repair (p. 3) by Campbell Scientific. 430

  • 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 10.
Troubleshooting
430
incremented by all events that leave gaps in data, including cycling power to the
CR3000.
10.3.1.5 ProgErrors
If not zero, investigate.
10.3.1.6 MemoryFree
A number less than 4 kB is too small and may lead to memory buffer-related
errors.
10.3.1.7 VarOutOfBounds
When programming with variable arrays, care must be taken to match the array
size to the demands of the program.
For instance, if an operation attempts to write
to 16 elements in array
ExArray()
, but
ExArray()
was declared with only 15
elements (for example,
Public
ExArray(15)), the
VarOutOfBound
runtime error
counter is incremented in the
Status
table each time the absence of a sixteenth
element is encountered.
The CR3000 attempts to catch
VarOutOfBound
errors at compile time (not to be
confused with the
CRBasic Editor
pre-compiler, which does not).
When a
VarOutOfBound
error is detected at compile time, the CR3000 attempts to
document which variable is out of bounds at the end of the
CompileResults
message in the
Status
table.
For example, the CR3000 may detect that
ExArray()
is not large enough and write
Warning:Variable ExArray out of
bounds
to the
Status
table.
The CR3000 does not catch all out-of-bounds errors.
10.3.1.8 WatchdogErrors
Watchdog errors indicate the CR3000 has crashed, which can be caused by power
or transient voltage problems, or an operating system or hardware problem.
Watchdog errors may cause telecommunications disruptions, which can make
diagnosis and remediation difficult.
The integrated keyboard / display will often
work as a user interface when telecommunications fail.
Information on CR3000
crashes may be found in three places.
WatchdogErrors
register in the
Status
table
(p. 529)
Watchdog.txt file on the
CPU: drive
(p. 338)
Crash information may be posted at the end of the
CompileResults
register
in the
Status
(p. 529)
table
10.3.1.8.1 Status Table WatchdogErrors
Non-zero indicates the CR3000 has crashed, which can be caused by power or
transient-voltage problems, or an operating-system or hardware problem.
If
power or transient problems are ruled out, the CR3000 probably needs an
operating-system update or
repair
(p. 3)
by Campbell Scientific.