FB_EndlessFeed - Allgemeine Informationen
Typ |
Funktionsbaustein |
Verfügbar ab |
V1.0.3.0 |
Übernommen aus |
- |
Implementiert |
- |
Versionen: |
Aktuelle Version |
Fahren einer Achse im Endlosbetrieb (rotatives System)
Die Achse wird mit einer festen Geschwindigkeit bewegt, wobei ihre Position in einer vorgegebenen Periode gehalten wird.
HINWEIS: Das Stoppverhalten der Achse bei i_xStart (TRUE -> FALSE) hängt ab von den Parametern i_lrDec, i_lrJerk und i_lrStopPosition.
Je nach Zeitpunkt von i_xStart (TRUE -> FALSE) kann eine Achse in der Periode anhalten oder über mehrere Perioden hinweg andauern.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_xEnable |
BOOL |
Eine steigende Flanke FALSE -> TRUE aktiviert die POU, eine fallende Flanke TRUE -> FALSE deaktiviert sie. Wenn die POU abgeschaltet ist, führt sie keine Aktionen aus. |
i_ifDrive |
IF_Drive |
Eingang für die zu kontrollierende Achse |
i_lrVel |
LREAL |
Geschwindigkeit (Änderung der Position) in Einheiten/s Wertebereich von i_lrVel für die Auslösung einer Achsbewegung: 0,1 ≤ i_lrVel < Höchstgeschwindigkeit des Antriebs (siehe die Antriebsparameter MaxVel und UserMaxVel). Ein neuer Wert für i_lrVel wird nur angenommen, wenn die Wertänderung für i_lrVel > 0,1 beträgt. Ist die Wertänderung ≤ 0,1, dann wird der neue Geschwindigkeitswert ignoriert und keine Diagnosemeldung ausgegeben. Bei i_lrVel < 0,1 wird die Achse angehalten. Nach einem derartigen Halt startet die Achse wieder, wenn i_lrVel≥ 0,1. |
i_lrAcc |
LREAL |
Beschleunigung (Änderung der Geschwindigkeit) in Einheiten/s2. Wertebereich: 0 < i_lrAcc ≤ Max. Antriebsbeschleunigung (siehe die Antriebsparameter MaxAcc und UserMaxAcc). |
i_lrDec |
LREAL |
Verzögerung (Änderung der Geschwindigkeit) in Einheiten/s2. Wertebereich: 0 < i_lrDec ≤ Max. Antriebsbeschleunigung (siehe die Antriebsparameter MaxAcc und UserMaxAcc). |
i_lrJerk |
LREAL |
Ruck (Änderung der Beschleunigung/Verzögerung) in Einheiten/s3. Wertebereich: 0 < i_lrJerk ≤ Gc_lrMaxJerk (siehe die GKL) . |
i_lrPeriod |
LREAL |
Bei einem Wert <> 0 wird die Position innerhalb des Periodenwerts gehalten (0 … i_lrPeriod). Wenn ein Periodenwert zu hoch oder zu niedrig ist, wird die Position vom Periodenwert beeinflusst. Es sind nur positive Werte gültig. |
i_lrStopPosition |
LREAL |
Stoppposition in Einheiten. Es sind nur positive Werte gültig. |
i_xStart |
BOOL |
FALSE -> TRUE: Start der Endlosfahrt nach den eingestellten Parametern. |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_xActive |
BOOL |
TRUE: Die POU ist eingeschaltet und muss weiter ausgeführt werden. FALSE: Die POU ist abgeschaltet. |
q_xReady |
BOOL |
TRUE: Die POU ist betriebsbereit und kann Anwenderbefehle entgegennehmen. FALSE: Die POU ist nicht bereit, Anwenderbefehle entgegenzunehmen. |
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_xMotionInstructionActive |
BOOL |
TRUE: Die Achse bearbeitet einen Bewegungsbefehl. Der Ausgang wird ebenfalls gesetzt, wenn der Bewegungsbefehl vorgibt, dass sich die Achse im Stillstand befindet. |
q_xInVelocity |
BOOL |
Geschwindigkeit i_lrVel erreicht. (RefVelocity > i_lrVel * 0,99 UND RefVelocity < i_lrVel* 1,01) |
q_lrPosition |
LREAL |
Position der Achse. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
9 |
Die POU ist deaktiviert. |
|
OK |
213 |
Endlose Positionierung |
|
OK |
4 |
Die POU wird initialisiert. |
|
OK |
5 |
Warten auf Startbefehl. |
|
OK |
232 |
Warten auf einen Wert von i_lrVel wie: 0,1 ≤ i_lrVel < Max. Geschwindigkeit des Antriebs (siehe die Antriebsparameter MaxVel und UserMaxVel). |
|
OK |
8 |
Warten, bis die POU deaktiviert ist. |
|
OK |
156 |
Warten, bis Stopposition erreicht wurde. |
|
DriveConditionInvalid |
10 |
Der Antrieb ist nicht bereit für Bewegungsbefehle. |
|
DriveConditionInvalid |
19 |
Der Sercos-Bus befindet sich nicht in Phase 4. |
|
InputParameterInvalid |
12 |
Acc ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
13 |
Dec ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
3 |
Verbundener Antrieb ist ungültig. |
|
InputParameterInvalid |
14 |
Jerk ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
201 |
Period ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
202 |
StopPosition ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
11 |
Vel ist außerhalb des gültigen Bereichs. |
|
UnexpectedProgramBehavior |
1 |
Es ist ein unbeabsichtigter Fehler während der Ausführung aufgetreten. |
|
UnexpectedProgramBehavior |
2 |
Die POU befindet sich in einem undefinierten Zustand. |
Enumerationsname: |
AccRange |
Enumerationswert: |
12 |
Beschreibung: |
Acc ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_lrAcc wurde ein ungültiger Wert übergeben. |
Es muss gelten: 0 < i_lrAcc < Antriebsparameter MaxAcc Zulässiger Wertebereich für i_lrAcc, siehe Ausgang q_sMsg |
Enumerationsname: |
DecRange |
Enumerationswert: |
13 |
Beschreibung: |
Dec ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_lrDec wurde ein ungültiger Wert übergeben. |
Es muss gelten: 0 < i_lrDec < Antriebsparameter MaxAcc Zulässiger Wertebereich für i_lrDec, siehe Ausgang q_sMsg |
Enumerationsname: |
Disabled |
Enumerationswert: |
9 |
Beschreibung: |
Die POU ist deaktiviert. |
Der Funktionsbaustein ist deaktiviert und führt keinerlei Aktionen aus. i_xEnable und q_xActive werden auf FALSE gesetzt.
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: |
DriveNotReady |
Enumerationswert: |
10 |
Beschreibung: |
Der Antrieb ist nicht bereit für Bewegungsbefehle. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Die Achse befindet sich nicht in Lageregelung. |
Überprüfen Sie den Zustand der Achse. |
- |
Der Parameter State des SERCOS-Busses ist nicht 4. |
Setzen Sie den Parameter des SERCOS-Busses PhaseSet auf 4. Überprüfen Sie den SERCOS-Bus auf Fehler. |
Enumerationsname: |
EndlessPositioning |
Enumerationswert: |
213 |
Beschreibung: |
Endlose Positionierung |
Die Achse wird endlos positioniert.
Enumerationsname: |
Initializing |
Enumerationswert: |
4 |
Beschreibung: |
Die POU wird initialisiert. |
Der Funktionsbaustein wird initialisiert und ist noch nicht bereit, Befehle an seinen Eingängen entgegenzunehmen.
Der Funktionsbaustein meldet seine Betriebsbereitschaft mit dem Signal q_xReady = TRUE.
Enumerationsname: |
JerkRange |
Enumerationswert: |
14 |
Beschreibung: |
Jerk ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_lrJerk wurde ein ungültiger Wert angelegt. |
Dem Eingang i_lrJerk muss ein Wert größer als 0 und kleiner oder gleich Gc_lrMaxJerk übergeben werden. |
Enumerationsname: |
PeriodRange |
Enumerationswert: |
201 |
Beschreibung: |
Period ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_lrPeriod wurde ein negativer Wert angelegt. |
Dem Eingang i_lrPeriod muss ein Wert größer als 0 übergeben werden. |
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 Parameter des SERCOS-Busses PhaseSet auf 4. Überprüfen Sie den SERCOS-Bus auf Fehler. |
Enumerationsname: |
StopPositionRange |
Enumerationswert: |
202 |
Beschreibung: |
StopPosition ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_lrStopPosition wurde ein negativer Wert übergeben. |
Dem Eingang i_lrStopPosition muss ein Wert größer oder gleich 0 übergeben werden. |
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. |
Enumerationsname: |
UnknownState |
Enumerationswert: |
2 |
Beschreibung: |
Die POU befindet sich in einem undefinierten Zustand. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Es ist ein Fehler in der internen Abarbeitung aufgetreten. |
Bitte informieren Sie das Supportteam über diesen Fehler. |
Enumerationsname: |
VelRange |
Enumerationswert: |
11 |
Beschreibung: |
Vel ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_lrVel wurde ein ungültiger Wert übergeben. |
Für i_lrVel muss ein Wert größer als 0 und kleiner als der Parameter MaxVel der Achse angegeben werden. |
Enumerationsname: |
WaitForStart |
Enumerationswert: |
5 |
Beschreibung: |
Warten auf Startbefehl. |
Der Funktionsbaustein hat seine Initialisierung abgeschlossen und wartet auf eine positive Flanke am Eingang i_xStart, bevor er mit der Abarbeitung fortfährt.
Enumerationsname: |
WaitForVelUnequalZero |
Enumerationswert: |
232 |
Beschreibung: |
Warten auf einen Wert von i_lrVel wie: 0,1 ≤ i_lrVel < Max. Geschwindigkeit des Antriebs (siehe die Antriebsparameter MaxVel und UserMaxVel). |
Eine Bewegung wurde eingeleitet. Es wird darauf gewartet, dass die Achse mit der Bewegung beginnt.
Enumerationsname: |
WaitUntilDisabled |
Enumerationswert: |
8 |
Beschreibung: |
Warten, bis die POU deaktiviert ist. |
Der Funktionsbaustein ist deaktiviert. Alle internen Zustände werden zurückgesetzt und verbundene Resourcen (z. B. Achsen) werden in einen sicheren Zustand überführt. Der Funktionsbaustein muss weiterhin aufgerufen werden, bis er q_xActive = FALSE meldet.
Enumerationsname: |
WaitUntilStopPositionReached |
Enumerationswert: |
156 |
Beschreibung: |
Warten, bis Stopposition erreicht wurde. |
Die Achse wird auf ihre Stopposition gefahren und bleibt dort stehen.
Bezeichnung |
Beschreibung |
---|---|
Anmelden der Logger-Punkte der POU im Anwendungslogger |