Function BlockMC_PhasingPLCopen motion icon

Usage

This function block:

  • performs a master position phase shift for the slave axis
  • provides a way to smoothly apply a master offset instead of writing values directly to the Master Offset Parameter 1002.
  • is commonly used along with MC_TouchProbe for performing position corrections on the slave axis in a Mark to Mark registration application.

Description

The MC_Phasing function block performs a master position phase shift for a slave axis. The distance entered at the PhaseShift input is iterated into the Slave axis’s Master Offset. This distance is iterated like a MC_MoveRelative move using the specified Velocity, Acceleration, Deceleration, and JerkClosedIn physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time values. The difference is that the interpolated command delta is not commanded to the axis but is, instead, added to the Slave axis’s Master Offset. This will shift the Master axis’s position as viewed by the Slave axis, causing a change in the Slave axis’s physical position. This will only affect the Slave axis if it is executing a slave move. Subsequent calls to MC_Phasing can abort or blend to an executing MC_Phasing command.

MC_Phasing

Figure 7-146: MC_Phasing

Arguments

For more detail on how inputs and outputs work, refer to PLCopen Function Blocks - General Rules

Input

Execute Description Requests to queue the phase shift
  Data type BOOL
  Range 0, 1
  Unit n/a
  Default
Master Description Name of a declared instance of the AXIS_REF library function. For more details,About Axis Name and Number)
  Data type AXIS_REF
  Range [1,256]
  Unit n/a
  Default
Slave Description AXIS_REF AXIS_NUM is the slave axis number
  Data type AXIS_REF
  Range [1,256]
  Unit n/a
  Default
PhaseShift Description Amount of phase shift
  Data type LREAL
  Range
  Unit User unit
  Default
Velocity Description Velocity setpointClosedSetpoint is the target value that an automatic control system, for example PID controller, will aim to reach
  Data type LREAL
  Range
  Unit User unit/sec
  Default
Acceleration Description Trapezoidal: Acceleration rate S-curve: Maximum acceleration
  Data type LREAL
  Range
  Unit User unit/sec2
  Default
Deceleration Description Trapezoidal: Deceleration rate S-curve: Unused
  Data type LREAL
  Range
  Unit User unit/sec2
  Default
Jerk Description Trapezoidal: 0 S-curve: Constant jerk
  Data type LREAL
  Range
  Unit User unit/sec3
  Default
BufferMode Description
  1. abort
  2. buffer
  3. blend to acrive
  4. blend to next
  5. blend to low velocity
  6. blend to high velocity
See table in Buffer Modes
  Data type SINT
  Range [0,5]
  Unit n/a
  Default

 

Output

Done Description Indicates the phase shift has been completely applied
  Data type BOOL
Busy Description High from the moment the Execute input is one-shot to the time the move is ended
  Data type BOOL
Active Description Indicates this phase shift is the active phase shift
  Data type BOOL
CommandAborted Description Indicates the move was aborted
  Data type BOOL
Error Description Indicates an invalid input was specified or the move was terminated due to an error
  Data type BOOL
ErrorID Description Indicates the error if Error output is set to TRUE See table in PLCopen Function Block ErrorID Output
  Data type INT

Example

Structured Text

(* MC_Phasing ST example *) //Inst_MC_Phasing is an instance of MC_Phasing function block
Inst_MC_Phasing(PhasingAxis1, Axis2, Axis1, 1000.0,100.0, 200.0, 200.0, 0, 0 );

See also how this function is used in the Hole punch project here.

Ladder Diagram

MC_Phasing: LD example

Go back to the top of the page [Top]