Section 10.  Troubleshooting 
 
 
is not large enough and write Warning:Variable ExArray out of bounds to the 
CompileErrors field. 
The CR800 does not catch all out-of-bounds errors, so take care that all arrays are 
sized as needed. 
 
10.5.4.8 Watchdog Errors 
Watchdog errors indicate the CR800 has crashed and reset itself.    A few 
watchdogs indicate the CR800 is working as designed and are not a concern. 
Following are possible root causes sorted in order of most to least probable: 
•  Transient voltage 
•  Running the CRBasic program very fast 
•  Many PortSet() instructions back-to-back with no delay 
•  High-speed serial data on multiple ports with very large data packets or 
bursts of data 
If any of the previous are not the apparent cause, contact a Campbell Scientific 
support engineer for assistance.    Causes that require assistance include the 
following: 
•  Memory corruption.    Check for memory failures with M command in 
terminal mode
 (p. 483). 
•  Operating-system problem 
•  Hardware problem 
Watchdog errors may cause comms disruptions, which can make diagnosis and 
remediation difficult.    The CR1000KD Keyboard/Display will often work as a 
user interface when comms fail.    Information on CR800 crashes may be found in 
three places. 
•  WatchdogErrors 
(p. 552) field in the Status table   
•  Watchdog.txt file on the CPU: drive
 (p. 409). Some time may elapse 
between when the error occurred and the Watchdog.txt file is created.   
Not all errors cause a file to be created.    Any time a watchdog.txt file is 
created, please consult with a Campbell Scientific support engineer. 
•  Crash information may be posted at the end of the CompileResults 
(p. 
539) 
register in the Status    table. 
 
10.5.4.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