5 progerrors, 6 memoryfree, 7 varoutofbounds – Campbell Scientific CR800 and CR850 Measurement and Control Systems User Manual
Page 406: 8 watchdogerrors, 1 status table watchdogerrors

Section 10. Troubleshooting
406
incremented by all events that leave gaps in data, including cycling power to the
CR800.
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 CR800 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 CR800 attempts to
document which variable is out of bounds at the end of the CompileResults
message in the Status table. For example, the CR800 may detect that ExArray()
is not large enough and write Warning:Variable ExArray out of bounds to the
Status table.
The CR800 does not catch all out-of-bounds errors.
10.3.1.8 WatchdogErrors
Watchdog errors indicate the CR800 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 external keyboard / display will often
work as a user interface when telecommunications fail. Information on CR800
crashes may be found in three places.
• WatchdogErrors register in the Status table
(p. 505)
• Watchdog.txt file on the CPU: drive
(p. 318)
• Crash information may be posted at the end of the CompileResults register
in the Status
(p. 505)
table
10.3.1.8.1 Status Table WatchdogErrors
Non-zero indicates the CR800 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 CR800 probably needs an
operating-system update or repair
(p. 3)
by Campbell Scientific.