MCA_CamAppend (FB)

FUNCTION_BLOCK MCA_CamAppend

This function block implements Camming functionality. A slave axis is coupled to a master axis by a position/position relation.

../../../../../../_images/plcopen.png

The function block will append a cam table to an ongoing cam movement (first cam). The transition to the new cam (second cam) table will during a continuous movement.

  • The End-Velocity from the first cam has to match the start velocity for the second cam, as no sync process is forseen.

  • the first cam has to be defined “periodic”, otherwise the movement will stop when the first cam reaches “EndOfProfile”

  • just one additional cam can be “appended”, the next cam is possiple as soon as this block shows “inSync”

  • the block has no additional input paramater, as the input parameter from first cam are to be used.

  • The Cam is placed either absolute or relative to the current master and slave positions:

  • Absolute: The profile between master and slave is seen as an absolute relationship.

  • Relative: The relationship between master and slave is in a relative mode.

  • If a cam-table is to be used “relative”, the first position has to be zero.

  • This function block is not merged with the MC_CamTableSelect function block because this separation enables changes on the fly.

  • A mechanical analogy to a slave offset is a cam welded with additional constant layer thickness. Because of this the slave positions have a constant offset and the offset could be interpreted as axis offset of the master shaft, if linear guided slave tappets are assumed.

Note

The slave axis is NOT ramped out, which means the curve should end with velocity=0. The CAM could be interrupted with any other function block, according to the statemachine. It is not required to use MC_CamOut.

../../../../../../_images/MC_CamIn_ex1.png
InOut:

Scope

Name

Type

Comment

Input

Execute

BOOL

Starts the function block at rising edge

Output

InSync

BOOL

Slave is synchronized to CamTable

Done

BOOL

Shows the status of the function block. Done = TRUE if the execution is finished

Busy

BOOL

The function block with Busy = TRUE has control on the axis

Active

BOOL

Indicates that the function block has control on the axis

CommandAborted

BOOL

Command is aborted by another command from other PLCopen function block

Error

BOOL

Signals that error has occurred within function block

ErrorID

ERROR_ID

Error identification. For error details refer to Enumeration ERROR_ID

EndOfProfile

BOOL

If Linear axis, CamTable reached the end, slave axis stopped. It will be never TRUE in case of Rotary axis

Inout

Master

Axis_Ref

Reference to master axis

Slave

Axis_Ref

Reference to slave axis

CamTableID

MC_Cam_Id

Identifier of CAM Table to be used in the MC_CamIn function block. Prepared by MC_CamTableSelect