beautypg.com

10 error codes – Campbell Scientific CR510 Basic Datalogger User Manual

Page 59

background image

SECTION 3. INSTRUCTION SET BASICS

3-11

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