CR10X User Guide
1-2
If the execution interval for a table is less than the time required to process that
table, the CR10X finishes processing the table and waits for the next occurrence
of the execution interval before again initiating the table (i.e. when the execution
interval has elapsed and the table is still executing, that execution is skipped).
Since no advantage is gained in the rate of execution with this situation, it should
be avoided by specifying an execution interval adequate for the table processing
time.
Whenever the processing time of your program exceeds a table’s
execution interval, an error is logged in memory. The number of
overrun errors can be displayed and reset in the *B Mode (see
Section 1.6) or using the telecommunications ‘A’ command (see
Section 5). An overrun also causes decimal points to appear on both
sides of the sixth digit of the CR10KD display. (The decimal points
do not appear around the G in LOG if the *0 Mode is entered before
the overrun occurs.)
In some cases, the processing time may exceed the execution interval only when
the Output Flag is set and extra time is consumed by final Output Processing. This
may be acceptable. For example, suppose you want to sample some phenomena
every 0.125 seconds and output processed data every ten minutes. The processing
time of the table which does this is less than 0.125 seconds except when output
occurs (every ten minutes). With final output the processing time is one second.
With the execution interval set at 0.125 seconds, and a one second lag between
samples once every ten minutes, eight measurements out of 4800 (.17%) are
missed: this is an acceptable statistical error for most populations.
1.1.2 Subroutines
Table 3 is used to enter subroutines which can be called with Program Control
Instructions in Tables 1 and 2 or other subroutines. The group of instructions
which forms a subroutine starts with Instruction 85, Label Subroutine, and ends
with Instruction 95, End.
Subroutines labelled 96, 97 or 98 have the extra feature of being executed when a
digital control port goes high (port 6 for subroutine 96, port 7 for subroutine 97
and port 8 for subroutine 98). Any of these subroutines will interrupt Tables 1 and
2 (see Section 1.1.3) when the appropriate port goes high. When the port goes
high the processor wakes within a few microseconds. The port triggers on the
rising edge (i.e. when it goes from low to high). If the port stays high the
subroutine is not called again.
1.1.3 Table Priority and Interrupts
Table 1 execution has priority over Table 2. If Table 2 is being executed when it
is time to execute Table 1, Table 2 is interrupted. After Table 1 processing is
completed, Table 2 processing resumes at the point of interruption. If the execu-
tion interval of Table 2 coincides with Table 1, Table 1 is executed first, followed
by Table 2.
Interrupts by Table 1 are not allowed in the middle of an instruction
or while output to Final Storage is in process (flag 0 is set high).
The interrupt occurs as soon as the instruction is completed or flag 0
is set low.
NOTE
NOTE