Ptp
![]() | Corefunction wird nicht von Umrichterachsen unterstützt Diese Corefunction wird von Umrichterachsen nicht unterstützt. Jede Verwendung wird DEVICE_NOTINIT melden und eine Fehlermeldung auslösen. |

Diese Corefunction dient der Durchführung von Multisegment-Bewegungen mit der Möglichkeit, am Ende auf ein Drehmoment- oder Konstantausgang-Clamping umzuschalten.
Syntax:
FUNCTION_BLOCK FB_Ptp EXTENDS FB_CorefunctionFeedback
Eigenschaften
FB_Ptp | |||
ActiveSegment | INT | Get | Die Nummer des Punktes, der gerade angefahren wird. |
IsClamping | BOOL | Get | TRUE, wenn die Corefunction die Achse auf Clamping umgeschaltet hat. |
MovingNegative | BOOL | Get | TRUE, wenn sich die Achse aktiv in die negative Richtung bewegt. |
MovingPositive | BOOL | Get | TRUE, wenn sich die Achse aktiv in die positive Richtung bewegt. |
NumberOfPoints | INT | Get | Die Anzahl der Punkte, die die Corefunction speichern kann. |
FB_CorefunctionFeedback | |||
AbortedState | BOOL | Get, Set | Signalisiert den Abbruch eines Kommandos durch eine andere Corefunction. |
BusyState | BOOL | Get, Set | Signalisiert die aktive Ausführung eines Kommandos. |
DoneState | BOOL | Get, Set | Signalisiert die erfolgreiche Ausführung eines Kommandos. |
IdleState | BOOL | Get, Set | Die Corefunction ist betriebsbereit und kommandierbar. |
IsCommanded | BOOL | Get | Signalisiert das Anstehen eines Kommandos. |
FB_Corefunction | |||
FailedState | BOOL | Get, Set | Wenn gleichzeitig IsActivated TRUE ist: Signalisiert das Fehlschlagen eines akzeptierten Kommandos. Wenn gleichzeitig IsActivated FALSE ist: Signalisiert die Ablehnung eines Kommandos. |
HasFeedback | BOOL | Get | Die Corefunction hat auf ein anstehendes Kommando reagiert. |
IsActivated | BOOL | Get | Die Corefunction hat ein akzeptiertes Kommando anstehen. |
IsLocalCmd | BOOL | Get | Signalisiert, dass die Achse mit einem Kommando dieser Corefunction belegt ist. |
ReadyState | BOOL | Get, Set | Die Corefunction ist betriebsbereit, aber zu diesem Zeitpunkt nicht kommandierbar. Mögliche Gründe sind: |
Methoden
Name | Beschreibung |
---|---|
[ | Diese Methode wird zyklisch von der Achse aufgerufen. |
FB_Ptp | |
Das angegebene Segment wird mit den Achsparametern verglichen. | |
Die Ausführung wird ausgelöst. | |
Ein Segment der Clamping-Tabelle wird zurückgelesen. | |
Ein Segment der Stützstellentabelle wird zurückgelesen. | |
Ein Segment der Stützstellentabelle wird zurückgelesen. | |
InvalidateClampPoint() | Alle Segmente in der Clamping-Tabelle werden als ungültig markiert. |
InvalidateTable() | Alle Segmente in der Stützstellentabelle werden als ungültig markiert. |
Ein Segment der Clamping-Tabelle wird definiert. | |
Ein Segment der Stützstellentabelle wird definiert. | |
Die Zielposition des Segments wird verändert, nachdem es definiert wurde. |
Schnittstellen
Typ | Beschreibung |
---|---|
I_Corefunction | Standardschnittstelle auf FB_Corefunction. |
I_Ptp | Standardschnittstelle auf FB_Ptp. |
I_CorefunctionFeedback | Standardschnittstelle auf FB_CorefunctionFeedback. |
Beispiel:
CASE nState OF
0: // define 2 example points
stLookupPtpPoint.Position := 100.0; // [mm]
stLookupPtpPoint.Velocity := 20.0; // [mm/s]
stLookupPtpPoint.Valid := TRUE; // validate point
// assign first point
IF FAILED(iAxisBase.Ptp.SetPoint(1, stLookupPtpPoint)) THEN
nState := -1;
END_IF
stLookupPtpPoint.Position := 20.0; // [mm]
stLookupPtpPoint.Velocity := 30.0; // [mm/s]
// assign second point
IF FAILED(iAxisBase.Ptp.SetPoint(2, stLookupPtpPoint)) THEN
nState := -1;
END_IF
// send the axis to travel
IF FAILED(iAxisBase.Ptp.DoMove(TRUE)) THEN
nState := -1;
ELSIF nState >= 0 THEN
nState := nState + 1;
END_IF
1: // observe the movement
IF iAxisBase.Ptp.FailedState THEN
nState := -1;
ELSIF iAxisBase.Ptp.DoneState THEN
nState := nState + 1;
END_IF
2, // done
-1: // error
iAxisBase.Ptp.DoMove(FALSE);
END_CASE
Voraussetzungen
Entwicklungsumgebung | Zielplattform | Einzubindende SPS-Bibliotheken |
---|---|---|
TwinCAT v3.1.4024.35 | PC oder CX (x64, x86) | Tc3_PlasticFunctions v3.12.4.26 oder höher |