FB_VarioPosJerk - Allgemeine Informationen
Typ |
Funktionsbaustein |
Verfügbar ab |
V1.0.3.0 |
Übernommen aus |
- |
Implementiert |
- |
Versionen: |
Aktuelle Version |
Positionierung einer Achse.
Mit dem Funktionsbaustein ist eine Bewegung (Positionierung) zu einer Position möglich. Dabei wird die Achse mit definierter Geschwindigkeit und Beschleunigung/Verzögerung bewegt. Das Geschwindigkeitsprofil der Bewegungsentwicklung ist standardmäßig ein Trapez.
Funktionsbaustein FB_VarioPosJerk / i_etPosMode = 0 (endlos)
Funktionsbaustein FB_VarioPosJerk / i_etPosMode = 1 (relativ)
Funktionsbaustein FB_VarioPosJerk / i_etPosMode = 3 (absolut)
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_xStart |
BOOL |
FALSE -> TRUE: Start der Bewegung nach den eingestellten Parametern. Eine steigende Flanke am Eingang i_xStart während einer aktiven Positionierung unterbricht die laufende Bewegung und startet eine neue Bewegung ohne Halt (gleitende Bewegung). Das bedeutet, Parameteränderungen während der Bewegung werden mit der ersten steigenden Flanke am Eingang i_xStart übernommen. Alle Parameter (i_lrTarget, i_lrVel, i_lrAcc, i_lrDec, i_lrJerk) können für die neue Positionierung geändert werden. |
i_xStop |
BOOL |
TRUE: Stoppt eine laufende Positionierung mit der Verzögerung i_lrDec. |
i_lrTarget |
LREAL |
Fahrstrecke bzw. Ziele der Bewegung in Einheiten sind abhängig von i_etPosMode. |
i_lrVel |
LREAL |
Geschwindigkeit (Änderung der Position) in Einheiten/s. |
i_lrAcc |
LREAL |
Beschleunigung (Änderung der Geschwindigkeit) in Einheiten/s2. |
i_lrDec |
LREAL |
Verzögerung (Änderung der Geschwindigkeit) in Einheiten/s2. |
i_lrJerk |
LREAL |
Ruck (Änderung der Beschleunigung/Verzögerung) in Einheiten/s3. |
i_etPosMode |
Für die Positionierung gibt es folgende Modi: oEndless Der Positionszähler wird vor der Positionierung auf null gesetzt. Dann wird auf den angegebenen Wert in i_lrTarget positioniert. oRelative Die Positionierung erfolgt relativ zum Positionszähler. Das bedeutet, der Positionszähler wird vor der Positionierung nicht zurückgesetzt. oAbsolute Die Positionierung erfolgt absolut. Der Positionszähler wird vor der Positionierung nicht zurückgesetzt. |
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: Der Funktionsbaustein ist nicht betriebsbereit und nimmt keine Anwenderbefehle an. |
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_xInPosition |
BOOL |
TRUE: Die Achse befindet sich im Ziel. Wird die Positionierung unterbrochen, so wird q_xInPosition erst gesetzt, wenn das ursprüngliche Ziel angefahren wird. |
q_lrPosition |
LREAL |
Position (RefPosition) der Achse. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
9 |
Die POU ist deaktiviert. |
|
OK |
4 |
Die POU wird initialisiert. |
|
OK |
6 |
Die Positionierung wird durchgeführt. |
|
OK |
7 |
Aktive Fahrbefehle werden gestoppt. |
|
OK |
5 |
Warten auf Startbefehl. |
|
OK |
8 |
Warten, bis die POU deaktiviert ist. |
|
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 |
322 |
PosMode ist außerhalb des 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 SERCOS-Busparameter PhaseSet auf 4. Überprüfen Sie den SERCOS-Bus auf Fehler. |
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. |
Am Eingang i_lrJerkGc_lrMaxJerk muss ein Wert größer als 0 und kleiner oder gleich übergeben werden. |
Enumerationsname: |
Positioning |
Enumerationswert: |
6 |
Beschreibung: |
Die Positionierung wird durchgeführt. |
Die Positionierung wird durchgeführt.
Enumerationsname: |
PosModeRange |
Enumerationswert: |
322 |
Beschreibung: |
PosMode ist außerhalb des Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Es wurde die Betriebsart Positioning ausgewählt und der Parameter i_etPosMode der Struktur ST_Positioning wurde mit einem ungültigen Wert belegt. |
Bei i_etPosMode muss einer der Werte SystemInterface.ET_PosMode.Absolute, SystemInterface.ET_PosMode.Relative oder SystemInterface.ET_PosModeEndless gegeben sein. Die Betriebsart Pos SystemInterface.ET_PosMode.Increment oder andere Werte sind nicht zulässig. |
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: |
Stopping |
Enumerationswert: |
7 |
Beschreibung: |
Aktive Fahrbefehle werden gestoppt. |
Die Achse wird angehalten.
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: |
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.
Bezeichnung |
Beschreibung |
---|---|
Anmelden der Logger-Punkte der POU im Anwendungslogger |