-

Y_CA_CamBlend

Image

This function block was designed for applications that require a one way cam profile, and the slave must be able to engage or disengage smoothly from a moving master. It requires three separate cam tables with portions of slave data (that are entering from a cam to another and leaving one cam to the other) having the same slope. This helps on-the-fly changeover from one table to the next smoothly.

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 slave axis.
V BlendData Yt_CA_BlendStruct Structure containing the information required for engaging, disengaging, ramping in, and ramping out.
VAR_INPUT
V ExecuteRampIn BOOL Upon the rising edge, this function block will prepare to engage the RampIn cam profile at the master position specified in the BlendData structure. FALSE
V ExecuteRampOut BOOL Upon the rising edge, this function block will prepare to switch to the RampOut cam profile at the SwitchOver position specified in the BlendData structure. FALSE
V ExecuteStandStill BOOL Upon the rising edge, this function block will prepare to engage the slave to the Running cam profile at the StandstillEngage position (calculated after an E-Stop recovery routine) in the BlendData structure FALSE
V
ExecuteRunningSwitch
BOOL Upon the rising edge, this function block will prepare to engage the slave to a new Running cam profile. This will only be valid while already operating in a Running cam and the function block will engage the new Cam using EngageMethod#Linked mode
FALSE
VAR_OUTPUT
E InSync BOOL Set high when the axis or group is synchronized with the axis or group it is commanded to follow. Synchronized means that the two are position locked, any transitional period required to achieve synchronization has been completed.
B 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)
B 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.
B CommandAborted BOOL Set high if motion is aborted by another motion command or AXIS_REF. 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.
V BlendStatus UINT Outputs a value of 1 to indicate the RampIn Cam is Active, 2 indicates the Running cam is Active, and 3 indicates the RampOut cam is Active. Refer to the slave's CamState parameter [1540] to determine the state the active cam.
E EndOfProfile BOOL Pulsed output signaling the cyclic end of a CAM Profile.
V
CamSwitched
BOOL Pulsed output when the new Running cam profile is switch to on the fly.
V
Warning
BOOL Set high when the ExecuteRunningSwitch input is not valid.
V
WarningID
STRING Message describing why ExecuteRunningSwitch is not executable.


Notes

Error Description

Refer to the Function Block ErrorID List.

Example

Image

Timing Diagram

Image

Application Example

Image

Timing Diagram

The speed matching, or normal running cam is designated as Profile #2. Profile #1 and Profile #3 will only run once, but Profile #2 will run indefinitely. A simple straight line profile for Profile #2 is not required, and reasonable motion can be used if the application requires it, keeping in mind that CamBlend was designed for one way slave motion that never stops while in normal operation, thus making it difficult to synchronize with the master smoothly without blending from one profile to another.

Image

Switching Running Cam Profiles on the Fly

Switched running cam profiles on the fly, an example of this is shown below. In this example a knife is cutting product at a length of 360, but then transistions to a cut length of 400. When Y_CA_CamBlend.ExecuteRunningSwitch -> TRUE the cam will continue as normal to the end of the current master cycle. At the start of the next cycle the new cam profile is engaged and Y_CA_CamBlend.CamsSwitched -> TRUE. This is held TRUE until Y_CA_CamBlend.ExecuteRunningSwitch -> FALSE.

Please note: Use Yt_EngageMethod#Linked when switching from one running cam to another. This can be defined in the BlendData structure of the FB.

Image

There are two possible warning states for the Y_CA_CamBlend when executing the switch. The first being, Y_CA_CamBlend is not using the RunningCam table (CamBlend is in the wrong state). An example is shown below.
Image

Another possible warning state, is if there are no new cam tables to switch to. With each scan Y_CA_CamBlend checks to see if the BlendData has updated. If not, and ExecuteRunningSwitch -> TRUE, Warning -> TRUE and the following WarningID appears.
Image

 


This help information is valid for iCube Engineer Online Help 2025.6

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