MC_Home

 

MC_Home - General Information

Overview

Type:

Function Block

Available as of:

1.0.5.0

Versions:

current version

Task

The axis is to be homed.

Description

The function block calls up PDL.FB_HomeTp for controlling the "Homing".

Interface

Input

Data type

Description

Axis

SystemConfigurationItf.IF_Drive

The axis that is to be homed.

Execute

BOOL

Starts the motion in the case of a rising edge

Position

LREAL

Absolute position if the reference signal has been detected

i_etMode

PDL.ET_HomeTpMode

Possible values:

o1 PosDirectionPosEdgeTp

o2 NegDirectionPosEdgeTp

o3 NegDirectionNegEdgeTp

o4 PosDirectionNegEdgeTp

i_lrOffset

LREAL

Offset between sensor signal and reference point

i_lrMaxTravel

LREAL

Maximum distance for homing

i_lrVel

LREAL

Maximum velocity of the motion

i_lrAcc

LREAL

Acceleration of the motion

i_lrDec

LREAL

Deceleration of the motion

i_lrJerk

LREAL

Jerk of the motion

i_ifTouchProbe

SystemConfigurationItf.IF_TouchProbe

Touchprobe sensor for homing

i_xHwLimitNeg

BOOL

TRUE: negative limit switch has been triggered

i_xHwLimitPos

BOOL

TRUE: positive limit switch has been triggered

Output

Data type

Description

Done

BOOL

Reference detected and successfully set.

Busy

BOOL

Homing is being executed.

CommandAborted

BOOL

The motion has been cancelled.

Error

BOOL

Signalizes a detected error within the function block

ErrorId

DWORD

Error identification

q_etDiag

GD.ET_Diag

General, library-independent statement on the diagnostic.

A value unequal to GD.ET_Diag.Ok corresponds to a diagnostic message.

q_etDiagExt

ET_DiagExt

POU-specific output on the diagnostic.

q_etDiag = GD.ET_Diag.Ok -> status message

q_etDiag <> GD.ET_Diag.Ok -> diagnostic message

q_sMsg

STRING[80]

Event-triggered message which gives more detailed information on the diagnostic state.

Diagnostic Messages

q_etDiag

q_etDiagExt

Enumeration value

Description

OK

Busy

1

The order is executed.

OK

CommandAborted

9

The action was canceled.

OK

Done

8

The order is completed.

OK

Ok

0

Ok

DriveConditionInvalid

DriveNotReady

70

The drive is not ready for motion commands.

ExecutionAborted

PLCopenTransition

49

PLCopen transition is not permitted.

HomingFailed

HwLimitNegStillActive

56

HwLimitNeg is still active.

HomingFailed

HwLimitPosStillActive

57

HwLimitPos is still active.

HomingFailed

TouchProbeNotFound

58

No Touchprobe was found.

InputParameterInvalid

AccRange

60

Acc is outside the valid range.

InputParameterInvalid

AxisInvalid

25

The connected drive is not supported.

InputParameterInvalid

DecRange

61

Dec is outside the valid range.

InputParameterInvalid

DriveInvalid

26

The connected drive is invalid.

InputParameterInvalid

DriveNotInitialised

27

The connected drive is not initialized.

InputParameterInvalid

JerkRange

62

Jerk is outside the valid range.

InputParameterInvalid

MaxTravelRange

63

MaxTravel is outside the valid range.

InputParameterInvalid

TouchProbeInvalid

55

TouchProbe is invalid.

InputParameterInvalid

TouchProbeNotActive

44

The Touchprobe is not active.

InputParameterInvalid

TouchProbeVirtual

64

The connected Touchprobe is virtual.

InputParameterInvalid

UnknownMode

42

The Mode is indeterminable.

InputParameterInvalid

VelRange

59

Vel is outside the valid range.

LimitReached

HwLimitNegReached

65

Negative limit switch has been reached.

LimitReached

HwLimitPosReached

66

Positive limit switch has been reached.

SercosConditionInvalid

SercosNotInPhaseFour

43

The bus is not in phase 4.

UnexpectedProgramBehavior

UnexpectedFeedback

10

An unintended detected error occurred during execution.

AccRange

Enumeration name:

AccRange

Enumeration value:

60

Description:

Acc is outside the valid range.

Issue

Cause

Solution

-

At the input i_lrAcc, an invalid value has been transferred.

A value greater than 0 and smaller than MaxAcc of the drive must be transferred at the input i_lrAcc.

AxisInvalid

Enumeration name:

AxisInvalid

Enumeration value:

25

Description:

The connected drive is not supported.

Issue

Cause

Solution

-

No drive has been applied at the input Axis.

A valid drive must be transferred to the input Axis.

Busy

Enumeration name:

Busy

Enumeration value:

1

Description:

The order is executed.

Homing is being executed.

CommandAborted

Enumeration name:

CommandAborted

Enumeration value:

9

Description:

The action was canceled.

The job was cancelled.

DecRange

Enumeration name:

DecRange

Enumeration value:

61

Description:

Dec is outside the valid range.

Issue

Cause

Solution

-

At the input i_lrDec, an invalid value has been transferred.

A value greater than 0 and smaller than MaxAcc of the drive must be transferred to the input i_lrDec.

Done

Enumeration name:

Done

Enumeration value:

8

Description:

The order is completed.

Homing was terminated.

DriveInvalid

Enumeration name:

DriveInvalid

Enumeration value:

26

Description:

The connected drive is invalid.

Issue

Cause

Solution

-

A detected error occurred in the internal execution.

Please inform the support team about this detected error.

DriveNotInitialised

Enumeration name:

DriveNotInitialised

Enumeration value:

27

Description:

The connected drive is not initialized.

Issue

Cause

Solution

-

