The MC_MOVEADDITIVE function is used to apply an additional move command to a servodrive that is already in motion.
As soon as the block input parameter EXECUTE is active:
-
the MC_MOVEADDITIVE block takes control over the currently moving block (MC_MOVERELATIVE or MC_MOVE_ABSOLUTE),
-
the value entered in the DISTANCE parameter is added to the target value of the current movement,
-
the VELOCITY, ACCELERATION, and DECELERATION input parameters are taken into account immediately.
Representation:
Representation:
Representation:
LD Axis
CAL MC_MOVEADDITIVE_Instance(AXIS:=AXIS, EXECUTE:=EXEC, DISTANCE:=DIS, VELOCITY:=V, ACCELERATION:=ACC, DECELERATION:=DEC, ERROR=>ERR, DONE=>DO, BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID)
Representation:
MC_MOVEADDITIVE_Instance(AXIS:=AXIS, EXECUTE:=EXEC, DISTANCE:=DIS, VELOCITY:=V, ACCELERATION:=ACC, DECELERATION:=DEC, ERROR=>ERR, DONE=>DO, BUSY=>B, COMMANDABORTED=>AB, ERRORID=>ERRID);
Description of the Input Parameters
The following table describes the input parameters that are in addition to the
basic parameters:
Parameter
|
Type
|
Comment
|
DISTANCE
|
|
Value specifying the additional distance to cover.
|
VELOCITY
|
|
Speed value.
|
ACCELERATION
|
|
Acceleration value.
|
DECELERATION
|
|
Deceleration value.
|
NOTE: The value 0 for the acceleration and deceleration parameters allows you to use the value configured in the servodrive. If the value is other than 0, the servodrive takes this value into account.
NOTE: For the Icla, the acceleration value is the same for acceleration and deceleration. The type is UINT. The deceleration parameter is not active.
The graph below illustrates the operation of the MC_MOVEADDITIVE block in combination with a MC_MOVE_ABSOLUTE movement block.