RTC6 boards
Doc. Rev. 1.0.21 en-US
6 Developing RTC6-User Programs
110
6.4.5 Interrupting Lists for
Synchronization of Processing
The list command set_wait makes it possible to
insert numbered break points (“wait markers”) into a
list. Each break point is associated with a number
greater than zero. When the RTC6 PCIe Board reaches
a break point during list execution, see Chapter 6.5
”Structured Programming”, page 112, output of the
list is temporarily interrupted and the laser is
switched off.
get_wait_status checks whether list processing is
currently interrupted at a break point. If processing is
interrupted, get_wait_status returns the number
(wait_word) of the break point (otherwise the value
zero).
Break points are provided for synchronization
purposes. The user program should perform a
handling routine for each break point. When that
handling routine is finished, list processing can be
resumed (at the list command that follows) by the
control command release_wait.
By set_wait the PAUSED list execution status
(queryable by get_status) is set and the
BUSY list execution status is reset. The opposite
occurs after a subsequent release_wait.
List execution can be interrupted at any desired
point in time by the control command pause_list (or
by the synonym stop_list) and resumed by
restart_list.
By pause_list, Signals for “Laser Active” Operation
are suppressed and the scan system remains in the
most recently defined state – even if in the middle of
Microstepping. After a subsequent restart_list, the
scan system resumes the planned movements (of the
current command) and the Laser Control Signals are
released again (in general, an interrupted marking
cannot be continued without a disruption in the
marking result).
By pause_list the PAUSED list execution status
(queryable by get_status) is set and is reset by
restart_list. The BUSY list execution status is left
unchanged by both commands.
6.4.6 Changing Lists Automatically
If the RTC6 List Memory is configured for two
RTC6 List Memory areas “List 1” and “List 2”, see
Chapter 6.3.2 ”Configuring the RTC6 List Memory”,
page 103, then a second list can be loaded while the
first list is still being processed.
It typically takes substantially longer to process a list
than to write it into the memory. Continuous
processing of arbitrarily long lists is therefore also
possible, if they are divided into command blocks.
Continuous command output, which requires
switching between two lists, can be achieved by
automatic list changing as described in the following
sections.
The commands for automatic list changing only take
effect when the next following set_end_of_list is
executed. That is, automatic list changing after
processing a list can only occur if that list has been
finished with a set_end_of_list. Otherwise,
processing resumes at the beginning of the same list.
If the RTC6 List Memory is configured for a RTC6 List
Memory area (“List 2”) to size 0, then all automatic
list change commands lead to “List 1” to the
specified position.
One-Time List Change
auto_change and auto_change_pos activate an
automatic, one-time list change between “List 1” and
“List 2”. After processing of the current list (when
set_end_of_list is reached), processing of the next
list is thereby automatically started.
When using auto_change the next list is started at
position 0; when using auto_change_pos the next
list is started the specified start position (RTC6 List
Memory address as an offset to the beginning of the
list).