MC_Home

 

MC_Home - Allgemeine Informationen

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

1.0.5.0

Versionen:

Aktuelle Version

Aufgabe

Die Achse muss referenziert werden.

Beschreibung

Der Funktionsbaustein ruft PDL.FB_HomeTp für die Steuerung des "Homing" auf.

Schnittstelle

Eingang

Datentyp

Beschreibung

Axis

SystemConfigurationItf.IF_Drive

Die Achse, die referenziert werden muss.

Execute

BOOL

Startet die Bewegung bei steigender Flanke.

Position

LREAL

Absolute Position, wenn das Referenzsignal erkannt wurde.

i_etMode

PDL.ET_HomeTpMode

Mögliche Werte:

o1 PosDirectionPosEdgeTp

o2 NegDirectionPosEdgeTp

o3 NegDirectionNegEdgeTp

o4 PosDirectionNegEdgeTp

i_lrOffset

LREAL

Verschiebung zwischen Sensorsignal und Referenzpunkt

i_lrMaxTravel

LREAL

Maximaler Weg für das Referenzieren

i_lrVel

LREAL

Maximale Geschwindigkeit der Bewegung

i_lrAcc

LREAL

Beschleunigung der Bewegung

i_lrDec

LREAL

Verzögerung der Bewegung

i_lrJerk

LREAL

Ruck der Bewegung

i_ifTouchProbe

SystemConfigurationItf.IF_TouchProbe

TouchProbe-Sensor für Homing

i_xHwLimitNeg

BOOL

TRUE: negativer Endschalter wurde ausgelöst.

i_xHwLimitPos

BOOL

TRUE: positiver Endschalter wurde ausgelöst.

Ausgang

Datentyp

Beschreibung

Done

BOOL

Referenz gefunden und ordnungsgemäß festgelegt.

Busy

BOOL

Das Homing wird durchgeführt.

CommandAborted

BOOL

Die Bewegung wurde abgebrochen.

Error

BOOL

Signalisiert einen erkannten Fehler innerhalb des Funktionsbausteins.

ErrorId

DWORD

Fehlererkennung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Alle Werte außer GD.ET_Diag.Ok entsprechen einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

Bausteinspezifischer Ausgang des Diagnosegeräts.

q_etDiag = GD.ET_Diag.Ok -> Statusmeldung

q_etDiag <> GD.ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung, die mehr Informationen zum Diagnosezustand liefert.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Aufzählungswert

Beschreibung

OK

Busy

1

Der Auftrag wird ausgeführt.

OK

CommandAborted

9

Die Aktion wurde abgebrochen.

OK

Done

8

Der Auftrag wird abgeschlossen.

OK

Ok

0

Ok

DriveConditionInvalid

DriveNotReady

70

Der Antrieb ist nicht bereit für Bewegungsbefehle.

ExecutionAborted

PLCopenTransition

49

PLCopen-Übergang ist nicht erlaubt.

HomingFailed

HwLimitNegStillActive

56

HwLimitNeg ist nach wie vor aktiv.

HomingFailed

HwLimitPosStillActive

57

HwLimitPos ist nach wie vor aktiv.

HomingFailed

TouchProbeNotFound

58

Es wurde kein Touchprobe gefunden.

InputParameterInvalid

AccRange

60

Acc ist außerhalb des gültigen Bereichs.

InputParameterInvalid

AxisInvalid

25

Der angeschlossene Antrieb wird nicht unterstützt.

InputParameterInvalid

DecRange

61

Dec ist außerhalb des gültigen Bereichs.

InputParameterInvalid

DriveInvalid

26

Der angeschlossene Antrieb ist nicht gültig.

InputParameterInvalid

DriveNotInitialised

27

Der angeschlossene Antrieb ist nicht initialisiert.

InputParameterInvalid

JerkRange

62

Jerk ist außerhalb des gültigen Bereichs.

InputParameterInvalid

MaxTravelRange

63

MaxTravel ist außerhalb des gültigen Bereichs.

InputParameterInvalid

TouchProbeInvalid

55

TouchProbe ist ungültig.

InputParameterInvalid

TouchProbeNotActive

44

Touchprobe ist nicht aktiv.

InputParameterInvalid

TouchProbeVirtual

64

Der angeschlossene Touchprobe ist virtuell.

InputParameterInvalid

UnknownMode

42

Die Mode ist nicht bestimmbar.

InputParameterInvalid

VelRange

59

Vel ist außerhalb des gültigen Bereichs.

LimitReached

HwLimitNegReached

65

Negativer Endschalter wurde erreicht.

LimitReached

HwLimitPosReached

66

Positiver Endschalter wurde erreicht.

SercosConditionInvalid

SercosNotInPhaseFour

43

Der Bus befindet sich nicht in Phase 4.

UnexpectedProgramBehavior

UnexpectedFeedback

10

Während der Ausführung ist ein unbeabsichtigter Fehler aufgetreten.

AccRange

Aufzählungsname:

