Skip to main content

Function Blocks: MC_CamTableSelect and MC_CamIn

  • MC_CamTableSelect.MasterAbsolute

    If the input MasterAbsolute = TRUE, then the cam is started at the current master position. This point may be at any position in the master value range of the cam. If the point is outside of the value range of the cam, then an error is issued.

    If the input MasterAbsolute=FALSE, then the cam is relocated to the current position. This sets the zero point of the master to the current master position or to the position at the end of the previous cam. The latter variant allows the new cam to be connected exactly to the previous one without having to manually set the offsets. However, this is possible only if you switch to the new cam without restarting the MC_CamIn function block and the previous cam has been ended in the current cycle.

    The MasterAbsolute=FALSE mode may be used only if the value 0 is in the master value range because the evaluation of the cam is started at this position. Otherwise, the SMC_CI_MASTER_OUT_OF_SCALE error is output for non-periodic cams.

  • MC_CamTableSelect.SlaveAbsolute

    The CamTableSelect.SlaveAbsolute parameter influences the StartMode of the slave drive. This mode is defined by the CamIn.StartMode parameter. The following table documents the StartMode that results from the interaction of the two parameters.

  • MC_CamIn.StartMode

    • absolute: When starting a new cycle, the cam is evaluated independent of the current position of the slave. This can lead to jumps if the slave position to the master start position deviates from that of the master end position.

    • relative: The new cam is started allowing for the current slave position. The position that the slave has after the end of the previous cycle is added as a slave offset to the new evaluations of the cam. Jumps can also occur if the slave position at the master start position is not 0.

    • ramp_in, ramp_in_pos, ramp_in_neg, ramp_in: When starting the cam, occurring jumps are prevented by compensating movements. Its dynamics values are limited by VelocityDiff, Acceleration, and Deceleration. If the slave drive is rotary, then the ramp_in_pos option compensates in the positive directions only, while ramp_in_neg compensates in the negative direction. For linear slave drives, the direction of the compensation is automatic, and ramp_in_pos and ramp_in_neg are interpreted like ramp_in.

  • MC_CamIn.MasterOffset, MC_CamIn.MasterScaling

    These parameters transform the master position according to the following formula: X = MasterScaling * MasterPosition + MasterOffset The transformed position X is then used for evaluating the cam. In this way, the cam is run at a higher velocity when the value of MasterScaling is greater than 1; on the other hand, the velocity is reduced for values less than 1.

  • MC_CamIn.SlaveOffset, MC_CamIn.SlaveScaling

    This input moves or scales the graph of the cam function in the direction of the slave (vertical axis). First the cam is scaled and then moved according to the following formula: Y = SlaveScaling*CAM( X ) + SlaveOffset. SlaveScaling > 1 magnifies the slave value range. Accordingly, SlaveScaling < 1 reduces the magnification.

Table 37. Interaction of MC_CamIn.StartMode and CamTableSelect.SlaveAbsolute

MC_CamIn.StartMode

MC_CamTableSelect.SlaveAbsolute

MC_CamIn.StartMode: New value

absolute

TRUE

absolute

absolute

FALSE

relative

relative

TRUE

relative

relative

FALSE

relative

ramp_in

TRUE

ramp_in absolute

ramp_in

FALSE

ramp_in relative

ramp_in_pos

TRUE

ramp_in_pos absolute

ramp_in_pos

FALSE

ramp_in_pos relative

ramp_in_neg

TRUE

ramp_in_neg absolute

ramp_in_neg

FALSE

ramp_in_neg relative