SECTION 3. INSTRUCTION SET BASICS

TABLE 3.9-4. Program Control Instruction Memory and Execution Times

 

 

MEMORY

 

 

 

 

 

 

 

INTER.

PROG.

 

 

 

 

 

INSTRUCTION

LOC.

BYTES

EXECUTION TIME (ms)

83 IF CASE <F

0

9

 

0.5

 

 

 

85 LABEL SUBR.

0

3

 

0

 

 

 

86 DO

0

5

 

0.1

 

 

 

87 LOOP

1

7

 

0.2

 

 

 

88

IF X<=>Y

0

10

 

0.6

 

 

 

89

IF X<=>F

0

12

 

0.4

 

 

 

90 LOOP INDEX

0

3

 

0.5

 

 

 

91 IF FLAG/PORT

0

6

 

0.3

 

 

 

92

IF TIME

1

11

 

0.3

 

 

 

93 BEGIN CASE

1

8

 

0.2

 

 

 

94 ELSE

0

4

 

0.2

 

 

 

95 END

0

4

 

0.2

 

 

 

96

SERIAL OUT

0

3

Option:

0x

1x

2x

3x

 

 

 

 

Time:

0.4

1.8

2.1

0.9

 

 

 

 

Option:

4x

5x

6x

7x

 

 

 

 

Time:

1.7

1.9

0.7

0.5

97

INIT.TELE.

7

17

 

2.3

 

 

 

98

SEND CHAR.

0

3

 

0.7+0.05 * No. char.

3.10 ERROR CODES

There are four types of errors flagged by the CR10: 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., 105 indicates that the fifth instruction in Table 1 caused the error). Error 22, missing END, will indicate the location of the instruction which the compiler cannot match with the 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 error 8 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 CR10 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).

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 CR10 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).

Editor errors are detected as soon as an incorrect value is entered and are displayed immediately. Only the error code is displayed.

3-10