MC_MoveSuperimp

PLCopen motion icon

 Function BlockClosed A function block groups an algorithm and a set of private data. It has inputs and outputs. - Performs a single-axis move superimposed upon the currently executing move.

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.

Axis

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..

Distance

LREAL

No range

User units

No default

Distance.

VelocityDiff

LREAL

No range

User unit/sec

No default

VelocityClosed For a group of axes this means: In ACS the velocities of the different axes. In MCS and PCS it provides the velocity of the TCP rate.

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.

BufferMode

SINT

0, 5

N/A

No default

Outputs

Output

Data Type

Range

Unit

Description

Done

BOOL

No range

N/A

Indicates the move completed successfully.
The Command PositionClosed Position means a point in space which is described by different coordinates. Depending on the used system and transformation it can consist of a maximum of six dimensions (coordinates).This means three Cartesian coordinates in space and coordinates for the orientation. In ACS there can be even more than six coordinates. If the same position is described in different coordinate systems the values of the coordinates are different. has reached the endpoint.

Busy

BOOL

No range

N/A

High from the moment the Execute input goes high until the time the move is ended.

Active

BOOL

No range

N/A

Indicates this move is the Active move.

CommandAborted

BOOL

No range

N/A

Indicates the move was aborted.

Error

BOOL

No range

N/A

Indicates either:

  • An invalid input was specified.
  • The move was terminated due to an error.

ErrorID

INT

No range

N/A

Indicates the error if Error output is TRUE.

See PLCopen Function Block ErrorIDs.

Remarks

Usage

This function block:

  • Provides a way to smoothly apply a shift in axis position while it is executing a move.
  • Is commonly used with MC_TouchProbe for performing position corrections on the slave axis in a Mark-to-Machine registration application.

  • MC_MoveSuperimp performs a similar function to the SlaveOffset input in the MC_CamIn function block.
    It has the additional features of setting the velocity, acceleration, deceleration, and jerk motion parameters.
  • A superimposed move is executed similar to a MC_MoveRelative move using the specified Distance, Velocity, Acceleration, Deceleration, and Jerk values.
    • The interpolated command generated by a superimposed move is added to the command of the currently executing move.
    • Subsequent calls to MC_MoveSuperimp can abort or blend to an executing MC_MoveSuperimp move.

Figure 1: MC_MoveSuperimp

Time Diagram

Figure 2: Time Diagrams: First and Second FBs

Figure 3: Time Diagram


  • The CommandAborted is not visible here because the new command works on the same instance.
    See Pipe Network - General Rules.
  • The end position is between 7000 and 8000, depending on the timing of the aborting of the second command set for the MC_MoveSuperimposed.

FBD Language Example

Not available.

FFLD Language Example

IL Language Example

Not available.

ST Language Example

(* MC_MoveSuperimp ST example *)
Inst_MC_MoveSuperimp( MovSupReq, Axis1, 123.555, 10.0, 100.0, 100.0, 0, 0 );
MovSupDone := Inst_MC_MoveSuperimp.Done; //store Done output into user defined variable

See Also