MLFB_HomeFindHomeFastInputModulo

Pipe Network motion icon

 Function BlockClosed A function block groups an algorithm and a set of private data. It has inputs and outputs. - Fast homing to a home switch: Modulo mode.

Inputs

Input

Data Type

Range

Unit

Default

Description

ibExecute

BOOL

0, 1

N/A

No default

Request the homing step procedure at the rising edgeClosed A rising edge is the transition of a digital signal from low to high. It is also called positive edge.

iAxisID

AXIS_REF

1, 256

N/A

No default

Name of a declared instance of the AXIS_REF library function.

See AXIS_REF Structure for more information.

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.

ibPosLimitSwitch

BOOL

0, 1

N/A

No default

The positive direction limit switch input I/O point.

ibNegLimitSwitch

BOOL

0, 1

N/A

No default

The negative direction limit switch input I/O point.

iTimeout

TIME

No range

Sec

No default

Maximum time for homing move to complete.

  • If exceeded, the homing procedure errors out.
  • 0 (zero) = no time limit.

ibFastInputNumber

BOOL

0, 1

N/A

No default

Limit switch state to complete homing.

iCycleTime

LREAL

No range

Microseconds

No default

EtherCATClosed ***EtherCAT is an open, high-performance Ethernet-based fieldbus system. The development goal of EtherCAT was to apply Ethernet to automation applications which require short data update times (also called cycle times) with low communication jitter (for synchronization purposes) and low hardware costs cycle time.

Either 250, 500, or 1000.

Outputs

Output

Data Type

Range

Unit

Description

obDone

BOOL

 

N/A

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

obActive

BOOL

 

N/A

Indicates this move is the Active move.

obError

BOOL

 

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

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

UDFB HomeFindHomeFastInputModulo

Figure 6-87: MLFB HomeFindHomeFastInputModulo

Usage

  • This procedure performs a homing function searching for a sensorClosed A sensor is a type of transducer that converts one type of energy into another for various purposes including measurement or information transfer 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.
  • If LimitSwitch is found On with a rising Execute, the process is started in the opposite direction as specified.
  • If LimitSwitch is found Off Edge (released), the process is restarted again in original direction.
    This can be On, depending on LimitSwitchMode setting.
    • This ensures the end conditions are always the same.
  • The Timeout can cause an error if exceeded.

FBD Language Example

UDFB HomeFindHomeFastInputModulo: FBD example

FFLD Language Example

UDFB HomeFindHomeFastInputModulo: LD 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_fbHomeFindHomeFastInputModulo(True, Axis1, Position, Direction, Velocity, Acceleration, Deceleration, PosLimitSwitch, NegLimitSwitch, Timeout, FastInputNumber, CycleTime);

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

(* PosLimitSwitch and NegLimitSwtch are declared I/O points *)

See Also