BufferMode

Some function blocks have a BufferMode input. These function blocks can be blended into each other in order to execute faster motions without stopping at the transitions.

  • A command in the "mcAborting" BufferMode is executed immediately. The current motion and all the following ones are aborted as fast as possible. Afterwards, the programmed motion is executed. Blending is not supported in this BufferMode.
  • A command in the "mcBuffered" BufferMode is only executed after all previously programmed motions have been completed.
  • The BufferMode always needs to be set for the next (following) FB and affects the previous (current) FB.
  • For the BufferMode input, the following options are available which define the transition to the next command. The selection is made via the MC_BUFFER_MODE enumeration type of the "L_MC1P_MotionControlBasic" function library for which the following constants (INT) are defined:

Name

Initial value

Info

mcAborting

0

" Non-buffered mode " (standard behaviour):

The next motion command aborts the running motion command.

  • In this case, the aborted motion command sets its CommandAborted status output = TRUE.
  • The buffer is deleted.

mcBuffered

1

The next motion command is only executed if the previous motion command has been completed (status output Done = TRUE).

Modes for blending

In the following modes, the next motion command is also only executed if the previous motion command has been completed (status output Done = TRUE).

In contrast to the " Buffered " mode, the axis does not stop between the two motion commands but "passes through" the first target position with a velocity as described in the following:

mcBlendingLow

2

The transition to the next motion command is done with the lower velocity of the two motion commands.

mcBlendingPrevious

3

The transition to the next motion command is done with the velocity of the running motion command.

mcBlendingNext

4

The transition to the next motion command is done with the velocity of the next motion command.

mcBlendingHigh

5

The transition to the next motion command is done with the higher velocity of the two motion commands.

Note!

For FBs that coordinate the motion assignment of an axis (L_MC1P, L_MC2P), a buffer size of "2" is supported, i.e. a function block can be executed simultaneously and a second function block can wait in addition for its activation. If during this time, a third FB is started, the second FB is aborted and the third FB is executed immediately after the first FB.

The following table provides an overview of the function blocks which support the "B uffered mode " and the function blocks which provide for a successive command in the " Buffered mode ":

Function block

" Buffered mode " possible

Successive command in the " Buffered mode " is possible

Relevant signal for activating the successive command

MC_CamIn

l

l

InSync

MC_CombineAxes

l

l

InSync

MC_GearIn

l

l

InGear

MC_GearInPos

l

l

InSync

MC_Halt

l

l

Done

MC_Home

l

l

Done

MC_MoveAbsolute

l

l

Done

MC_MoveAdditive

l

l

Done

MC_MoveContinuousAbsolute

l

l

InEndVelocity

MC_MoveContinuousRelative

l

l

InEndVelocity

MC_MoveRelative

l

l

Done

MC_MoveVelocity

l

l

InVelocity

MC_PhasingAbsolute

l

l

Done

MC_PhasingRelative

l

l

Done

MC_Power

-

l

Status

MC_Stop

-

l

Done AND NOT Execute

The following subchapters contain examples of the different modes.