Example 2: Oscillation with online modification of the reversal position
The setting data necessary for asynchronous oscillation can be set in the part program.
If the setting data is described directly in the program, the change takes effect during
preprocessing. A synchronized response can be achieved by means of a preprocessing stop
(STOPRE).
Program code Comment
$SA_OSCILL_REVERSE_POS1[Z]=-10
$SA_OSCILL_REVERSE_POS2[Z]=10
G0 X0 Z0
WAITP(Z)
ID=1 WHENEVER $AA_IM[Z] < $$AA_OSCILL_REVERSE_
POS1[Z] DO $AA_OVR[X]=0
ID=2 WHENEVER $AA_IM[Z] < $$AA_OSCILL_REVERSE_
POS2[Z] DO $AA_OVR[X]=0
; If the actual value of the os-
cillating axis has exceeded the
reversal point, then the infeed
axis is stopped.
OS[Z]=1 FA[X]=1000 POS[X]=40 ; Activate oscillation.
OS[Z]=0 ; Deactivate oscillation.
M30
Further information
Oscillating axis
The following apply to the oscillating axis:
● Every axis may be used as an oscillation axis.
● Several oscillation axes can be active at the same time (maximum: the number of the
positioning axes).
● Linear interpolation G1is always active for the oscillating axis – irrespective of the G
command currently valid in the program.
The oscillating axis can:
● Act as an input axis for dynamic transformation
● Act as a guide axis for gantry and coupled-motion axes
● Be traversed:
– Without jerk limitation "BRISK"
or
– With jerk limitation "SOFT"
or
– With acceleration curve with a knee (as positioning axes)
Work preparation
3.18 Oscillation
NC programming
954 Programming Manual, 12/2019, 6FC5398-2EP40-0BA0