FB_VarioPosTp

 

FB_VarioPosTp - Allgemeine Informationen

Übersicht

Typ

Funktionsbaustein

Verfügbar ab

V1.0.3.0

Übernommen aus

-

Implementiert

-

Versionen:

Aktuelle Version

Aufgabe

Ausführung einer Positionierbewegung mit Korrektur der Zielposition über ein Referenzsignal.

Beschreibung

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.

Geschwindigkeitsprofil des Funktionsblock FB_VarioPosTp

G-SE-0068887.1.gif-high.gif

 

 

Funktionsbaustein FB_VarioPosTP / i_etPosMode = 0 (endlos)

G-SE-0068884.1.gif-high.gif

 

 

Funktionsbaustein FB_VarioPosTP / i_etPosMode= 1 (relativ)

G-SE-0068885.1.gif-high.gif

 

 

Funktionsbaustein FB_VarioPosTP / i_etPosMode = 3 (absolut)

G-SE-0068886.1.gif-high.gif

 

 

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_ifTouchProbe

IF_TouchProbe

Digitaler Messeingang des PacDrive-Systems, in das das Referenzsignal eingespeist wird.

i_xPosEdge

BOOL

TRUE: positive Flanke des Eingangssignals i_ifTouchProbe

FALSE: negative Flanke des Eingangssignals i_ifTouchProbe

i_xStart

BOOL

FALSE -> TRUE: Start der Bewegung nach eingestellten Parametern.

i_xStop

BOOL

FALSE -> TRUE: Stoppt eine laufende Positionierung mit der Verzögerung i_lrDec.

i_lrMaxDistance

LREAL

Fahrstrecke bzw. Ziel der Bewegung in Einheiten abhängig von i_etPosMode, falls kein gültiges Referenzsignal i_ifTouchProbe erkannt wird.

i_etPosMode

ET_PosMode

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_lrMaxDistance 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.

i_lrOffset

LREAL

Offset zwischen Referenzsignal und Zielposition.

i_lrLowLimit

LREAL

Untergrenze der Position relativ zur Startposition, an der das Referenzsignal gültig ist.

i_lrHighLimit

LREAL

Obergrenze der Position relativ zur Startposition, an der das Referenzsignal gültig ist.

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.

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_xInPosition

BOOL

TRUE: Die Achse befindet sich im Ziel (i_lrMaxDistance oder korrigierte Position über Referenzsignal erreicht). Wird die Positionierung unterbrochen, so wird q_xInPosition erst gesetzt, wenn das ursprünglich Ziel angefahren wird.

q_xTPOk

BOOL

TRUE: q_xInPosition und gültiges Referenzsignal an i_ifTouchProbe erkannt.

q_lrPosition

LREAL

Position ( RefPosition) der Achse.

q_lrTPPosition

LREAL

Position der Achse beim Erkennen des gültigen Referenzsignals.

Diagnosemeldungen

q_etDiag

q_etDiagExt

Enumerationswert

Beschreibung

OK

Disabled

9

Die POU ist deaktiviert.

OK

Initializing

4

Die POU wird initialisiert.

OK

WaitForStart

5

Warten auf Startbefehl.

OK

WaitForStopRelease

238

Warten auf Rücknahme des Stoppbefehls.

OK

WaitForTouchProbeSignal

167

Warten auf das Touchprobe-Signal.

OK

WaitUntilDisabled

8

Warten, bis die POU deaktiviert ist.

OK

WaitUntilOffsetReached

225

Warten, bis die Offsetposition erreicht wurde.

OK

WaitUntilPositioningStarted

245

Warten, bis die Positionierung begonnen hat.

OK

WaitUntilStopped

159

Warten, bis der Antrieb angehalten hat.

DriveConditionInvalid

DriveNotReady

10

Der Antrieb ist nicht bereit für Bewegungsbefehle.

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

TouchProbeInvalid

163

Verbundener Touchprobe ist ungültig.

InputParameterInvalid

TouchProbeNotActive

166

Touchprobe ist nicht aktiv.

InputParameterInvalid

TouchProbeVirtual

165

Der angeschlossene Touchprobe ist virtuell.

InputParameterInvalid

VelRange

11

Vel ist außerhalb des gültigen Bereichs.

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.

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 SERCOS-Busparameter PhaseSet auf 4.

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

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.

Am Eingang i_lrJerk muss ein Wert größer als 0 und kleiner oder gleich Gc_lrMaxJerk ü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 SERCOS-Busparameter PhaseSet auf 4.

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

TouchProbeInvalid

Enumerationsname:

TouchProbeInvalid

Enumerationswert:

163

Beschreibung:

Verbundener Touchprobe ist ungültig.

Problem

Ursache

Lösung

-

Der Eingang i_ifTouchProbe ist nicht mit einem gültigen Touchprobe verbunden.

Vergewissern Sie sich, dass am Eingang i_ifTouchProbe ein Touchprobe-Objekt übergeben wurde.

TouchProbeNotActive

Enumerationsname:

TouchProbeNotActive

Enumerationswert:

166

Beschreibung:

Touchprobe ist nicht aktiv.

Problem

Ursache

Lösung

-

Die Touchprobe-Funktionalität des Eingangs an einem Lexium 62 ist nicht aktiviert.

Stellen Sie sicher, dass der Parameter IOx_Mode der Eingangsgruppe (LXM62IO_InOutTP) auf Touchprobe / 1 gesetzt ist.

TouchProbeVirtual

Enumerationsname:

TouchProbeVirtual

Enumerationswert:

165

Beschreibung:

Der angeschlossene Touchprobe ist virtuell.

Problem

Ursache

Lösung

-

Der verwendete Touchprobe ist nicht real.

Stellen Sie sicher, dass der Touchprobe nicht zu einem virtuellen Gerät gehört. (z. B. virtueller Lexium62)

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 angelegt.

Legen Sie einen Wert größer als 0 und kleiner als der Achsparameter i_lrVel bis MaxVel an.

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.

WaitForStopRelease

Enumerationsname:

WaitForStopRelease

Enumerationswert:

238

Beschreibung:

Warten auf Rücknahme des Stoppbefehls.

Der Eingang i_xStop muss FALSE sein, um fortzufahren.

WaitForTouchProbeSignal

Enumerationsname:

WaitForTouchProbeSignal

Enumerationswert:

167

Beschreibung:

Warten auf das Touchprobe-Signal.

Es wird auf das Touchprobe-Signal gewartet, während die Achse bewegt wird.

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.

WaitUntilOffsetReached

Enumerationsname:

WaitUntilOffsetReached

Enumerationswert:

225

Beschreibung:

Warten, bis die Offsetposition erreicht wurde.

Das Touchprobe-Signal wurde erkannt. Die Achse wird um den Offset weiterbewegt.

WaitUntilPositioningStarted

Enumerationsname:

WaitUntilPositioningStarted

Enumerationswert:

245

Beschreibung:

Warten, bis die Positionierung begonnen hat.

Der Funktionsbaustein wartet darauf, dass die Achse mit ihrer Positionierung beginnt.

WaitUntilStopped

Enumerationsname:

WaitUntilStopped

Enumerationswert:

159

Beschreibung:

Warten, bis der Antrieb angehalten hat.

Die Achse wird angehalten.