FB_EndlessFeed - Allgemeine Informationen

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.0.3.0

Übernommen aus

-

Implementiert

-

Versionen:

Aktuelle Version

Aufgabe

Fahren einer Achse im Endlosbetrieb (rotatives System)

Beschreibung

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.

Schnittstelle

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

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.

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.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Disabled

9

Die POU ist deaktiviert.

OK

EndlessPositioning

213

Endlose Positionierung

OK

Initializing

4

Die POU wird initialisiert.

OK

WaitForStart

5

Warten auf Startbefehl.

OK

WaitForVelUnequalZero

232

Warten auf einen Wert von i_lrVel wie: 0,1 ≤ i_lrVel < Max. Geschwindigkeit des Antriebs (siehe die Antriebsparameter MaxVel und UserMaxVel).

OK

WaitUntilDisabled

8

Warten, bis die POU deaktiviert ist.

OK

WaitUntilStopPositionReached

156

Warten, bis Stopposition erreicht wurde.

DriveConditionInvalid

DriveNotReady

10

Der Antrieb ist nicht bereit für Bewegungsbefehle.

DriveConditionInvalid

SercosNotInPhaseFour

19

Der Sercos-Bus befindet sich nicht in Phase 4.

InputParameterInvalid

AccRange

12

Acc ist außerhalb des gültigen Bereichs.

InputParameterInvalid

DecRange

13

Dec ist außerhalb des gültigen Bereichs.

InputParameterInvalid

DriveInvalid

3

Verbundener Antrieb ist ungültig.

InputParameterInvalid

JerkRange

14

Jerk ist außerhalb des gültigen Bereichs.

InputParameterInvalid

PeriodRange

201

Period ist außerhalb des gültigen Bereichs.

InputParameterInvalid

StopPositionRange

202

StopPosition ist außerhalb des gültigen Bereichs.

InputParameterInvalid

VelRange

11

Vel ist außerhalb des gültigen Bereichs.

UnexpectedProgramBehavior

UnexpectedFeedback

1

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

UnexpectedProgramBehavior

UnknownState

2

Die POU befindet sich in einem undefinierten Zustand.

AccRange

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

DecRange

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

Disabled

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.

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.

DriveNotReady

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.

EndlessPositioning

Enumerationsname:

EndlessPositioning

Enumerationswert:

213

Beschreibung:

Endlose Positionierung

Die Achse wird endlos positioniert.

Initializing

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.

JerkRange

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.

PeriodRange

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.

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 Parameter des SERCOS-Busses PhaseSet auf 4.

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

StopPositionRange

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.

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.

UnknownState

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.

VelRange

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.

WaitForStart

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.

WaitForVelUnequalZero

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.

WaitUntilDisabled

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 Funktions­baustein muss weiterhin aufgerufen werden, bis er q_xActive = FALSE meldet.

WaitUntilStopPositionReached

Enumerationsname:

WaitUntilStopPositionReached

Enumerationswert:

156

Beschreibung:

Warten, bis Stopposition erreicht wurde.

Die Achse wird auf ihre Stopposition gefahren und bleibt dort stehen.

Methoden

Bezeichnung

Beschreibung

RegisterLoggerPoint

Anmelden der Logger-Punkte der POU im Anwendungslogger