MC_MoveContinuousAbsolute

This FB serves to execute a positioning to an absolute target position. In contrast to the MC_MoveAbsolute command, the target position is approached with the defined final speed. If no further motion command is available in the buffer, the axis continues to traverse with the defined final speed.

Note!

For absolute positioning processes, the home position must be known!

 

 

 

MC_MoveContinuousAbsolute

 

 

 

AXIS_REF

-

Axis

InEndVelocity

-

BOOL

BOOL

-

Execute

Busy

-

BOOL

BOOL

-

ContinuousUpdate

Active

-

BOOL

LREAL

-

Position

CommandAborted

-

BOOL

LREAL

-

EndVelocity

Error

-

BOOL

LREAL

-

Velocity

ErrorID

-

L_IE1P_Error

LREAL

-

Acceleration

LREAL

-

Deceleration

LREAL

-

Jerk

MC_DIRECTION

-

Direction

MC_BUFFER_MODE

-

BufferMode

 

 

 

 

 

 

 

 

Inputs

Name

Data type

Information/possible settings

Axis

AXIS_REF

Transfer of the axis data structure

Motion axes (AXIS_REF)

Execute

BOOL

FALSE รค TRUE

Start positioning.

ContinuousUpdate

BOOL

Continuous acceptance of the profile parameters

Control input ContinuousUpdate

FALSE

The profile parameters ( Position , Velocity , Acceleration , ...) are accepted with a rising edge at Execute .

TRUE

The profile parameters are accepted continuously, i.e. during the execution, the motion profile may change.

Note: After the position and final speed ( InEndVelocity = TRUE) have been reached, the profile parameters are not accepted continuously anymore.

Position

LREAL

Absolute target position in [unit]

  • Reference for the absolute position is the zero position.

EndVelocity

LREAL

Final velocity in [units/s] for moving to the target position. The final velocity is absolute. This means that the drive moves in a positive direction if the setting is positive and in a negative direction if the setting is negative.

Velocity

LREAL

Maximum velocity in [unit/s] for approaching the target position

  • Depending on the profile parameters Position , Acceleration, Deceleration and Jerk , the drive may not reach the maximum velocity.

Special case :

Velocity = 0: The default value defined in subindex 40 is used for the velocity.

Acceleration

LREAL

Maximum acceleration in [unit/s 2 ]

Special case :

Acceleration = 0: The default value defined in subindex 41 is used for the acceleration.

Deceleration

LREAL

Maximum deceleration in [unit/s 2 ]

Special case :

Deceleration = 0: The default value defined in subindex 41 is used for the acceleration.

Jerk

LREAL

Maximum jerk in [unit/s 3 ]

Special case :

Jerk = 0: The default value defined in subindex 43 is used for the jerk.

Direction

MC_DIRECTION

The selection of the traversing direction is only evaluated in the "Modulo" traversing range.

SubIndex 135, ToleranceWindowModuloPositioning

Traversing direction:

  • mcCurrentDirection: Maintain current direction
  • mcPositiveDirection: Positive direction
  • mcNegativeDirection: Negative direction
  • mcShortestWay: Shortest way
  • mcPositiveCycle
  • mcNegativeCycle

MC_DIRECTION

BufferMode

MC_BUFFER_MODE

Mode for processing successive motion commands

BufferMode

Outputs

Name

Data type

Value/meaning

InEndVelocity

BOOL

TRUE

Positioning completed successfully.

  • The absolute target position has been reached.
  • If the given target position is already overtravelled before the final speed has been reached,
    • the "InEndVelocity" signal will be already set at this time
    • the axis continues to traverse with the defined final speed if no further motion command is available in the buffer.

Busy

BOOL

TRUE

Processing is running.

Active

BOOL

TRUE

The command of the FB is currently executed.

  • The Active output matters if a motion control is carried out by several FBs (BufferMode).

CommandAborted

BOOL

TRUE

The command was aborted by another FB.

Error

BOOL

TRUE

An error has occurred. For details see ErrorID .

ErrorID

L_IE1P_Error

If Error = TRUE: Error number for the error that has occurred.

Application example "laser cutting-off machine":

One application case for the MC_MoveContinuousAbsolute is a linear laser cutting-off machine. On a linear axis, a laser for cutting workpieces is mounted.

  • During the cutting process, the laster has to be traversed with a constant velocity, i.e., in this phase, an acceleration or deceleration must not take place.
  • After cutting, the laser has to be traversed into its idle position again.

Procedure

Based on an idle position ( lrIdlePos ) for the laser, the workflow is as follows:

  1. Traverse switched-off laser with high velocity ( lrFastVelocity ) to the cutting start position ( lrStartCutPos ) and beyond it.
  1. Return and make sure that the laser has the cutting velocity ( lrCutVelocity ) at the cutting start position IrStartCutPos . Switch on the laser at the cutting start position.
  1. Move switched-on laser with constant cutting velocity ( lrCutVelocity ) over the workpiece.
  1. At the end cutting position ( lrEndCutPos ), switch off the laser again and traverse it with high velocity ( lrFastVelocity ) back to the idle position ( lrIdlePos ).

The work flow described before can be realised as follows:

Principal wiring and time diagram for the "laser cutting machine" application sample

A FALSE-TRUE edge at xStart starts a cutting cycle. The "mca" instance of the MC_MoveContinuousAbsolute traverses the axis with high velocity lrFastVelocity to the lrStartCutPos position. As the commanded final velocity is negative, the lrStartCutPos position is first overtravelled and a reversal of rotation takes place. When lrStartCutPos is reached again, the axis then has the commanded final velocity. The InEndVelocity output is set to TRUE and this signal switches on the laser. As long as no other motion FB aborts the motion command MC_MoveContinuousAbsolute , the axis continues to traverse at constant velocity in negative direction. When the lrEndCutPos position is reached, the laser is switched off and the "ma" instance of the MC_MoveAbsolute transmits the fast traversing of the laser to its idle position.