MLFB_HomeMoveUntilPosErrExceeded

Pipe Network motion icon

 Function BlockClosed A function block groups an algorithm and a set of private data. It has inputs and outputs. - HomingClosed The Homing procedure allows, based on a position measurement, to set a position offset to the motor in order to ensure it is physically at the home position to the position error is exceeded.

Inputs

Input

Data Type

Range

Unit

Default

Description

ibExecute

BOOL

 

 

 

Start homing, edge-triggered.

iAxisID

DINT

 

 

 

ID of the axis block of the Pipe Network.

iPosition

LREAL

 

 

 

Reference position.

ibDirection

BOOL

 

 

 

  • 0 (zero) = Positive.
  • 1 = Negative.

iVelocity

LREAL

 

 

 

Reference speed.

iAcceleration

LREAL

 

 

 

Reference acceleration.

iDeceleration

LREAL

 

 

 

Reference deceleration.

iMaxPositionError

LREAL

 

 

 

Maximum position error.

iPeakCurrent

DINT

 

 

 

Peak current in mA.

iTimeout

TIME

 

 

 

Time monitoring (T#0ms: off).

Outputs

Output

Data Type

Range

Unit

Description

obDone

BOOL

 

 

Done bit.

obActive

BOOL

 

 

Active bit.

obError

BOOL

 

 

Error bit.

oErrorID

DINT

 

 

Error identifier:

ErrorID

Description

1

Axis in error.

2

Axis is not enabled.

3

Timeout exceeded or expired.

4

SDO read/write error.

5

Input parameter out of range.

Remarks

UDFB HomeMoveUntilPosErrExceeded

  • When executed, the motor will move to the hard stop with a definable peak current.
  • When the position error exceeds, the home Position is set.

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

//Call homing function on Axis1 with preset velocity, accel, and decel values
//Start in negative direction and go until position error exceeds input value or time out
//afterterwards set axis position to zero
//function block temporarily writes new max current value to 2 Amp while home routine active
Inst_MLFB_HomeMoveUntilPosErrExceeded( StartHomeRoutine,
PipeNetwork.AXIS1,
0,
1,
100,
1000,
1000,
MaxPosError,
2000,
T#30s );

HomeDone := Inst_MLFB_HomeMoveUntilPosErrExceeded.obDone;

See Also