FC_RestoreAxisPosition - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab: |
V1.0.3.0 |
Versionen: |
Aktuelle Version |
Wiederherstellung der Achsposition nach Ein-/Ausschalten der PacDrive-Steuerung
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.
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 |
Remanente Daten |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_etDiag |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
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. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
0 |
OK |
|
DriveConditionInvalid |
175 |
Der Geber des Antriebs ist nicht gültig. |
|
DriveConditionInvalid |
195 |
Die Position ist außerhalb des Wiederherstellungsfensters. |
|
DriveConditionInvalid |
196 |
Das Wiederherstellen wurde unterbrochen. |
|
InputParameterInvalid |
193 |
Die Prüfsumme ist ungültig. |
|
InputParameterInvalid |
194 |
Der nicht flüchtige Speicher (NVRam) besitzt keine gültigen Daten mehr. |
|
InputParameterInvalid |
3 |
Verbundener Antrieb ist ungültig. |
|
SercosConditionInvalid |
19 |
Der Sercos-Bus befindet sich nicht in Phase 4. |
|
UnexpectedProgramBehavior |
1 |
Es ist ein unbeabsichtigter Fehler während der Ausführung aufgetreten. |
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. |
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. |
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. |
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. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
OK |
Die Achsposition wurde erfolgreich wiederhergestellt.
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. |
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. |
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. |
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. |