AccRange

Aufzählungswert:

60

Beschreibung:

Acc ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_lrAcc wurde ein ungültiger Wert übergeben.

Ein Wert größer 0 und kleiner als MaxAcc des Antriebs muss an den Eingang i_lrAcc übertragen werden.

AxisInvalid

Aufzählungsname:

AxisInvalid

Aufzählungswert:

25

Beschreibung:

Der angeschlossene Antrieb wird nicht unterstützt.

Problem

Ursache

Lösung

-

Am Eingang Axis wurde kein Antrieb angelegt.

Dem Eingang Axis muss ein gültiger Antrieb übergeben werden.

Busy

Aufzählungsname:

Busy

Aufzählungswert:

1

Beschreibung:

Der Auftrag wird ausgeführt.

Das Homing wird durchgeführt.

CommandAborted

Aufzählungsname:

CommandAborted

Aufzählungswert:

9

Beschreibung:

Die Aktion wurde abgebrochen.

Der Auftrag wurde abgebrochen.

DecRange

Aufzählungsname:

DecRange

Aufzählungswert:

61

Beschreibung:

Dec ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_lrDec wurde ein ungültiger Wert übergeben.

Ein Wert größer 0 und kleiner als MaxAcc des Antriebs muss an den Eingang i_lrDec übertragen werden.

Done

Aufzählungsname:

Done

Aufzählungswert:

8

Beschreibung:

Der Auftrag wird abgeschlossen.

Das Homing wurde abgeschlossen.

DriveInvalid

Aufzählungsname:

DriveInvalid

Aufzählungswert:

26

Beschreibung:

Der angeschlossene Antrieb ist nicht gültig.

Problem

Ursache

Lösung

-

In der internen Ausführung ist ein Fehler aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.

DriveNotInitialised

Aufzählungsname:

DriveNotInitialised

Aufzählungswert:

27

Beschreibung:

Der angeschlossene Antrieb ist nicht initialisiert.

Problem

Ursache

Lösung

-

Die Funktion FC_DriveInit wurde für den Antrieb am Eingang Axis nicht aufgerufen.

Vor der Verwendung des Bausteins muss der Antrieb mittels der Funktion FC_DriveInit initialisiert werden.

DriveNotReady

Aufzählungsname:

DriveNotReady

Aufzählungswert:

70

Beschreibung:

Der Antrieb ist nicht bereit für Bewegungsbefehle.

Problem

Ursache

Lösung

-

Die Achse am Eingang Axis befindet sich nicht in Lageregelung.

Überprüfen Sie den Zustand der Achse.

HwLimitNegReached

Aufzählungsname:

HwLimitNegReached

Aufzählungswert:

65

Beschreibung:

Negativer Endschalter wurde erreicht.

Problem

Ursache

Lösung

-

Der negative Hardwareendschalter wurde bei der Suche des Referenzsignals gefunden.

Überprüfen Sie das Signal am Eingang i_xHwLimitNeg.

Stellen Sie sicher, dass der Sensor des negativen Endschalters nicht verschmutzt ist.

HwLimitNegStillActive

Aufzählungsname:

HwLimitNegStillActive

Aufzählungswert:

56

Beschreibung:

HwLimitNeg ist nach wie vor aktiv.

Problem

Ursache

Lösung

-

Der negative Endschalter i_xHwLimitNeg ist nach wie vor aktiv. Es wurde jedoch ein Touchprobe-Signal erkannt oder die maximale Verfahrstrecke i_lrMaxTravel wurde erreicht.

Überprüfen Sie das Signal am Eingang i_xHwLimitNeg.

Überprüfen Sie den Wert für die maximale Verfahrstrecke am Eingang i_lrMaxTravel.

Stellen Sie sicher, dass der Sensor des negativen Endschalters nicht verschmutzt ist.

HwLimitPosReached

Aufzählungsname:

HwLimitPosReached

Aufzählungswert:

66

Beschreibung:

Positiver Endschalter wurde erreicht.

Problem

Ursache

Lösung

-

Der positive Hardware-Endschalter wurde bei der Suche des Referenzsignals gefunden.

Überprüfen Sie das Signal am Eingang i_xHwLimitPos.

Stellen Sie sicher, dass der Sensor des positiven Endschalters nicht verschmutzt ist.

HwLimitPosStillActive

Aufzählungsname:

HwLimitPosStillActive

Aufzählungswert:

57

Beschreibung:

HwLimitPos ist nach wie vor aktiv.

Problem

Ursache

Lösung

-

Der negative Endschalter i_xHwLimitPos ist nach wie vor aktiv. Es wurde jedoch ein Touchprobe-Signal erkannt oder die maximale Verfahrstrecke i_lrMaxTravel wurde erreicht.

Überprüfen Sie das Signal am Eingang i_xHwLimitPos.

Überprüfen Sie den Wert für die maximale Verfahrstrecke am Eingang i_lrMaxTravel.

