Campbell Scientific CR510 CR510 Basic Datalogger - Page 59
Error Codes
View all Campbell Scientific CR510 manuals
Add to My Manuals
Save this manual to your list of manuals |
Page 59 highlights
SECTION 3. INSTRUCTION SET BASICS 3.10 ERROR CODES There are four types of errors flagged by the CR510: Compile, Run Time, Editor, and ∗D Mode. Compile errors are errors in programming which are detected once the program is entered and compiled for the first time (∗0, ∗6, or ∗B Mode entered). If a programming error is detected during compilation, an E is displayed with the 2 digit error code. The Instruction Location Number of the Instruction which caused the error is displayed to the right of the error code (e.g., E23 105; 105 indicates that the fifth instruction in Table 1 caused error 23). Error 22, missing END, will indicate the location of the instruction which the compiler cannot match with an END instruction. Run time errors are detected while the program is running. The number of the instruction being executed at the time the error is detected is displayed to the right of the error code (e.g., E09 06 indicates that an Instruction 6 in the program is attempting to store data in input locations beyond those allocated). Run time errors 9 and 31 are the result of programming errors. While E08 will display the number of the instruction that was being executed when the error occurred, it is unlikely that the instruction has anything to do with the error. If there is a run time error in a table with a fast execution interval, the error may be written to the display so frequently that it seems the CR510 is not responding to the keyboard. Once the program is stopped, normal function will return. To stop the program some entry must be changed which requires recompiling (Section 1.1.4). For example, enter 0 for the execution interval of Table 1 (i.e., enter ∗1A0A as fast as possible). The program can easily be stopped by pressing any key while the CR10KD is displaying "HELLO" after applying power (turn the CR510 off and then on again). This delays program execution for about two minutes, allowing the program to be changed. Error 8 is the result of a hardware and software "watchdog" that checks the processor state, software timers, and program related counters. The watchdog will attempt to reset the processor and program execution if it finds that the processor has bombed or is neglecting standard system updates, or if the counters are out of allowable limits. Error code 08 is flagged when the watchdog performs this reset. E08 is occasionally caused by voltage surges or transients. Frequent repetitions of E08 are indicative of a hardware problem or a software bug and should be reported to Campbell Scientific. The CR510 keeps track of the number of times (up to 99) that E08 has occurred. The number can be displayed and reset in the ∗B Mode (Section 1.6) or with the Telecommunications A command (Section 5.1). Error 10 is displayed if the primary power drops below 9.6 volts. When this happens, the CR510 stops executing programs. The low voltage counter (∗B Window 9, Section 1.6) counts the number of times the voltage drops below 9.6 volts and displays a double dash (--) if the CR510 is currently in a low voltage shut down. Below approximately 8.5 volts the CR510 will not communicate with the CR10KD or modem, although there may be enough power to display characters on the CR10KD. Editor errors are detected as soon as an incorrect value is entered and are displayed immediately. Only the error code is displayed. ∗D Mode errors indicate problems with saving or loading a program. Only the error code is displayed. TABLE 3.10-1. Error Codes Code Type Description 03 Editor Program table full 04 Compile Intermediate Storage full 05 Compile Storage Area #2 not allocated 08 Run Time CR510 reset by watchdog timer 09 Run Time Insufficient Input Storage 10 Run Time Low battery voltage 11 Editor Attempt to allocate more Input or Intermediate Storage than is available 12 Compile Duplicate ∗4 ID 20 Compile SUBROUTINE encountered before END of previous subroutine 21 Compile END without IF, LOOP or SUBROUTINE 22 Compile Missing END 23 Compile Nonexistent SUBROUTINE 24 Compile ELSE in SUBROUTINE without IF 25 Compile ELSE without IF 3-11