FC_RestoreAxisPosition

 

FC_RestoreAxisPosition - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab:

V1.0.3.0

Versionen:

Aktuelle Version

Aufgabe

Wiederherstellung der Achsposition nach Ein-/Ausschalten der PacDrive-Steuerung

Beschreibung

Mit dieser Funktion wird die Achsposition nach einem Ein-/Ausschalten der PacDrive-Steuerung beibehalten. Es muss nicht auf die Geberperiode bzw. das Verhältnis von Vorschubkonstante, Getriebefaktor (GearIn, GearOut) und Maschinenperiode geachtet werden.

Es ist nicht nötig, ein Getriebe mit der Auflösung 2n zu benutzen. Voraussetzung für die Verwendung dieser Funktion ist, dass der Geber sich nicht um mehr als die Hälfte seines maximalen Wertebereichs (encoder period) gedreht hat, während die PacDrive-Steuerung ausgeschaltet war, Die Funktion kann nicht erkennen, ob der Geber über diesen Bereich hinaus bewegt wurde und kann deshalb keinen Fehler generieren. In diesem Fall wird eine FALSE-Position wiederhergestellt.

Die Achsposition und die Geberposition werden mit der Funktion FC_SaveAxisPosition() in remanenten Variablen im NVRam gespeichert. Die Funktion muss zyklisch aufgerufen werden.

Mit der Funktion FC_RestoreAxisPosition() werden die remanenten Variablen wieder gelesen und die Achsposition errechnet und gesetzt. Die Funktion sollte nur einmal aufgerufen werden.

Mit dem PacDrive LMC Pro wird der remanente Speicherbereich batteriegepuffert.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_ifDrive

IF_Drive

Eingang für die zu kontrollierende Achse

i_lrUserPeriod

LREAL

Maschinenperiode

i_lrRestoreWindow

LREAL

Maximal zulässige Abweichung zwischen der gespeicherten und der wiederhergestellten Achsposition

iq_stRestorePosition

ST_AxisRestorePosition

Remanente Daten

Ausgang

Datentyp

Beschreibung

q_etDiag

GD.ET_Diag

Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose.

Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung.

q_etDiagExt

ET_DiagExt

POU-spezifischer, diagnosebezogener Ausgang.

q_etDiag = ET_Diag.Ok -> Statusmeldung

q_etDiag <> ET_Diag.Ok -> Diagnosemeldung

q_sMsg

STRING[80]

Ereignisabhängige Meldung mit detaillierten Informationen zum Diagnosezustand.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Ok

0

OK

DriveConditionInvalid

DriveEncoderInvalid

175

Der Geber des Antriebs ist nicht gültig.

DriveConditionInvalid

OutOfRestoreWindow

195

Die Position ist außerhalb des Wiederherstellungsfensters.

DriveConditionInvalid

RestoreInterrupted

196

Das Wiederherstellen wurde unterbrochen.

InputParameterInvalid

CheckSumInvalid

193

Die Prüfsumme ist ungültig.

InputParameterInvalid

DataNVRamInvalid

194

Der nicht flüchtige Speicher (NVRam) besitzt keine gültigen Daten mehr.

InputParameterInvalid

DriveInvalid

3

Verbundener Antrieb ist ungültig.

SercosConditionInvalid

SercosNotInPhaseFour

19

Der Sercos-Bus befindet sich nicht in Phase 4.

UnexpectedProgramBehavior

UnexpectedFeedback

1

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

CheckSumInvalid

Enumerationsname:

CheckSumInvalid

Enumerationswert:

193

Beschreibung:

Die Prüfsumme ist ungültig.

Problem

Ursache

Lösung

-

Die abgespeicherten Daten in i_stRestorePosition sind nicht konsistent. Die Position kann nicht wiederhergestellt werden.

Neues Homing des Antriebs erforderlich.

DataNVRamInvalid

Enumerationsname:

DataNVRamInvalid

Enumerationswert:

194

Beschreibung:

Der nicht flüchtige Speicher (NVRam) besitzt keine gültigen Daten mehr.

Problem

Ursache

Lösung

-

Die gespeicherten Daten im NVRam sind ungültig. Aus i_stRestorePosition kann deshalb die Position nicht wiederhergestellt werden.

Überprüfen Sie den NVRam, prüfen Sie die Pufferbatterie und tauschen Sie sie gegebenenfalls aus.

Neues Homing des Antriebs erforderlich.

DriveEncoderInvalid

Enumerationsname:

DriveEncoderInvalid

Enumerationswert:

175

Beschreibung:

Der Geber des Antriebs ist nicht gültig.

Problem

Ursache

Lösung

-

Der Geber der Achse wird nicht unterstützt.

Benutzen Sie eine Achse mit einem anderen Geber.

DriveInvalid

Enumerationsname:

DriveInvalid

Enumerationswert:

3

Beschreibung:

Verbundener Antrieb ist ungültig.

Problem

Ursache

Lösung

-

An den Eingang i_ifDrive wurde kein Antrieb angelegt.

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

-

Der angeschlossene Antrieb unterstützt nicht alle nötigen Funktionen.

Entnehmen Sie dem Ausgang q_sMsg, welche Funktionen der Antrieb nicht unterstützt.

Verwenden Sie einen Antrieb, der alle nötigen Funktionen unterstützt.

Ok

Enumerationsname:

Ok

Enumerationswert:

0

Beschreibung:

OK

Die Achsposition wurde erfolgreich wiederhergestellt.

OutOfRestoreWindow

Enumerationsname:

OutOfRestoreWindow

Enumerationswert:

195

Beschreibung:

Die Position ist außerhalb des Wiederherstellungsfensters.

Problem

Ursache

Lösung

-

Die Achse wurde seit dem letzten Speichern der Position zu weit bewegt.

Schieben Sie die Position der Achse in das Fenster zurück.

Vergrößern Sie die Grenzen des Fensters i_lrRestoreWindow.

RestoreInterrupted

Enumerationsname:

RestoreInterrupted

Enumerationswert:

196

Beschreibung:

Das Wiederherstellen wurde unterbrochen.

Problem

Ursache

Lösung

-

Das Auslesen des Gebers wurde mehrfach vom SERCOS unterbrochen.

Stellen Sie sicher, dass die Ausführung der Funktion nicht zu lange von anderen Tasks unterbrochen wird, sodass die Funktion nur einmal von der SERCOS-Task unterbrochen werden kann.

SercosNotInPhaseFour

Enumerationsname:

SercosNotInPhaseFour

Enumerationswert:

19

Beschreibung:

Der Sercos-Bus befindet sich nicht in Phase 4.

Problem

Ursache

Lösung

-

Der Parameter State des SERCOS-Busses ist nicht 4.

Setzen Sie den SERCOS-Busparameter PhaseSet auf 4.

Überprüfen Sie den SERCOS-Bus auf Fehler.

UnexpectedFeedback

Enumerationsname:

UnexpectedFeedback

Enumerationswert:

1

Beschreibung:

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

Problem

Ursache

Lösung

-

Es ist ein Fehler in der internen Abarbeitung aufgetreten.

Bitte informieren Sie das Supportteam über diesen Fehler.