FB_EllipticSpline - CalcHalfSpline (Methode)
Typ: |
Methode |
Verfügbar ab: |
V1.4.1.0 |
Dieses Kapitel enthält Informationen zu folgenden Aspekten:
Berechnen von Kurvenpunkten für eine elliptische Kurve.
Auf der Grundlage der Eingänge i_stStart und i_stTarget und des Werts der Eigenschaft udiNumberOfSplinePoints berechnet diese Methode eine Positionstabelle für eine Kurveninterpolation im dreidimensionalen Raum. Die Verfahrbewegung entlang dieser Positionen kann mit dem Fahrbefehl IF_RobotMotion.MoveS realisiert werden. Eine Positionstabelle wird von der Startposition bis zur Zielposition sowie von der Zielposition bis zur Startposition berechnet. Dazu wird immer ein ellipsenförmiger Halbast berechnet: von der Startposition hinunter oder bis zur Zielposition.
Halbe Kurve von der Startposition bis zur Zielposition:
Halbe Kurve von der Startposition bis hinunter zur Zielposition:
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_stStart |
Startposition in kartesischen Koordinaten Wertebereich: i_stStart.lrX / lrY <> i_stTarget.lrX / lrY |
|
i_stTarget |
Zielposition in kartesischen Koordinaten Wertebereich: i_stStart.lrX / lrY <> i_stTarget.lrX / lrY |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_etDiag |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
Bausteinspezifischer Ausgang zur Diagnose. q_etDiag = ET_Diag.Ok -> Statusmeldung q_etDiag <> ET_Diag.Ok -> Diagnosemeldung |
|
q_sMsg |
STRING[80] |
Ereignisabhängige Meldung, die zusätzliche Informationen über den Diagnosezustand gibt. |
q_stForward |
Berechnete Kurventabelle von der Start- bis zur Endposition. |
|
q_stReverse |
Berechnete Kurventabelle von der End- bis zur Startposition. |
|
q_lrSplineLength |
LREAL |
Resultierende Länge der linearen Verbindungen zwischen den Kurvenpunkten der elliptischen Kurve. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
0 |
Ok |
|
InputParameterInvalid |
165 |
Die Höhen sind identisch. |
|
InputParameterInvalid |
163 |
Die Positionen sind identisch. |
|
InputParameterInvalid |
89 |
Die Anzahl der Kurvenpunkte ist außerhalb des Bereichs. |
Enumerationsname: |
IdenticalHeight |
Enumerationswert: |
165 |
Beschreibung: |
Die Höhen sind identisch. |
Problem |
Ursache |
Lösung |
---|---|---|
Die Berechnung der elliptischen Kurve war nicht erfolgreich. |
Die kartesische Komponente Z der Startposition (i_stStart) und der Zielposition (i_stTarget) ist in einem Bereich von 0,001 identisch. |
Darauf achten, dass die Werte nicht wechselseitig identisch sind. |
Enumerationsname: |
IdenticalPosition |
Enumerationswert: |
163 |
Beschreibung: |
Die Positionen sind identisch. |
Problem |
Ursache |
Lösung |
---|---|---|
Die Berechnung der elliptischen Kurve war nicht erfolgreich. |
Die kartesischen Komponenten X und Y der Startposition (i_stStart) und der Zielposition (i_stTarget) sind in einem Bereich von 0,001 identisch. |
Darauf achten, dass beide Werte nicht wechselseitig identisch sind. |
Enumerationsname: |
NumberOfSplinePointsRange |
Enumerationswert: |
89 |
Beschreibung: |
Die Anzahl der Kurvenpunkte ist außerhalb des Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
Die Berechnung der elliptischen Kurve war nicht erfolgreich. |
Der bei der Eigenschaft udiNumberOfSplinePoints übergebene Wert liegt außerhalb des gültigen Bereichs. |
Darauf achten, dass udiNumberOfSplinePoints größer oder gleich 3 ist. Darauf achten, dass udiNumberOfSplinePoints kleiner oder gleich 98 ist. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
Ok |
Die Berechnung der elliptischen Kurve war erfolgreich.