Program code Comment;; then Set the marker with index 0 to 1 and; set the marker with index 1 to 1 andWHENEVER $AA_DTEPW[X]==0 DO $AC_MARKER[0]=1 $AC_MARKER[1]=1;; always, when the marker with index 0 equals 1,; then set the axial override of the feed axis; to 0 to prevent a new premature; infeed!WHENEVER $AC_MARKER[0]==1 DO $AA_OVR[X]=0;; always, when the marker with index 1 equals 1,; then set the axial override of the feed axis; to 0 (to prevent a new premature; infeed!) and set the; axial override of the oscillation axis to 100%; (so that the previous; synchronized action is canceled!)WHENEVER $AC_MARKER[1]==1 DO $AA_OVR[X]=0 $AA_OVR[Z]=100;; When the current position of the oscillating axis; is equal to the reversal position 1,; then reset the marker with index 2,; release the first synchronized action (no; infeed when reaching the start position; == reversal position 1)WHEN $AA_IW[Z]==$SA_OSCILL_REVERSE_POS1[Z] DO $AC_MARKER[2]=0;;----------------------------------N750 OSCILL[Z]=(X) POSP[X]=(5,1,1); Assign axis X to the oscillation axis Z as infeed axis,; this should infeed to end position 5; in substeps of 1 and the sum of all sublengths; should be exactly the same as the end position.;N780 WAITP(Z) ; release the Z axis;N790 X0 Z0N799 M30 ; End of programDescriptionThe starting position matches reversal point 1. The WHEN .... synchronized actions (seeabove) prevent an infeed when the starting position is reached.P5: Oscillation15.5 ExamplesAxes and spindles610 Function Manual, 06/2019, A5E47437747B AA