BM_MoveRelative

 

 

Description

The Motion Control command BM_MoveRelative carries out a controlled movement around the specified relative position at the starting time.

Parameter Input

Data Type

Description

Execute

BOOL

Edge-sensitive execution

Distance

REAL

Relative Distance of the movement; [Inc]

Velocity

REAL

Absolute value of Target Positioning Speed; [Inc/ms]

Acceleration

REAL

Absolute value of acceleration within the target positioning; [Inc/ms²]

Deceleration

REAL

Absolute value of deceleration within the target positioning; [Inc/ms²]

Jerk

REAL

Absolute value of jerk; [Inc/ms³]

Direction

BOOL

Positioning direction

 

Parameter Output

Data Type

Description

Done

BOOL

Target position reached. The axis changes into the Standstill status

Moving

BOOL

Positioning was started and target not reached.

Busy

BOOL

Parameter Read/Write active.

CommandAborted

BOOL

Abort by another Motion Control command, BM_Stop or Errorstop

Error

BOOL

Parameter Read/Write error; ErrorID is valid

ErrorID

DWORD

Communication ErrorID Siemens error list

 

Parameter

Input and Output

Data Type

Description

Axis

UDT

BM Motion Control axis variable

 

Description

The command BM_MoveRelative carries out a relative positioning starting from the actual positioning value. If an absolute positioning was completed by the Standstill status then the absolute position around the input Distance is changed relatively.
The command closes by Done = TRUE and the Standstill status. By Execute = TRUE an edge-sensitive execution follows, whereby the input values are accepted and the command is implemented at the drive defined at Axis. A new entering of the command requires a FALSE to TRUE change at the input Execute whereby this change can be carried out during the execution time of the command with new input values presents a new relative change of the positioning target.

Movement target:

The edge-sensitive execution causes an abort of the active movement command. The execution of the abort is executed by BM_Stop, missing availability at the BM_Power or Errorstop. The result message has only one valid output bit (Done Busy, CommandAborted)

Edge-sensitive execution:

To execute the command the input Execute can be one cycle TRUE. Then the command is executed, the result Done is displayed for one cycle (see diagram 1). The command is executed, as long as the input Execute =1. When the command is finished, the result Done = 1. Done = 1 is reset if the input Execute = 0. (see diagram 2)

 

Diagram for the edge-sensitive execution:

Diagram 1:

Diagram 2:

Status control via BM_ReadStatus
From status:  Standstill, DiscreteMotion, ContinuousMotion, SynchronizedMotion.
To status:      DiscreteMotion.

Recommended task:  OB1.

 

Note:

The resulting target positioning must be within the positioning distance and can be limited with unit-sided as well as software limit switches. If the DiscreteMotion state changes over to another movement state such as ContinuousMotion, then Homing (BM_Home) must be carried out.

A command from "BM_MoveRelative” must not be activated before a command from another function block has been not successfully executed.

If an error occurs during the command execution, the error must be reset with “BM_Reset”. Function block command will be executed successfully at

"BM" .AXIS [x] .DRIVE.BM_AXIS_STATUS.ParmRW_Active = 0.

 

Input Execute:

TRUE: Edge-sensitive execution; the input parameters are accepted.
FALSE: No execution or reset of the FC outputs, if Initialized is TRUE at the time of Execute = FALSE.

Input Distance:

Sign-dependent specification of the relative distance in increments. One axis revolution of the Baumüller drives has a resolution of 65536 increments. These are also referred to as user units.

Input Velocity:

Specification in increments per milliseconds. This is the maximum speed of the target positioning which does not have to be reached necessarily.

Input Acceleration:

Positive acceleration in increments per milliseconds2

Minimum: 0.07 [Inc/ms²], maximum: 655.35 [Inc/ms²]

Default: 2.00 [Inc/ms²]

Input Deceleration:

Negative acceleration in increments per milliseconds.

Minimum: 0.07 [Inc/ms²], maximum: 655.35 [Inc/ms²]

Default: 2.00 [Inc/ms²]

Input Jerk:

Acceleration positioning jerk in increments per milliseconds³.

Minimum: 0.07 [Inc/ms³], maximum: 655.35 [Inc/ms³]

Default: 0.25 [Inc/ms³]

 

Output Done:

TRUE = Positioning was executed. Axis changes into the Standstill status.
FALSE = Not active.

Output Moving:

TRUE: the target position was not reached during a initiated positioning.
FALSE: not active

Output Busy:

TRUE:  The service communication of the Read/Write parameter is active.

FALSE: Not active.

Output CommandAborted:

TRUE: Abort by another Motion Control command, BM_Stop command, Errorstop or missing availability at the BM_Power.
FALSE: Not active.

Output Error:

TRUE: There is an error at Service communication for the Read/Write parameter. For information on the valid ErrorID and Error Information refer to S7 Description

FALSE: No active error.

Output ErrorID:

The information of service communication error (for detailed information refer to S7 Description)

 

Input and output Axis:

UDT type symbolic BM Motion Control axis variable.

During the programming with the template data module DB5 (symbolic "BM") the following symbol text must be used: "BM".AXIS[x] (x is the drive axis number).