MLFB_HomeFindLimitFastInput

Pipe Network motion icon

 Function Block - Fast homing to a limit switch.

Inputs

Input

Data Type

Range

Unit

Default

Description

ibExecute

BOOL

0, 1

 

 

N/A

No default

Request the homing step procedure at the rising edge.

iAxisID

AXIS_REF

1 to 256

N/A

No default

Name of a declared instance of the AXIS_REF library function.

See AXIS_REF Structure.

iPosition

LREAL

No range

User units

No default

Offset position applied after home switch is found.

ibDirection

BOOL

0, 1

 

 

N/A

No default

Defines the axis homing direction.

  • 0 (zero) = Clockwise rotation.
  • 1 = Counterclockwise rotation.

iVelocity

LREAL

No range

User unit/sec

No default

Commanded velocity for the homing move.

iAcceleration

LREAL

No range

User unit/sec2

No default

Commanded acceleration for the homing move.

iDeceleration

LREAL

No range

User unit/sec2

No default

Commanded deceleration for the homing move.

ibLimitSwitchMode

BOOL

0, 1

 

 

N/A

No default

Limit switch state to complete homing.

  • 0 (zero) = Rising edge of switch.
  • 1 = Falling edge of switch.

ibFastInputNumber

BOOL

0, 1

 

 

N/A

No default

Limit switch state to complete homing.

  • 0 (zero) = Fast Input Number 1.
  • 1 = Fast Input Number 2.

iCycleTime

LREAL

No range

Microseconds

No default

EtherCAT cycle time.

Either 250, 500, or 1000.

Outputs

Output

Data Type

Range

Unit

Description

obDone

BOOL

FALSE, TRUE

N/A

Indicates the move completed successfully.
The Command Position has reached the endpoint.

obActive

BOOL

FALSE, TRUE

N/A

Indicates this move is the Active move.

obError

BOOL

FALSE, TRUE

N/A

Indicates either:

  • An invalid input was specified.
  • The move was terminated due to an error.

oErrorID

DINT

 

 

N/A

Indicates the error if the Error output is set to TRUE.

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

  • Performs a single-axis home to a limit switch connected to a High Speed Input.
  • The motor starts to move according to the direction setting.
    • The home position has been found as soon as the fast input selected is triggered on the edge selected.
  • An absolute move is made to the triggered position and the position value is set.

This image shows the function or function block I/O.

Figure 1: MLFB_HomeFindLimitFastInput

Usage

  • This procedure performs a homing function searching for a sensor using only High Speed Input Switches.
    • A High Speed Limit Switch has 1 Off (or On) area.
  • Home is commanded by the user in the designated homing direction at the selected or programmed Velocity.
  • The Timeout can cause an error if exceeded.

Figure 2: MLFB_HomeFindLimitFastInput Usage 1

Figure 3: MLFB_HomeFindLimitFastInput Usage 2

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

Direction:= 0;
Position:=1000;
Velocity:=1000;
Acceleration:=10000;
Deceleration:=10000;
SwitchMode:=0;
Timeout:=T#100;
FastInputNumber:=0;
CycleTime:=1000;

inst_fbHomeFindLimitFastInput(True, Axis1, Position, Direction, Velocity, Acceleration, Deceleration, LimitSwitchMode, Timeout, FastInputNumber, CycleTime);

HomeComplete :=inst_fbHomeFindLimitFastInput.Done;
HomeActive :=inst_fbHomeFindLimitFastInput.Active;
HomeError :=inst_fbHomeFindLimitFastInput.Error;
HomeErrorID :=inst_fbHomeFindLimitFastInput.ErrorID;

See Also