MCFB_StepLimitSwitchFastInput

PLCopen motion icon

 Function Block - Fast homing to a limit switch.

  • Performs a homing function by searching for an external physical switch.
  • The switch must be connected to one of the two fast inputs on the Axis' AKD drive.
  • The Axis moves and, when a fast input is triggered, the triggered axis then performs an absolute move to the latched position.

Usage

The homing is commanded in the most likely direction where the sensor can be found.

In this example (-).

Figure 1: MCFB_StepLimitSwitchFastInput Usage

Inputs

Input

Data Type

See Data Types.

Range

Unit

Default

Description

Execute

BOOL

FALSE, TRUE

N/A

No default

  • Request the homing step procedure at the rising edge.
  • Outputs are reset when execute input is FALSE.

AxisID

AXIS_REF

1 to 256

N/A

No default

Direction

BOOL

FALSE, TRUE

N/A

No default

Defines the axis homing direction.

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

LimitSwitchMode

DINT

0 to 1

N/A

No default

Limit switch state to complete homing.

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

Velocity

LREAL

No range

User units / sec

No default

Commanded velocity for the homing move.

Acceleration

LREAL

No range

User units / sec2

No default

Commanded acceleration for the homing move.

Deceleration

LREAL

No range

User units / sec2

No default

Commanded deceleration for the homing move.

Jerk

LREAL

No range

User units / sec3

No default

  • Commanded jerk for the homing move.
  • If 0 (zero), trapezoidal acc/dec is used.

TorqueLimit

LREAL

No range

User units

No default

Maximum torque applied for the homing move.

  • Entered in thousandths of maximum torque.
  • Example: 250 is 250/1000, or 25%.

TimeLimit

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.

DistanceLimit

LREAL

No range

User units

No default

Maximum distance for homing move to complete.

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

FastInputNum

BOOL

FALSE, TRUE

N/A

No default

  • 0 (zero) = first fast input (X7 pin 10).
  • 1 = second fast input (X7 pin 9).

BufferMode

SINT

Enumerated

N/A

No default

The specified buffer mode.

  • BM_ABORTING
  • BM_BUFFERED
  • BM_BLENDING_PREVIOUS
  • BM_BLENDING_NEXT
  • BM_BLENDING_LOW
  • BM_BLENDING_HIGH
  • See Buffer Modes.

Outputs

Output

Data Type

See Data Types.

Range

Unit

Description

Done

BOOL

FALSE, TRUE

N/A

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

Busy

BOOL

FALSE, TRUE

N/A

High from the moment the Execute input goes high until the time the move is ended.

Active

BOOL

FALSE, TRUE

N/A

Set when the function block is active.

CommandAborted

BOOL

FALSE, TRUE

N/A

If TRUE, the command was aborted by another function block.

Error

BOOL

FALSE, TRUE

N/A

Signals an error has occurred within the function block.

ErrorID

INT

Enumerated

N/A

Indicates the error if Error output is TRUE.

Error identifier:

ErrorID

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.

FBD Language Example

FFLD Language Example

IL Language Example

Not available.

ST Language Example

Execute_1 :=1;

Inst_MCFB_StepLimitSwitchFastInput( Execute_1, Axis1, 0, 0, 10000.0, 10000.0, 10000.0, 0, 0, 0, 0, 0, 0);

HomeComplete := Inst_MCFB_StepLimitSwitchFastInput.Done;
HomeBusy := Inst_MCFB_StepLimitSwitchFastInput.Busy;
HomeActive := Inst_MCFB_StepLimitSwitchFastInput.Active;
HomeAborted := Inst_MCFB_StepLimitSwitchFastInput.CommandAborted;
HomeError := Inst_MCFB_StepLimitSwitchFastInput.Error;
HomeErrorID := Inst_MCFB_StepLimitSwitchFastInput.ErrorID;

See Also

MCFB_StepAbsSwitchFastInput