MC_CamOut

PLCopen motion icon

 Function Block - Disengages the slave axis from an MC_CamIn move or the master axis immediately in a cam block.

  • See Function Blocks - General Rules about how inputs and outputs work.
  • If this function block is called and the active move is not a MC_CamIn move, this function block returns an error and the active move is not aborted.
  • This function block:
    • Aborts the active MC_CamIn move.
    • Disengages the axis from its master.
    • Disengages the slave axis from a MC_CamIn move.
    • Commands the axis to continue at its current velocity.
      • The axis continues to run at this velocity until this MC_CamOut move is aborted.

    • This function block starts a motion-related action and stores data for calculations and error checking.
    • If using a dual-core controller, see Program a Multi-Core Controller.

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

Inputs

Input

Data Type

See Data Types.

Range

Unit

Default

Description

Execute

BOOL

FALSE, TRUE

N/A

No default

On the rising edge, request to queue the move.

Slave

AXIS_REF

1 to 256

N/A

No default

Name of a declared instance of the AXIS_REF library function.

Acceleration

LREAL

No range

User units / sec2

No default

Deceleration

LREAL

No range

User units / sec2

No default

Jerk

LREAL

No range

User units / sec3

No default

Outputs

Output

Data Type

See Data Types.

Range

Unit

Description

Done

BOOL

FALSE, TRUE

N/A

Indicates the axis is disengaged from its master.

Busy

BOOL

FALSE, TRUE

N/A

Indicates this function block is executing.

Active

BOOL

FALSE, TRUE

N/A

Indicates this move is the Active move.

CommandAborted

BOOL

FALSE, TRUE

N/A

If TRUE, the command was aborted by another function block.

Error

BOOL

FALSE, TRUE

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.

Remarks

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.

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