PLCopen Function Blocks

This function block (FB) library is designed for controlling one or more servo axes using the IEC 61131-3 PLCopen standard. See Function Blocks (POU).

To offer flexibility, ease of use, and reusability, the library consists of command-oriented function blocks with a reference to the axis (e.g., the abstract data type AXIS_REF Structure).

The PLCopen Library contains function blocks for:

  • Control: Function blocks to define and initialize motion, control power, and reset errors.
  • I/O: Function blocks to control interaction with Digital I/O and Touch Probe and trigger PLCopen Registration functionality.
  • Info: Function blocks to provide information on motion, position, status, and the ability to read and write other drive parameters.
  • PLCopen Motion: Function blocks to execute different types of motion.
  • Profile: Function blocks for master/slave motion.
  • Reference: Function blocks to reset position.
  • Registration: Function blocks to perform registration.

Function Block

Description

MC_AddSuperAxis

Adds a Superimposed Axis to the Axis’s list of assigned superimposed axes.

MC_CamIn

Performs a slave axis move which follows the master axis based on the Cam Table specified by CamTableID.

MC_CamOut

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

MC_CamTblSelect

Defined to read and initialize the specified profile.
Selects the Cam tables by setting the pointers to the relevant tables.

MC_GearIn

Performs a slave axis move which follows the master axis using the ratio specified by RatioNumerator and RatioDenominator.
Once engaged, the slave moves RatioNumerator units for every RatioDenominator units the master moves.

MC_GearOut

Disengages the slave axis from a MC_GearIn or MC_GearInPos move or the master axis.

MC_MachRegist

Enables Mark-to-Machine registration.

MC_MarkRegist

Enables Mark-to-Mark registration.

MC_MoveAbsolute

Performs a single-axis move to a specified endpoint position.

MC_MoveAdditive

Performs a single-axis move for a specified distance from the endpoint of the previous move.

MC_MoveRelative

Performs a single-axis move of a specified distance relative to the actual position at the time of the start of execution.

MC_MoveSuperimp

Performs a single-axis move superimposed upon the currently executing move.

MC_MoveVelocity

Performs a single-axis, non-ending move at a specified velocity.

MC_Power

Requests to either enable the drive and close the loop, or disable the drive and open the loop.

MC_ReadActPos

Reads the actual position of the axis.

MC_ReadAxisErr

Returns the error status of the specified axis.

MC_ReadBoolPar

Returns the value of the specified Boolean axis parameter.

Returns the value of a drive parameter.

  • The returned value has to be converted to REAL if required.
  • If not possible, the vendor must provide a supplier-dependent FB for it.

MC_ReadParam

Returns the value of the specified axis parameter.

Returns the value of a drive parameter.

  • The returned value has to be converted to REAL if required.
  • If not possible, the vendor must provide a supplier-dependent FB for it.

MC_ReadStatus

Returns the state of the specified axis.

MC_RemSuperAxis

Remove an axis from the axis's list of assigned, superimposed axes.

MC_ResetError

Resets the errors of the specified axis.

MC_Stop

Aborts the active move, removes the next move from the queue, performs a controlled stop, and switches the axis to Stopping state.

MC_StopRegist

Turns off registration for the specified axis and disarms the specified fast input.

MC_WriteBoolPar

Writes the specified axis Boolean parameter.

MC_WriteParam

Writes the specified axis parameter.