MC_MoveAdditive

This FB serves to execute a relative positioning with regard to the target position commanded last in the " DiscreteMotion " state.

  • The target position commanded last may be the result of a previously executed motion command " MoveAdditive " that has been aborted.
  • If the motion command is started in the " ContinuousMotion " state, the setpoint position at the time of execution is the reference for the relative positioning.

 

 

 

MC_MoveAdditive

 

 

 

AXIS_REF

-

Axis

Done

-

BOOL

BOOL

-

Execute

Busy

-

BOOL

BOOL

-

ContinuousUpdate

Active

-

BOOL

LREAL

-

Distance

CommandAborted

-

BOOL

LREAL

-

Velocity

Error

-

BOOL

LREAL

-

Acceleration

ErrorID

-

L_IE1P_Error

LREAL

-

Deceleration

LREAL

-

Jerk

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.

Distance

LREAL

Distance to be traversed in [unit]

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.

BufferMode

MC_BUFFER_MODE

Mode for processing successive motion commands

BufferMode

Outputs

Name

Data type

Value/meaning

Done

BOOL

TRUE

Positioning completed successfully.

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.

The following example shows the behaviour of MC_MoveAdditive in combination with the motion command MC_MoveAbsolute , while the axis is in the "DiscreteMotion" state.

  • Case : FB2 will only be started after FB1 has reached its commanded position "6000" (with a velocity = "0").
    • The Done output of FB1 starts the execution of FB2.
    • FB2 adds the distance "40002 to the previously commanded position "6000" and traverses the axis to the resulting position "10000".
  • Case : FB2 is started (by means of a test signal) before FB1 has reached its commanded position.
    • The execution of FB1 is aborted ( CommandAborted = TRUE).
    • FB2 adds the distance "40002 to the previously commanded position "6000" and traverses the axis to the resulting position "10000".

Example: Linking of MC_MoveAbsolute and MC_MoveAdditive