MC_MoveAdditive
This FB serves to execute a relative positioning with regard to the target position commanded last in the " DiscreteMotion " state.
- The target position commanded last may be the result of a previously executed motion command " MoveAdditive " that has been aborted.
- If the motion command is started in the " ContinuousMotion " state, the setpoint position at the time of execution is the reference for the relative positioning.
|
|
|
|
MC_MoveAdditive |
|
|
|
|
|---|---|---|---|---|---|---|---|
|
AXIS_REF |
- |
|
Axis |
Done |
|
- |
BOOL |
|
BOOL |
- |
|
Execute |
Busy |
|
- |
BOOL |
|
BOOL |
- |
|
ContinuousUpdate |
Active |
|
- |
BOOL |
|
LREAL |
- |
|
Distance |
CommandAborted |
|
- |
BOOL |
|
LREAL |
- |
|
Velocity |
Error |
|
- |
BOOL |
|
LREAL |
- |
|
Acceleration |
ErrorID |
|
- |
L_IE1P_Error |
|
LREAL |
- |
|
Deceleration |
|
|
|
|
|
LREAL |
- |
|
Jerk |
|
|
|
|
|
MC_BUFFER_MODE |
- |
|
BufferMode |
|
|
|
|
|
|
|
|
|
|
|
|
|
Inputs
|
Name Data type |
Information/possible settings |
|
|---|---|---|
|
Axis |
Transfer of the axis data structure |
|
|
Execute BOOL |
FALSE รค TRUE |
Start positioning. |
|
ContinuousUpdate BOOL |
Continuous acceptance of the profile parameters |
|
|
FALSE |
The profile parameters ( Position , Velocity , Acceleration , ...) are accepted with a rising edge at Execute . |
|
|
TRUE |
The profile parameters are accepted continuously, i.e. during the execution, the motion profile may change. |
|
|
Distance LREAL |
Distance to be traversed in [unit] |
|
|
Velocity LREAL |
Maximum velocity in [unit/s] for approaching the target position
Special case : Velocity = 0: The default value defined in subindex 40 is used for the velocity. |
|
|
Acceleration LREAL |
Maximum acceleration in [unit/s 2 ] Special case : Acceleration = 0: The default value defined in subindex 41 is used for the acceleration. |
|
|
Deceleration LREAL |
Maximum deceleration in [unit/s 2 ] Special case : Deceleration = 0: The default value defined in subindex 41 is used for the acceleration. |
|
|
Jerk LREAL |
Maximum jerk in [unit/s 3 ] Special case : Jerk = 0: The default value defined in subindex 43 is used for the jerk. |
|
|
BufferMode |
Mode for processing successive motion commands |
|
Outputs
The following example shows the behaviour of MC_MoveAdditive in combination with the motion command MC_MoveAbsolute , while the axis is in the "DiscreteMotion" state.
-
Case
: FB2 will only be started after FB1 has reached its commanded position "6000" (with a velocity = "0").
- The Done output of FB1 starts the execution of FB2.
- FB2 adds the distance "40002 to the previously commanded position "6000" and traverses the axis to the resulting position "10000".
-
Case
: FB2 is started (by means of a test signal) before FB1 has reached its commanded position.
- The execution of FB1 is aborted ( CommandAborted = TRUE).
- FB2 adds the distance "40002 to the previously commanded position "6000" and traverses the axis to the resulting position "10000".
Example: Linking of MC_MoveAbsolute and MC_MoveAdditive
Motion axes (AXIS_REF)