User guide
168
6000 Series Programmer's Guide
Dwells and Direction Changes
Compiled profiles may incorporate changes in direction only if the preceding motion segment
has come to rest. This may be achieved for non-Following segments either by creating a
continuous segment with a goal velocity of zero, or by preceding a preset segment with VFØ.
It may be achieved for Following segments either by creating a continuous or preset segment
with a goal ratio of zero, or by preceding a preset segment with FOLRNFØ. In all cases,
motion within the profile comes to rest, although the profile is not yet complete. Even
though the motor is not moving, the axis status bit 1 (AS.1) will remain set, indicating a
profile is still underway. Only then can you change direction (using the D+ or D- command,
D~ is not allowed) within a profile. An attempt to incorporate changes in direction if the
preceding motion segment has not come to rest will result in a compilation error.
In many applications, it may be useful to create a time delay between moves. For example, a
machine cycle may require a move out, dwell for 2 seconds, and move back. To create this
dwell, a compiled GOWHEN may be used between the two moves. The code within a compiled
program may look like:
MC0 ; Preset positioning used
MA0 ; Incremental positioning used
D(VAR1) ; Target position is in VAR1
VF0 ; Motion comes to rest at end of move
GOBUF1 ; Create move out segment
GOWHEN(T=2000) ; Profile delays for 2 seconds
D- ; Return position is home (direction reversed)
VF0 ; Motion comes to rest at end of move
GOBUF1 ; Create move back home segment
In Following applications, it may be more useful to create a master travel delay between
moves. For example, a machine cycle replacing a cam may require a move out, dwell for 2000
master counts, and move back. To create this dwell, a compiled GOBUF of zero slave distance
may be used between the two moves. The code within a compiled program may look like:
MC0 ; Preset positioning used
MA0 ; Incremental positioning used
D(VAR1) ; Target position is in VAR1
FOLMD4000 ; Move takes place over 4000 master counts
FOLRNF0 ; Motion comes to rest at end of move
GOBUF1 ; Create move out segment
D0 ; No change in target position
FOLMD2000 ; Dwell takes place over 2000 master counts
FOLRNF0 ; Motion comes to rest at end of “move” (dwell)
GOBUF1 ; Create dwell segment
D(VAR1) ; Return position is home (direction change implied)
D- ; Return position is home (direction reversed)
FOLMD4000 ; Move takes place over 4000 master counts
FOLRNF0 ; Motion comes to rest at end of move
GOBUF1 ; Create move back home segment