Stellen Sie sicher, dass der Sensor des positiven Endschalters nicht verschmutzt ist.

JerkRange

Aufzählungsname:

JerkRange

Aufzählungswert:

62

Beschreibung:

Jerk ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_lrJerk wurde ein ungültiger Wert übergeben.

Ein Wert größer 0 und kleiner als PDL.Gc_lrMaxJerk des Antriebs muss an den Eingang i_lrJerk übertragen werden.

MaxTravelRange

Aufzählungsname:

MaxTravelRange

Aufzählungswert:

63

Beschreibung:

MaxTravel ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_lrMaxTravel wurde ein ungültiger Wert übergeben.

Am Eingang i_lrMaxTravel muss ein Wert größer 0 übergeben werden.

Ok

Aufzählungsname:

Ok

Aufzählungswert:

0

Beschreibung:

Ok

Der Baustein wartet auf Aufträge.

PLCopenTransition

Aufzählungsname:

PLCopenTransition

Aufzählungswert:

49

Beschreibung:

PLCopen-Übergang ist nicht erlaubt.

Problem

Ursache

Lösung

-

Zum Zeitpunkt der Auftragserteilung befindet sich die Achse nicht im PLCopen-Zustand MC_Standstill oder MC_Homing.

Es muss sichergestellt werden, dass sich die Achse in einem gültigen PLCopen-Zustand befindet, wenn der Baustein aktiviert wird.

SercosNotInPhaseFour

Aufzählungsname:

SercosNotInPhaseFour

Aufzählungswert:

43

Beschreibung:

Der Bus befindet sich nicht in Phase 4.

Problem

Ursache

Lösung

-

Der Parameter State vom SERCOS Bus ist nicht 4.

Setzen Sie den Parameter des SERCOS Bus PhaseSet auf 4.

Überprüfen Sie den SERCOS Bus auf Fehler.

TouchProbeInvalid

Aufzählungsname:

TouchProbeInvalid

Aufzählungswert:

55

Beschreibung:

TouchProbe ist ungültig.

Problem

Ursache

Lösung

-

Der Eingang i_ifTouchProbe ist nicht mit einem gültigen Touchprobe verbunden.

Stellen Sie sicher, dass ein Touchprobe-Objekt an den Eingang i_ifTouchProbe übergeben wurde.

TouchProbeNotActive

Aufzählungsname:

TouchProbeNotActive

Aufzählungswert:

44

Beschreibung:

Touchprobe ist nicht aktiv.

Problem

Ursache

Lösung

-

Der am Eingang i_ifTouchProbe übergebene Touchprobe ist nicht aktiv.

Stellen Sie sicher, dass der Parameter IOx_Mode der Eingangsgruppe (LXM62IO_InOutTP) auf Touchprobe / 1 gesetzt ist.

TouchProbeNotFound

Aufzählungsname:

TouchProbeNotFound

Aufzählungswert:

58

Beschreibung:

Es wurde kein Touchprobe gefunden.

Problem

Ursache

Lösung

-

Der Touchprobe-Sensor sendet kein Signal.

Überprüfen Sie die Spannungsversorgung des Touchprobe-Sensors.

Stellen Sie sicher, dass der Touchprobe-Sensor nicht verschmutzt ist.

Stellen Sie sicher, dass der Touchprobe-Sensor durch die Mechanik ausgelöst werden kann.

Überprüfen Sie die elektrische Verbindung des Touchprobe-Sensors und des Touchprobe-Eingangs.

TouchProbeVirtual

Aufzählungsname:

TouchProbeVirtual

Aufzählungswert:

64

Beschreibung:

Der angeschlossene Touchprobe ist virtuell.

Problem

Ursache

Lösung

-

Der verwendete Touchprobe ist nicht real.

Stellen sie sicher, dass der Touchprobe nicht zu einem virtuellen Gerät gehört. (z. B. virtueller Lexium62)

UnexpectedFeedback

Aufzählungsname:

UnexpectedFeedback

Aufzählungswert:

10

Beschreibung:

Während der Ausführung ist ein unbeabsichtigter Fehler aufgetreten.

Problem

Ursache

Lösung

-

In der internen Ausführung ist ein Fehler aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.

UnknownMode

Aufzählungsname:

UnknownMode

Aufzählungswert:

42

Beschreibung:

Die Mode ist nicht bestimmbar.

Problem

Ursache

Lösung

-

Am Eingang i_etMode wurde ein ungültiger Wert angelegt.

Ein Element der Enumeration PDL.ET_HomeTpMode muss dem Eingang i_etMode zugewiesen werden.

VelRange

Aufzählungsname:

VelRange

Aufzählungswert:

59

Beschreibung:

Vel ist außerhalb des gültigen Bereichs.

Problem

Ursache

Lösung

-

Am Eingang i_lrVel wurde ein ungültiger Wert übergeben.

Ein Wert größer 0 und kleiner als MaxVel des Antriebs muss an den Eingang i_lrVel übertragen werden.