Managing realtime cycles

The actions of a realtime cycle can be influenced by the following keywords:

#RT CYCLE [START | HOLD | CONTINUE | ABORT ACTION | DELETE] [ID=..]

Keyword

Description

START

Realtime cycle runs through now; state of the $IF condition is re-initialised; motions/actions are executed

HOLD

Realtime cycle no longer runs through; state of the $IF condition is retained; motions/actions are on hold

CONTINUE

Realtime cycle which is put on hold by HOLD runs through again; state of the $IF is same as before HOLD; motions/actions previously on hold are continued

ABORT ACTION

Realtime cycle continues to run through; state of the $IF condition is retained; motions/actions are aborted

DELETE

Realtime cycle is deleted

Programming Example

Managing a realtime cycle

; Move X axis to 0mm
G00 X0
; Define realtime cycle but do not start
#RT CYCLE DEF [ID = 17 SCOPE = PROG]
  ; Query ACS position of X axis
  $IF ONCE V.RTA.ACS.ACT_POS.X > 200
    ; Start independent Z axis motion
    ; ...
  $ENDIF
#RT CYCLE END
; Move X axis
G00 X50
; Start realtime cycle
#RT CYCLE START [ID = 17]
; Move X axis, Z motion is started
G00 X250
; Hold Z motion
#RT CYCLE HOLD [ID = 17]
; ...
; Continue Z motion
#RT CYCLE CONTINUE [ID = 17]
; ...
; End main program
; PROG cycle 17 is deleted automatically
M30

Programming Example

Delete global realtime cycle

; Define global realtime cycle
#RT CYCLE [ID = 17 SCOPE = GLOBAL]
  ; instructions
  ; ...
#RT CYCLE END
; ...
; Delete global realtime cycle explicitly
#RT CYCLE DELETE [ID = 17]
; End main program
M30