MC_CamExchange

MC_CamExchange 1:

MC_CamExchange exchanges a cam plate in a multi-cam coupling. The cam plate coupling is initially created with MC_CamIn_V2.

Alternatively, a cam plate can be exchanged with MC_CamIn_V2.

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

Important:

ActivationMode (time or position from which the operation takes place)

CamOperationMode (adding, switching or removal of superimposed cam plates)

ScalingMode

MC_CamExchange 2: Inputs

VAR_INPUT    
   Execute             : BOOL;
   ActivationMode      : MC_CamActivationMode := MC_CAMACTIVATION_INSTANTANEOUS;
   ActivationPosition  : LREAL;
   CamTableID          : MC_CAM_ID;
   ReferenceCamTableID : MC_CAM_ID;
   Scaling             : ST_CamScalingData;
   Options             : ST_CamExchangeOptions;
END_VAR

Name

Type

Description

Execute

BOOL

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

ActivationMode

MC_CamActivationMode

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

LREAL

Optional master position at which a cam plate is switched, depending on the ActivationMode.
(Not required for first coupling.)
If the MC_CAMACTIVATION_ATMASTERCAMPOS ActivationMode 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.

CamTableID

MC_CAM_ID

ID of the cam plate used for the coupling.

ReferenceCamTableID

MC_CAM_ID

Optional ID of a cam plate that is already active in the coupling. This ID is specially required for operations that would otherwise be ambiguous, e.g. replacement of certain cam plates in multi-couplings. In unambiguous operations the value can remain 0.

Scaling

ST_CamScalingData

Optional scaling parameters for the cam plate.

Options

ST_CamAddOptions

InterpolationType

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

MC_CamExchange 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_CamExchange 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 cam plate operation was completed successfully. In operations with activation position, InSync only becomes TRUE after the actual activation.

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, InSync 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.