MLFB_HomeFindLimitInput

Pipe Network motion icon

 Function Block - Homing to a limit switch.

Inputs

Input

Data Type

Range

Unit

Default

Description

ibExecute

BOOL

FALSE, TRUE

N/A

No default

Start homing, edge-triggered.

iAxisID

DINT

No range

N/A

No default

ID of the axis block of the Pipe Network.

iPosition

LREAL

No range

User units

No default

Reference position.

ibDirection

BOOL

FALSE, TRUE

N/A

No default

Defines the axis homing direction.

  • FALSE = Positive.
  • TRUE = Negative.

iVelocity

LREAL

iVelocity > 0

User unit/sec

No default

Reference speed.

iAcceleration

LREAL

iAcceleration > 0

User unit/sec2

No default

Reference acceleration.

iDeceleration

LREAL

iDeceleration > 0

User unit/sec2

No default

Reference deceleration.

ibLimitSwitch

BOOL

FALSE, TRUE

N/A

No default

Positive or negative limit switch, high-active.

Depends on the ibDirection.

iTimeout

TIME

No range

See TIME in Constant Expressions.

No default

Time monitoring (T#0ms: off).

Outputs

Output

Data Type

Range

Unit

Description

obDone

BOOL

FALSE, TRUE

N/A

Done bit.

obActive

BOOL

FALSE, TRUE

N/A

Active bit.

obError

BOOL

FALSE, TRUE

N/A

Error bit.

oErrorID

DINT

Enumerated

N/A

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

  • The find limit input mode moves to a limit input.
  • This method is used if there is a positive or negative limit switch available to establish as a home reference point.

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 stop when axis hits limit switch or times out
//after seeing limit switch, set axis position to zero

Inst_MLFB_HomeFindLimitInput( StartHomeRoutine,
PipeNetwork.AXIS1,
0,
TRUE,
100,
1000,
1000,
HomeDigitalInput,
T#30s );

HomeDone := Inst_MLFB_HomeFindLimitInput.obDone;

See Also