MC_CamIn

MC_CamIn 1:

The function block MC_CamIn activates master-slave coupling with a certain cam plate. In addition it is possible to switch to a new cam plate in coupled state. The switching rules, in particular the time or position, can be specified.

The status flag Axis.Status.CamTableQueued (AXIS_REF) can be used to check whether a cam plate is queued for switchover.

Important:

Further information on coupling with cam plates

ActivationMode (coupling or switching of cam plates)

StartMode

ScalingMode

MC_CamIn 2: Inputs

VAR_INPUT
   Execute       : BOOL;
   MasterOffset  : LREAL;
   SlaveOffset   : LREAL;
   MasterScaling : LREAL := 1.0;
   SlaveScaling  : LREAL := 1.0;
   StartMode     : MC_StartMode;
   CamTableID    : MC_CAM_ID;
   BufferMode    : MC_BufferMode;
   Options       : ST_CamInOptions;
END_VAR

Name

Type

Description

Execute

BOOL

The command is executed with a rising edge at Execute input.

MasterOffset

LREAL

Offset to the master position of the cam plate.

SlaveOffset

LREAL

Offset to the slave position of the cam plate.

MasterScaling

LREAL

Scaling of the master position of the cam plate.

SlaveScaling

LREAL

Scaling of the slave position of the cam plate.

StartMode

MC_StartMode

StartMode determines whether the cam positions are interpreted absolutely or relative to the coupling position.
StartMode can be relative or absolute for master (X coordinate) and slave (Y coordinate) respectively.

CamTableID

MC_CAM_ID

ID of the cam plate used for the coupling.

BufferMode

MC_BufferMode

Currently not implemented.

Options

ST_CamInOptions

Data structure with further coupling and switching options:

ActivationMode

The ActivationMode is used to specify the time or position at which the cam plate coupling or switchover is to take place.
ActivationMode can also be specified when a slave is coupled for the first time.

ActivationPosition

Optional master position at which a cam plate is switched, depending on the ActivationMode.
(Not required for first coupling.)
If the ActivationMode MC_CAMACTIVATION_ATMASTERCAMPOS is used, the position refers to the unscaled cam plate. If the position in the application refers to the scaled cam plate, it can be divided by the MasterScaling before the function block is called.

MasterScalingMode

Optional Scaling mode for the master position of the cam plate.

SlaveScalingMode

Optional Scaling mode for the slave position of the cam plate.

InterpolationType

Interpolation type for position tables. Not required for motion functions.

MC_CamIn 3: Inputs/outputs

VAR_IN_OUT
   Master : AXIS_REF;
   Slave  : AXIS_REF;
END_VAR

Name

Type

Description

Master

AXIS_REF

Axis data structure of the master.

Slave

AXIS_REF

Axis data structure of the Slave.

The axis data structure of type AXIS_REF addresses an axis unambiguously within the system. Among other parameters, it contains the current axis status, including position, velocity or error state.

MC_CamIn 4: Outputs

VAR_OUTPUT
   InSync         : BOOL;
   Busy           : BOOL;
   Active         : BOOL;
   CommandAborted : BOOL;
   Error          : BOOL;
   ErrorID        : UDINT;
END_VAR

Name

Type

Description

InSync

BOOL

Becomes TRUE if the coupling was successful and the cam plate is active.

Busy

BOOL

The Busy output becomes TRUE when the command is started with Execute and remains TRUE for as long as the command is processed. If Busy becomes FALSE again, the function block is ready for a new order. At the same time one of the outputs, Done or Error, is set.

Active

BOOL

Active indicates that the command is executed. For cam plate switching, Active becomes TRUE if the coupling command was executed successfully but the cam plate is still queued. If the cam plate is activated depending on the ActivationMode, Active becomes FALSE and InSync is set.

CommandAborted

BOOL

Becomes TRUE if the command could not be fully executed. The axis may have become decoupled during the coupling process (simultaneous command execution).

Error

BOOL

Becomes TRUE as soon as an error occurs.

ErrorID

UDINT

If the error output is set, this parameter supplies the error number.