Set-Position Movements
Set-position movements can be initiated via the
commands stepper_abs, stepper_rel,
stepper_abs_no
and
stepper_rel_no
sponding list commands.
Specify absolute set-position values for _abs
commands and relative values for _rel commands
(always as CLOCK pulse units). _no commands only
produce set-position movements for one stepper
motor output, the other set-position commands do
so for both stepper motor outputs simultaneously.
With stepper_wait, you can interrupt further
execution of a list until a started stepper motor
movement is completed.
The list commands for set-position movements are
short list commands. Therefore, a stepper motor
movement can also execute synchronously with a
galvanometer scanner movement.
If the limit switch activates during a set-position
movement, then the movement will immediately
abort and can't be resumed as a normal set-position
movement. You'll either have to request a reference
motion or mechanically deactivate the limit switch. If
a stepper motor movement aborts once (e.g. also via
Period = 0), then the existing set position gets over-
written by the current position value. Therefore the
stepper motor movement to the original set position
can't be resumed by eliminating the cause of inter-
ruption (limit switch or CLOCK pulse period = 0).
Instead, it needs to be newly retriggered.
Querying Signals and Status Values
The current status of stepper motor signals (ENABLE,
DIRECTION, CLOCK and SWITCH), the currently
defined CLOCK pulse period and the current values of
internal position variables for both stepper motors
can be queried via get_stepper_status.
The
get_stepper_status
command also returns the
Busy and Init statuses of both stepper motors. The
Init status is set during reference movements and the
Busy status during set-position movements.
As long as the Init status is set, no set-position
commands (stepper_abs, stepper_rel, etc.) are
permitted; control commands (except stepper_init)
are denied with a
get_error
RTC5_BUSY and list commands wait until the Init
status gets reset. In some circumstances, the list itself
or the movement process must be aborted.
®
RTC
5 PC Interface Board
Rev. 1.9 e
9 Programming Peripheral Interfaces
or the corre-
return value of
Terminating Infinite Movements
Depending on your chosen parameters, sometimes
very long or even infinite stepper motor movements
can be initiated via stepper_init, stepper_abs, e.g. if
no limit switch exists in the specified direction or if a
very large set-position value is combined with a long
pulse period.
• If an infinite movement is started via a control
command (e.g. stepper_abs), then this control
command will complete at the latest when the
positive time (in seconds) supplied for the
WaitTime parameter has expired. However, the
stepper motor's infinite movement itself will
continue and you might need to separately abort
it by setting the CLOCK pulse period (e.g. via the
control command stepper_control) to 0
(emergency stop) or by defining an appropriate
new set position.
• If you start an infinite movement via a list
command (e.g. stepper_abs_list) and wait for its
completion via stepper_wait, then further list
execution will be blocked as long as the infinite
movement isn't aborted via a control command
such as
stepper_control
appropriate new set position. You could also
abort the list via
stop_execution
list stop. But here, too, the stepper motor's
infinite movement needs to be separately
stopped with stepper_control(Period = 0).
with Period = 0 or an
or an external
206
Need help?
Do you have a question about the RTC 5 PC Interface Board and is the answer not in the manual?