Function Block MCFB_StepLimitSwitchPLCopen motion icon

Description

This function block performs a single-axis home to a limit switch. In this case the limit switches (always active once moving part working area has been surpassed) are used for homing procedure.

The following figure shows the function block I/O:

MCFB StepLimitSwitch

Figure 7-251: MCFB StepLimitSwitch

Arguments

Input

Execute

Description

Request the homing step procedure at rising edgeClosed A rising edge is the transition of a digital signal from low to high. It is also called positive edge. Outputs are reset when execute input is false.

 

Data type

BOOL

 

Range

[0 , 1]

 

Unit

N/A

 

Default

AxisID

Description

Name of a declared instance of the AXIS_REF library function

 

Data type

AXIS_REF

 

Range

[1 , 256]

 

Unit

N/A

 

Default

Direction

Description

Define the axis homing direction

Value

Description

0

clockwise rotation

1

counterclockwise rotation

 

Data type

BOOL

 

Range

[0 , 1]

 

Unit

N/A

 

Default

LimitSwitchMode

Description

Limit switch state to complete homing

Value

Description

0

switch is on

1

switch if off

2

rising edge of switch

3

falling edge of switch

 

Data type

DINT

 

Range

[0 , 3]

 

Unit

N/A

 

Default

Velocity

Description

Commanded velocity for the homing move

 

Data type

LREAL

 

Range

 

Unit

User unit/sec

 

Default

Acceleration

Description

Commanded acceleration for the homing move

 

Data type

LREAL

 

Range

 

Unit

User unit/sec2

 

Default

Deceleration

Description

Commanded deceleration for the homing move

 

Data type

LREAL

 

Range

 

Unit

User unit/sec2

 

Default

JerkClosed In physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time

Description

Commanded jerkClosed In physics, jerk is the rate of change of acceleration; more precisely, the derivative of acceleration with respect to time for the homing move (if zero, then trapezoidal acc/dec is used)

 

Data type

LREAL

 

Range

 

Unit

User unit/sec3

 

Default

TorqueLimit

Description

Maximum torqueClosed Torque is the tendency of a force to rotate an object about an axis. Just as a force is a push or a pull, a torque can be thought of as a twist applied for the homing move entered in thousandths of maximum torque, e.g. "250" is 250/1000, or 25%.

 

Data type

LREAL

 

Range

 

Unit

User unit

 

Default

TimeLimit

Description

Maximum time for homing move to complete. If exceeded the homing procedure will error out. 0= no time limit

 

Data type

TIME

 

Range

 

Unit

sec

 

Default

DistanceLimit

Description

Maximum distance for homing move to complete. If exceeded the homing procedure will error out. 0= no distance limit

 

Data type

LREAL

 

Range

 

Unit

User unit

 

Default

LimitSwitch

Description

The limit switch input I/O point

 

Data type

BOOL

 

Range

[0 , 1]

 

Unit

N/A

 

Default

BufferMode

Description

Define the homing move start action

Value

Description

0

abort

1

buffer

2

Blend to active

3

blend to next

4

blend to low velocity

5

blend to high velocity

See table in Buffer Modes

 

Data type

SINT

 

Range

[0 , 5]

 

Unit

N/A

 

Default

Output

Done

Description

Indicates the move completed successfully.

The Command Position has reached the endpoint

 

Data type

BOOL

 

Unit

N/A

Busy

Description

High from the moment the Execute input is one-shot to the time the move is ended

 

Data type

BOOL

 

Unit

N/A

Active

Description

Indicates this move is the active move

 

Data type

BOOL

 

Unit

N/A

CommandAborted

Description

Indicates the move was aborted

 

Data type

BOOL

 

Unit

N/A

Error

Description

Indicates an invalid input was specified or the move was terminated due to an error

 

Data type

BOOL

 

Unit

N/A

ErrorID

Description

Indicates the error if Error output is set to TRUE

Value Description
1 TimeLimit exceeded
2 DistanceLimit exceeded
3 TorqueLimit exceeded
4 axis error stop state
5 axis not enabled
6 invalid inputs for Velocity-Acceleration-Deceleration
 

Data type

INT

 

Unit

N/A

Usage

This homing procedure performs a homing function searching for 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 LimitSwitches. (A LimitSwitch has 1 “Off” (or “On”) area).

  • Home is commanded by user in the desired homing direction at the selected Velocity.
  • If LimitSwitch is found ‘On’ on rising ‘Execute’, then the process is started in the opposite direction as specified, LimitSwitch is search for ‘Off’ (or On, depending on LimitSwitchMode setting) Edge (released), and process is restarted again in original direction. This ensures that the end conditions are always the same.
  • The torque is limited.
  • The Time and Distance Limits can cause error if exceeded
  • The Direction changes only when the specified Velocity is reached, this ensures acceleration and deceleration spaces are fixed
  • This Function BlockClosed A function block groups an algorithm and a set of private data. It has inputs and outputs. doesn’t modify actual position

Related Functions

MCFB_StepAbsolute

MCFB_StepRefPulse

MCFB_StepBlock

MCFB_StepAbsSwitch

Example

Structured Text

 

PositiveDirection :=0;

RisingEdge :=2;

Velocity :=10000.0;

TorqueLimit :=50.0;

TimeLimit :=T#10s;

DistanceLimit :=10000.0;

 

Inst_MCFB_StepLimitSwitch( True, Axis1, PositiveDirection, RisingEdge, Velocity, 1000, 1000, 0, TorqueLimit, TimeLimit, DistanceLimit, LimitSwitch, 0 );

 

HomeComplete :=Inst_MCFB_StepLimitSwitch.Done;

HomeBusy :=Inst_MCFB_StepLimitSwitch.Busy;

HomeActive :=Inst_MCFB_StepLimitSwitch.Active;

HomeAborted :=Inst_MCFB_StepLimitSwitch.CommandAborted;

HomeError :=Inst_MCFB_StepLimitSwitch.Error;

HomeErrorID :=Inst_MCFB_StepLimitSwitch.ErrorID;

 

(* LimitSwitch is a declared I/O point *)

 

Ladder Diagram

UDFB StepLimitSwitch: LD example

Function Block Diagram

UDFB StepLimitSwitch: FBD example

Go back to the top of the page [Top]