MC_CamOut

PLCopen motion icon

 Function BlockClosed A function block groups an algorithm and a set of private data. It has inputs and outputs. - Disengages the slave axis from an MC_CamIn move or the master axis immediately in a cam block.

Inputs

Input

Data Type

Range

Unit

Default

Description

Execute

BOOL

0, 1

N/A

No default

On the rising edgeClosed The transition of a digital signal from low to high. AKA: positive edge., request to queue the move.

Slave

AXIS_REF

1, 256

N/A

No default

Name of a declared instance of the AXIS_REF library functionClosed A function calculates a result according to the current value of its inputs. A function has no internal data and is not linked to declared instances..

AccelerationClosed A change in velocity over time. Because velocity is a vector, it can change in two ways: a change in magnitude and/or a change in direction. In one dimension, acceleration is the rate at which something speeds up or slows down. However, more generally, acceleration is a vector quantity expressing the change with time of the velocity both in magnitude and in direction. See these Wikipedia articles for more information: http://en.wikipedia.org/wiki/Velocity http://en.wikipedia.org/wiki/Euclidean_vector http://en.wikipedia.org/wiki/Rate_(mathematics)

LREAL

No range

User unit/sec2

No default

Trapezoidal: Acceleration rate.

S-curve: Maximum acceleration.

See S-curve and Trapezoidal Acceleration / Deceleration.

Deceleration

LREAL

No range

User unit/sec2

No default

Trapezoidal: Deceleration rate.

S-curve: Unused.

See S-curve and Trapezoidal Acceleration / Deceleration.

JerkClosed In physics, jerk is the rate of change of acceleration. More precisely, the derivative of acceleration with respect to time.

LREAL

No range

User unit/sec3

No default

Trapezoidal: 0 (zero).

S-curve: Constant jerk.

See S-curve and Trapezoidal Acceleration / Deceleration.

Outputs

Output

Data Type

Range

Unit

Description

Done

BOOL

0, 1

N/A

Indicates the axis is disengaged from its master.

Busy

BOOL

0, 1

N/A

Indicates this function block is executing.

Active

BOOL

0, 1

N/A

Indicates this move is the Active move.

CommandAborted

BOOL

0, 1

N/A

Indicates the move was aborted.

Error

BOOL

0, 1

N/A

Indicates either:

  • An invalid input was specified.
  • No MC_CamIn move was active.

ErrorID

INT

No range

N/A

When the Error output is:

  • high, this output indicates the type of error.
  • low, this output is undefined.

See PLCopen Function Block ErrorIDs.

Remarks


  • The current velocity is calculated by taking the average of the actual velocity during the previous 16 cycles.

Cancel the Cam Motion

  • An alternative method to cancel the cam motion is a single axis move (MC_MoveAbsolute, MC_MoveRelative, MC_MoveAdditive, MC_MoveVelocity, and MC_Halt) with the BufferMode input set to 0 (zero).
    • This cancels the MC_CamIn function and starts the new motion function on the slave axis.
  • Many applications prefer calling MC_Halt instead of MC_CamOut because it does not send a velocity command to the slave axis.

Figure 1: MC_CamOut

FBD Language Example

Not available.

FFLD Language Example

IL Language Example

Not available.

ST Language Example

(* MC_CamOut ST example *)
Inst_MC_CamOut(ExecCamOut1,Axis1,CamOut1Acc,CamOut1Dec,CamOut1Jerk);
//Inst_MC_CamOut is an instance of MC_CamOut

See Also