Y_Cam_Toolbox FB
| Function block | Description |
|---|---|
| Y_CA_CamAnalyzer |
The Cam_Analyzer function block provides the slave's maximum velocity, acceleration, deceleration and jerk values for a specific cam profile based on a maximum expected master velocity.
|
| Y_CA_CamBlend |
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 a portion of equivalent slave data, so an on-the-fly changeover from one table to the next can occur. This function block uses three
Y_CamIn
functions blocks and one
Y_CamOut
function block.
|
| Y_CA_CamControl |
The CamControl function makes decisions regarding Engage and Disengage logic for applications where products are buffered and processed at random intervals. This function block requires the
Y_AX_ProductBuffer
function block from the PLCopen Toolbox and the
Y_CA_CamShiftControl
block from the Cam Toolbox. The main inputs that feed the CamControl block are RegistrationData and ControlData. This function block was designed for applications such as a Linear Flying Shear, Random Rotary Placer, Knife, Drill, etc.
|
| Y_CA_CamGenerator |
This function calculates positions required for various master / slave motion profiles. It was designed to replicate the formulas available in Yaskawa’s CamTool & Cam Editor Windows software and includes additional curve types. The CamData input is a structure of key data points required by the application, including a formula code for generating a pair of master / slave data points at the resolution specified. The output CamTable is a
Yt_MS_CamStruct
which can be downloaded to the Motion Engine using the
Y_CamStructSelect
function block.
|
| Y_CA_CamMasterLookup | This function block provides the master position given a slave position by searching the referenced CamTable. If there may be two or more master positions for the slave, as in the case of out and back slave motion, a range of slave positions can be specified to limit the search for the corresponding master position. This function block is useful for E-Stop recovery routines. |
| Y_CA_CamShiftControl | The CamShift_Control block manages cam shifting for applications that buffer random products such as Linear Flying Shear or Random Rotary Placer/Knife/Drill, etc. The purpose is to re-synchronize the slave for each item or product arriving on the master axis. |
| Y_CA_CamSlave_FeedToLength |
CamSlave_FeedToLength was designed for use with camming applications that index a slave axis forward in one direction, and require on the fly adjustments of the actual index length based on a sensor input that occurs while the slave is moving. The sensor input is on the slave axis.
|
| Y_CA_CamSlaveLookup | This function block returns the slave position corresponding to the given master position. This function block is used by Y_CA_CamSlaveRecover. |
| Y_CA_CamSlaveRecover | The CamSlave_Recover block moves a Slave back into sync with the master axis after camming was interrupted unexpectedly, such as E-Stop conditions, or alarms that disable the servo. This function block is particularly useful when resuming the cam motion from the position where it was interrupted is necessary to avoid wasting products in process, or if machine characteristics demand it, or if homing and re-starting the cycle is not feasible. The CamSlave_Recover function block can be used to bring the slave axis to the position in the cam table that corresponds to the current master axis position. Linear interpolation is performed for accuracy in case of coarse resolution between points in the cam table. Once CamSlave_Recover is Done, the camming motion can resume. This function block contains an MC_MoveAbsolute function. |
| Y_CA_CamTableManager | This function block serves as a FIFO buffer for CamTableIDs. Each time a new CamTableID is created, it will delete the cam memory allocated to the oldest CamTable by using the Y_RemoveCamTable function block from the PLCopenPlus firmware library. This function block cleans up cam memory for applications which routinely build new cam tables on the fly. A circular buffer of four cam tables is maintained in the CamTableManager. When the function block is executed a fifth time, it releases the memory area of the oldest cam table ID. Memory managed is that of the motion engine, not the PLC application. |
| Y_CA_CamTableUpdate | This function block aids with cam file management when on the fly changes to the table data are required. It supports two tables: one which may be actively running in the motion engine, and one that may be recalculated and transferred to the motion engine. It contains the Y_CamStructSelect and Y_WriteCamTable function blocks. |
| Y_CA_MasterIndexLookup | This function block returns the array index value corresponding to the given master position. |
| Y_CA_SetCamMasterCycle | This function block prepares the motion engine with the cam table data so that cam adjustments involving blocks like Y_CamShift can be executed before Y_CamIn is executed. This is necessary for applications where calculations that involve the cam master cycle (parameter 1512) or cam master shifted cyclic position (parameter 1502) must be made before the Y_CamIn function block is executed. |
| Y_CA_SlaveIndexLookup | This function block returns the array index value corresponding to the given slave position. This function block is used by Y_CA_CamMasterLookup to determine the equivalent master location for a given slave position. |
| Y_CA_SlaveOffsetControl |
This function block makes corrections on a cammed slave axis for applications that require adjustments while the axis is in motion. Some applications, such as labeling, require on the fly adjustments based on sensor input that occurs while the label is moving. The actual pitch between consecutive labels may be different from the nominal pitch. The correction amount is the difference between the nominal part size and the actual part size measured by the sensor. In this type of application, the sensor input is wired to the slave axis.
The SlaveOffset_Control block is similar to Y_CA_CamSlave_FeedToLength in functionality. Both function blocks make corrections on a cammed slave axis based on sensor input. Both function blocks make corrections while the slave axis is in motion. The difference between the two blocks is that SlaveOffsetControl makes use of the Y_AX_ProductBuffer block while the Y_CA_CamSlave_FeedToLength does not. This allows the SlaveOffset_Control to buffer latched registration data. This can be used in applications where the sensor is more than one part length away from the point of action (SensorDistance > 1 part length). SlaveOffsetControl lacks the window check feature, correction limit feature and missed latch limit feature available in the Y_CA_CamSlave_FeedToLength block. |