Y_CamShift
Parameters
| * | Parameter | Data Type | Description | Default |
|---|---|---|---|---|
| VAR_IN_OUT | ||||
| B |
Master | AXIS_REF | A logical reference to the master axis. |
|
| B | Slave | AXIS_REF | A logical reference to the master axis. |
|
| VAR_INPUT | ||||
| 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 |
| V | PhaseShift | LREAL | The relative amount of adjustment required in Master reference units. | LREAL#0.0 |
| V | AdjustMode | Yt_AdjustMode |
An ENUM for TIME or range of master correction, with the following values:
Y_AdjustMode#MasterDistance: The adjustment starts immediately and completes when the master has travelled the specified MasterDistance. Y_AdjustMode#ElapsedTime: The adjustment starts immediately and completes within the specified Time. Y_AdjustMode#WithinRange: The adjustment starts when the master first crosses the StartPosition and completes when the master reaches the EndPosition. |
Yt_AdjustMode#MasterDistance |
| V | MasterDistance | LREAL | Relative amount the master will travel (in cam master units) from when the function block first executes until the correction is complete. Only used if AdjustMode = Y_AdjustMode#MasterDistance. | LREAL#0.0 |
| V | Duration | LREAL | Only used if AdjustMode = Y_AdjustMode#ElapsedTime. Units are seconds. | LREAL#0.0 |
| V | StartPosition | LREAL | Only used if AdjustMode = Y_AdjustMode#WithinRange. The initial position of the master where it is possible to start making the adjustment. Units are those of the cam master. | LREAL#0.0 |
| V | EndPosition | LREAL | Only used if AdjustMode = Y_AdjustMode#WithinRange. The final position of the master where the adjustment must be completed. Units are those of the cam master. | LREAL#0.0 |
| E | BufferMode | MC_BufferMode |
Defines the behavior of the axis - allowable modes are Aborting, Buffered, BlendingLow, BlendingPrevious, BlendingNext, and BlendingHigh.
MC_BufferMode#Aborting MC_BufferMode#Buffered MC_BufferMode#BlendingLow MC_BufferMode#BlendingPrevious MC_BufferMode#BlendingNext MC_BufferMode#BlendingHigh |
MC_BufferMode#Aborting |
| 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
◾The PhaseShift amount input is a relative shift from the current absolute shift value as stored in Parameter 1511, CamMasterShift.
◾This function uses a modified sine pattern to ‘meter in’ the adjustment from the current adjustment to current + PhaseShift. The effects of multiple Y_CamShifts are cumulative.
◾Only BufferMode=MC_BufferMode#aborting and MC_BufferMode#buffered are supported. If MC_BufferMode#aborting, then any ptphase shift, cam shift, cam scaling that are currently taking place; it will not abort the underlying Cam or gearing. If MC_BufferMode#buffered, then the phase shift will occur after all previous phase shifts, cam shifts, cam scalings are complete.
◾The shift is allowed to occur over multiple cycles of the master if the application requires this. This is only possible in Yt_AdjustMode#MasterDistance by setting MasterDistance to a value larger than the Master Machine Cycle, or with Yt_AdjustMode#ElapsedTime, by setting the Time input larger then the time it takes for the machine to complete one cycle.
◾For more information on cam shift behavior, see the Cam Transitions Matrix.
◾For more information on how cam shift applies to camming, see the Camming Block Diagram.
Error Description
Example