MCA_MoveBuffer (FB)

FUNCTION_BLOCK MCA_MoveBuffer

This function block will, upon a rising edge on Execute, do a number of relative or absolute moves, listed in a table (Array of MCA_Pos_Ref).

../../../../../../_images/plcopen.png
  • with VelocityMode = FALSE, the function block will position the axis to a complete stop at target position and continue with the next move from the table automatically.

  • with VelocityMode = TRUE, the function block will end the positioning movement with the given velocity and (if it is not the last movement) continue with the next move from the table automatically.

  • If it is the last movement, the axis will come to a complete stop.

../../../../../../_images/MCA_Indexing_Ex.PNG
InOut:

Scope

Name

Type

Comment

Input

Execute

BOOL

Starts the function block at rising edge

MovesToDo

WORD

Provide number of moves, not more than entries in MoveParameter

TableIndex

WORD

Index to an array of MCA_Pos_Ref, points to the movement to be performed on rising edge of Execute, start with 1 for the first entry

Output

Done

BOOL

Shows the status of the function block. Done = TRUE if the execution is finished

Busy

BOOL

The function block is not finished

Active

BOOL

Indicates that the function block has control on the axis

CommandAborted

BOOL

Command is aborted by another command from other PLCopen function block

Error

BOOL

Signals that error has occurred within function block

ErrorID

ERROR_ID

Error identification. For error details refer to Enumeration ERROR_ID

MovesPending

WORD

Indicates the number of moves still to execute

IndexNo

WORD

Index executing or last index completed, starting with “1”

Input

MoveParameter

POINTER TO MCA_POS_REF

array with all parameters for either absolute or relative positioning movement

Inout

Axis

Axis_Ref

Reference to axis

Structure: