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).
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.
- InOut:
Scope
Name
Type
Comment
Input
ExecuteBOOLStarts the function block at rising edge
MovesToDoWORDProvide number of moves, not more than entries in MoveParameter
TableIndexWORDIndex 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
DoneBOOLShows the status of the function block. Done = TRUE if the execution is finished
BusyBOOLThe function block is not finished
ActiveBOOLIndicates that the function block has control on the axis
CommandAbortedBOOLCommand is aborted by another command from other PLCopen function block
ErrorBOOLSignals that error has occurred within function block
ErrorIDError identification. For error details refer to Enumeration ERROR_ID
MovesPendingWORDIndicates the number of moves still to execute
IndexNoWORDIndex executing or last index completed, starting with “1”
Input
MoveParameterPOINTER TO MCA_POS_REF
array with all parameters for either absolute or relative positioning movement
Inout
AxisReference to axis
Structure: