-

Y_CamShift

Image
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.

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

See the Function Block ErrorID List

Example

 


This help information is valid for iCube Engineer Online Help 2025.6

Copyright © 2025 YASKAWA EUROPE GmbH and © 2025 YASKAWA America, Inc.