RTC
®
5 PC Interface Board
Rev. 1.9 e
6 Developing User Applications
74
6.4.4 Starting and Stopping Lists
List processing (“List 1” or “List 2”) can be started
either by the control command execute_list (see
page 256) or via an external start signal (see the
section "Starting and Stopping Lists via External
Control Signals and Master/Slave Synchronization",
page 209).
The command execute_at_pointer (see page 256)
can be used to start output of a list at a specified
address. If an external start signal is used (see the
section "Starting and Stopping Lists via External
Control Signals and Master/Slave Synchronization",
page 209), then the command set_extstartpos_list
(see page 421) allows definition of a start address for
external starting of the list.
Output by the RTC
®
5 begins immediately. Even
during 10 µs-clocked execution of the list commands,
you can still send control commands to the RTC
®
5,
which will immediately execute them without
hindering execution of the list. This is useful, for
example, for loading a second list while the first list
is being processed (the PC and scan head then work
in parallel). But the second list can only be started
after the first list has finished processing. During list
processing, execute_list commands and external
start signals are ignored.
Execution of a list can also be stopped at any time,
e.g. for implementing an emergency shutdown or for
any other purpose. Use of the stop_execution
command (see page 523) will immediately abort the
currently running list and turn off (but not deac-
tivate) all “laser active” laser control signals. The
range_checking command can be used to cancel a
list execution automatically (as with stop_execution)
as well.
If, during list processing, the end of the list is reached
without encountering a set_end_of_list command,
then processing will continue at the beginning of the
list. This will be repeated until either the
stop_execution (see page 523) command is called or
an external stop signal is transmitted to the RTC
®
5.
If, on the other hand, a set_end_of_list command is
encountered during list processing, then list
execution will stop
-
unless an auto_change,
auto_change_pos or start_loop command was
previously issued. In the latter case, a list change will
take place (see "Automatic List Changing", page 75).
The change occurs only upon reaching a
set_end_of_list command.
Notes
• Lists are not automatically started. Regardless of
how many commands are loaded, a list must be
started as described above in order to be
processed.
• To also enable starting and stopping of a list via
external signals, the RTC
®
5 provides corre-
sponding control inputs (see "Starting and
Stopping Lists via External Control Signals and
Master/Slave Synchronization", page 209).
6.4.5 Interrupting Lists for Synchro-
nization of Processing
The list command set_wait (see page 500) makes it
possible to set wait markers (break points) within a
list. Each marker is associated with a number greater
than zero.
When the RTC
®
5 reaches a wait marker during list
execution (see "Structured Programming", page 76),
processing of the list is temporarily interrupted and
the laser is turned off.
The command get_wait_status (see page 293)
ascertains whether processing is currently inter-
rupted at a marker. If processing is interrupted, the
command get_wait_status returns the number
(wait_word) of the corresponding marker. Otherwise
the command returns zero.
The wait markers are provided for synchronization
purposes. The application program should perform a
handling routine for each wait marker. When that
handling routine is finished, processing of the list can
be resumed via the control command release_wait
(see page 392).
The set_wait command causes the PAUSED status
(queryable via get_status) to be set and the BUSY
status to be reset. The opposite occurs after a subse-
quent release_wait command.
List execution can be interrupted at any desired point
in time via the control command pause_list (or via
the synonym command stop_list) and resumed via
the restart_list command. The pause_list command
causes the laser control signals to be disabled
(1)
and
keeps the scan system in the most recently defined
state – even if in the middle of microvectoring. After
a subsequent restart_list command, the scan system
resumes the planned movements (of the current
command) and the laser control signals are reenabled
(1) If the signals are disabled, the laser output ports (LASERON,
LASER1 and LASER2) are in the (high impedance) tristate mode.