FUNCTION_BLOCK MC_MoveSuperImposed
The function block causes a motion that relatively overlays a currently running motion by a specified distance. The current motion is not interrupted, but is overlaid by the additional distance.
If MC_MoveSuperImposed is active, a further command on the same axis interrupts both motion commands,
i.e. both MC_MoveSuperImposed and the subordinated command.
If an instance of MC_MoveSuperImposed is active and a further instance of the type MC_MoveSuperImposed is called, the already running instance is aborted and replaced by the new instance while the subordinated motion function block remains valid.
In the standstill state of the axis MC_MoveSuperImposed functions like MC_MoveRelative.
The Acceleration, Deceleration and Jerk inputs are supplementary values (not absolute values) for the motion currently running. The subordinated function block will always complete its processing within the same time with no consideration for any instance of MC_MoveSuperImposed acting at the same time.
MC_MoveSuperImposed acts on the slave axis while MC_Phasing operates on the master axis.
Example
Use of MC_MoveSuperImposed
The following illustration shows how the First instance of the type MC_MoveRelative is combined with the Second instance of the type MC_MoveSuperImposed. The signal curve of CommandAborted is not shown because the new command works on the same instance. The end position lies between 7000 and 8000 depending on the time behavior of the abortion of the second command set for MC_MoveSuperimposed.
Use of MC_MoveSuperImposed and cam plate motion
The double line of the slave Velocity indicates the effect on the Axis, which is in synchronized motion of cam plate execution and MC_MoveSuperimposed. The same applies to the associated slave position.
Slave Velocity with MC_Superimposed: Slave Velocity under the influence of MC_SuperImposed.
Slave Position with MC_Superimposed: Slave Position under the influence of MC_SuperImposed.
InOut:
Scope |
Name |
Type |
Comment |
Inout |
Axis |
Reference to axis |
|
Input |
Execute |
BOOL |
TRUE: Starts execution. |
Distance |
LREAL |
Additional distance in technical unit [u] by which the motion currently running is overlaid. |
|
VelocityDiff |
LREAL |
Maximum velocity difference for the motion currently running.
|
|
Acceleration |
LREAL |
Acceleration
|
|
Deceleration |
LREAL |
Deceleration
|
|
Jerk |
LREAL |
Is always positive in [u/s³]. |
|
Output |
Done |
BOOL |
TRUE: Distance is reached |
Busy |
BOOL |
TRUE: Function block is in operation. |
|
CommandAborted |
BOOL |
TRUE: Execution has been interrupted by another function block instance operating on Axis. |
|
Error |
BOOL |
TRUE: Error has occurred. |
|
ErrorID |
SMC_ERROR |
Error identification |