RTC6 boards
Doc. Rev. 1.0.21 en-US
8 Advanced Functions for Scan Head Control and Laser Control
249
8.6.4 Compensating 2D Motions
You can use the set_fly_2d command to activate
encoder-based 2D Processing-on-the-fly correction
(for example, for a xy positioning stage), particularly
for continuous marking in the virtual Image Field.
Compared to an activation by set_fly_x and
set_fly_y, this has the following advantages:
• set_fly_2d simultaneously resets both encoders
(whereas the separate commands set_fly_x and
set_fly_y do so with a slight temporal offset
between both channels)
• set_fly_2d allows compensation of non-linear
relations between encoder values and actual
xy positioning stage motions, see Section ”2D
Encoder Compensation for
xy Positioning Stages”, page 249
• Even during an interruption of a set_fly_2d
marking by wait_for_encoder_mode or
wait_for_encoder_in_range, the
galvanometer scanner positions receive
continuous Processing-on-the-fly correction in
accordance with the current xy positioning stage
encoder values (whereby the laser focus remains
stationary relative to the xy positioning stage).
Thus, unnecessary jumps are avoided after
xy positioning stage forwarding motions, see
Chapter 8.6.6 ”Virtual Image Field with
Processing-on-the-fly”, page 252
Notes
• A set_fly_2d correction cannot be combined with
other Processing-on-the-fly corrections, see
Section ”Overview”, page 242.
• Coordinate transformations within the virtual
Image Field, see Section ”Coordinate
Transformations in the Virtual Image Field”,
page 169 can be activated when starting a
Processing-on-the-fly Session with changed
values, if they have been loaded before with the
corresponding control commands.
2D Encoder Compensation for
xy Positioning Stages
For particularly demanding marking requirements, it
might be necessary to also compensate mechanical
deviations of a xy positioning stage.
For this purpose, load_fly_2d_table can be used to
load up to two 2D compensation tables, see
page 250, onto the RTC6 PCIe Board.
Then – during a Processing-on-the-fly application
initiated by set_fly_2d – encoder values are
2D interpolated and compensated just like with field
correction tables.
To avoid unnecessary initialization motions, you can
use init_fly_2d to define a desired positioning stage
start position as the reference value for 2D
encoder
comp
ensation (and to store it on the
RTC6 PCIe Board) and to select simultaneously one of
the both correction tables.
Upon every subsequent encoder reset by set_fly_2d,
the current position is automatically applied as the
new reference position, so that the relation between
current encoder values and the absolute position of
the positioning stage is retained for compensation.
This relation remains even upon termination with
fly_return or upon a new start with set_fly_2d.
This relation does not remain, if you meanwhile
activate other Processing-on-the-fly corrections or
reset the encoders by an external /START (see
set_control_mode (
Bit #9
= 1 ).
At any time, you can query the currently valid
reference values by get_fly_2d_offset.
Encoder compensation is applied exclusively to
Processing-on-the-fly correction. The original
uncompensated encoder values use:
• get_encoder
• store_encoder
• read_encoder
• wait_for_encoder
• wait_for_encoder_mode
• wait_for_encoder_in_range
• Recording by set_trigger
(
Signal1/Signal2
= 43 or 44)
• Recording by get_value