The function FC_DriveInit was not activated for the drive at the input Axis.

Before using the POU, the drive must be initialized using the function FC_DriveInit.

DriveNotReady

Enumeration name:

DriveNotReady

Enumeration value:

70

Description:

The drive is not ready for motion commands.

Issue

Cause

Solution

-

The axis on the input Axis is not in position control.

Verify the state of the axis.

HwLimitNegReached

Enumeration name:

HwLimitNegReached

Enumeration value:

65

Description:

Negative limit switch has been reached.

Issue

Cause

Solution

-

The negative hardware limit switch has been found when searching for the reference signal.

Verify the signal at the input i_xHwLimitNeg.

Ensure that the sensor of the negative limit switch is not dirty.

HwLimitNegStillActive

Enumeration name:

HwLimitNegStillActive

Enumeration value:

56

Description:

HwLimitNeg is still active.

Issue

Cause

Solution

-

The negative limit switch i_xHwLimitNeg is still active. However, a Touchprobe signal has been detected or the maximum travel distance i_lrMaxTravel has been reached.

Verify the signal at the input i_xHwLimitNeg.

Verify the value for the maximum travel distance at the input i_lrMaxTravel.

Ensure that the sensor of the negative limit switch is not dirty.

HwLimitPosReached

Enumeration name:

HwLimitPosReached

Enumeration value:

66

Description:

Positive limit switch has been reached.

Issue

Cause

Solution

-

The positive hardware limit switch has been found when searching for the reference signal.

Verify the signal at the input i_xHwLimitPos.

Ensure that the sensor of the positive limit switch is not dirty.

HwLimitPosStillActive

Enumeration name:

HwLimitPosStillActive

Enumeration value:

57

Description:

HwLimitPos is still active.

Issue

Cause

Solution

-

The negative limit switch i_xHwLimitPos is still active. However, a Touchprobe signal has been detected or the maximum travel distance i_lrMaxTravel has been reached.

Verify the signal at the input i_xHwLimitPos.

Verify the value for the maximum travel distance at the input i_lrMaxTravel.

Ensure that the sensor of the positive limit switch is not dirty.

JerkRange

Enumeration name:

JerkRange

Enumeration value:

62

Description:

Jerk is outside the valid range.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_lrJerk.

A value greater than 0 and smaller than PDL.Gc_lrMaxJerk of the drive must be transferred to the input i_lrJerk.

MaxTravelRange

Enumeration name:

MaxTravelRange

Enumeration value:

63

Description:

MaxTravel is outside the valid range.

Issue

Cause

Solution

-

An invalid value has been transferred at the input i_lrMaxTravel.

A value greater than 0 must be transferred at the input i_lrMaxTravel.

Ok

Enumeration name:

Ok

Enumeration value:

0

Description:

Ok

The POU is waiting for jobs.

PLCopenTransition

Enumeration name:

PLCopenTransition

Enumeration value:

49

Description:

PLCopen transition is not permitted.

Issue

Cause

Solution

-

During job submission the axis is not in PLCopen state MC_Standstill or MC_Homing.

It must be made sure that the axis is in a valid PLCopen state when the POU is enabled.

SercosNotInPhaseFour

Enumeration name:

SercosNotInPhaseFour

Enumeration value:

43

Description:

The bus is not in phase 4.

Issue

Cause

Solution

-

The parameter State of the SERCOS bus is not 4.

Set the SERCOS bus parameter PhaseSet to 4.

Verify the SERCOS bus for errors.

TouchProbeInvalid

Enumeration name:

TouchProbeInvalid

Enumeration value:

55

Description:

TouchProbe is invalid.

Issue

Cause

Solution

-

The input i_ifTouchProbe is not connected with a valid Touchprobe.

Make sure that a Touchprobe object was transferred to the input i_ifTouchProbe.

TouchProbeNotActive

Enumeration name:

TouchProbeNotActive

Enumeration value:

44

Description:

The Touchprobe is not active.

Issue

Cause

Solution

-

The Touchprobe transferred at the input i_ifTouchProbe is not active.

Make sure that the parameter IOx_Mode of the input group (LXM62IO_InOutTP) is set to Touchprobe / 1.

TouchProbeNotFound

Enumeration name:

TouchProbeNotFound

Enumeration value:

58

Description:

No Touchprobe was found.

Issue

Cause

Solution

-

The Touchprobe sensor does not transmit a signal.

Verify the power supply of the Touchprobe sensor.

Make sure that the Touchprobe sensor is not dirty.

Make sure that the Touchprobe sensor can be triggered by the mechanical system.

Verify the electrical connection of the Touchprobe sensor and of the Touchprobe input.

TouchProbeVirtual

Enumeration name:

TouchProbeVirtual

Enumeration value:

64

Description:

The connected Touchprobe is virtual.

Issue

Cause

Solution

-

The used Touchprobe is not real.

Make sure that the Touchprobe does not belong to a virtual device. (e.g. virtual Lexium62)

UnexpectedFeedback

Enumeration name:

UnexpectedFeedback

Enumeration value:

10

Description:

An unintended detected error occurred during execution.

Issue

Cause

Solution

-

A detected error occurred in the internal execution.

Please inform the support team about this detected error.

UnknownMode

Enumeration name:

UnknownMode

Enumeration value:

42

Description:

The Mode is indeterminable.

Issue

Cause

Solution

-

At the input i_etMode, an invalid value has been applied.

An element of the enumeration PDL.ET_HomeTpMode must be applied at the input i_etMode.

VelRange

Enumeration name:

VelRange

Enumeration value:

59

Description:

Vel is outside the valid range.

Issue

Cause

Solution

-

At the input i_lrVel, an invalid value has been transferred.

A value greater than 0 and smaller than MaxVel of the drive must be transferred to the input i_lrVel.