MC_MoveSuperImposed
Parameters
| * | Parameter | Data Type | Description | Default |
|---|---|---|---|---|
| VAR_IN_OUT | ||||
| B | Axis | AXIS_REF | Logical axis reference. This value can be located on the Configuration tab in the Hardware Configuration (logical axis number). | |
| VAR_INPUT | Default | |||
| B | Execute | BOOL | Upon the rising edge, all other function block inputs are read and the function is initiated. To modify an input, change the value and re-trigger the execute input. | FALSE |
| B | Distance | LREAL | Incremental distance that is to be superimposed (in user units) | LREAL#0.0 |
| E | VelocityDiff | LREAL | Value of the maximum velocity difference to the ongoing motion (not necessarily reached). | LREAL#0.0 |
| E | Acceleration | LREAL | Value of the acceleration in user units/second^2 (acceleration is applicable with same sign of torque and velocity) | LREAL#0.0 |
| E | Deceleration | LREAL | Value of the deceleration in user units/second^2 (deceleration is applicable with opposite signs of torque and velocity.) | LREAL#0.0 |
| E | Jerk | LREAL | Not supported; reserved for future use. Value of the jerk in [user units / second^3]. | LREAL#0.0 |
| VAR_OUTPUT | ||||
| B | Done | BOOL | Set high when the commanded action has completed successfully. If another block takes control before the action is completed, the Done output will not be set. This output is reset when Execute goes low. | |
| E | Busy | BOOL | Set high upon the rising edge of the Execute input, and reset when Done, CommandAborted, or Error is true. In the case of a function block with an Enable input, a Busy output indicates the function is operating, but not ready to provide Valid information. (No Error) | |
| E | Active | BOOL | For buffered modes, this output is set high at the moment the block takes control of the axis. For non buffered modes, the outputs Busy and Active have the same value. | |
| E | CommandAborted | BOOL | Set high if motion is aborted by another motion command or MC_Stop. This output is cleared with the same behavior as the Done output. | |
| B | Error | BOOL | Set high if an error has occurred during the execution of the function block. This output is cleared when 'Execute' or 'Enable' goes low. | |
| E | ErrorID | UINT | If Error is true, this output provides the Error ID. This output is reset when 'Execute' or 'Enable' goes low. | |
Notes
- When MC_MoveSuperImposed is active, any other command in aborting mode except MC_MoveSuperImposed will abort both motion commands: both the MC_MoveSuperImposed and the underlying motion command. In any other Buffer mode, the underlying motion command is not aborted.
- If MC_MoveSuperImposed is active and another MC_MoveSuperImposed is commanded, only the on-going MC_MoveSuperImposed command is aborted, and replaced by the new MC_MoveSuperImposed, the underlying motion command continues.
- The 'Active' output of MC_MoveSuperImposed and the underlying FB will both be true at the same time.
- In the 'StandStill' motion state, MC_MoveSuperImposed acts like MC_MoveRelative.
- The values of Acceleration, Deceleration, and Jerk are additional values to the on-going motion, and not absolute ones. With this, the underlying FB always finishes its job in the same period of time regardless of whether a MC_MoveSuperImposed FB takes place concurrently.
- Velocity profile of the resultant move is as follows:
Related Function Blocks
MC_GearInPos: Slave Axis position adjustment made to achieve position synchronization over a defined region of travel for both master and slave.
Y_CamShift : Dynamically modifies the master - slave relationship by adding a perceived offset to the master position, effectively causing the slave to advance or retard from the originally specified synchronization data in the cam data table.
Error Description
Example 1
MC_MoveSuperImposed
in executed while
MC_MoveRelative
is executing a move.
The Logic Analyzer trace for the above program is shown below:
Example 2
Consider two axes, a master and a slave that need to be electronically geared to each other at a certain ratio. If a minor adjustment needs to be made on the slave axis to bump the axis ahead or retard it by a certain distance, MC_SuperImposed can be used to make that adjustment. The example shown here is that of an adjustment of 20 units being made to the slave axis which was geared to a master axis running at 20 units/sec velocity with a 1:1 ratio.
Example 3
The example shown here is that of an adjustment of -20 units being made to the slave axis which was geared to a master axis running at 20 units/sec velocity with a 1:1 ratio.