FC_CSplineFromArray - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab |
SystemInterface_1.32.6.0 |
Versionen: |
Aktuelle Version |
Aus einer Stützpunkttabelle Koeffizienten für eine Kurve berechnen
Die Funktion ist eine Verbesserung der Funktion FC_CSplineFromFile():
oSie bezieht ihre Stützpunkte aus Arrays und legt selbst ein Profil an, dessen Profil-ID sie zurückgibt. Die für FC_CSplineFromFile() erforderlichen, zeitaufwändigen Dateioperationen entfallen komplett, was die Funktion FC_CSplineFromArray() schneller macht.
oDie Einschränkung auf äquidistante Stützpunkte wurde entfernt.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
diSplineType |
DINT |
o0 -> Natürlicher Spline. o1 -> Spline mit Vorgabe der Randableitungen. o2 -> Periodischer Spline. |
i_diNumOfPoints |
DINT |
Anzahl der Stützpunkte (>= 3, <= 10000). |
i_lrStartSlope |
LREAL |
Linke Randsteigung (nur bei diSplineType = 1 relevant). |
i_lrEndSlope |
LREAL |
Rechte Randsteigung (nur bei diSplineType = 1 relevant). |
i_plrXList |
POINTER TO LREAL |
Zeiger auf Array der X-Koordinaten. Ist i_plrXList = 0, so wird mit äquidistanten Stützpunkten gerechnet, die gleichmäßig über das Intervall [0,1] verteilt sind. |
i_plrYList |
POINTER TO LREAL |
Zeiger auf Array der Y-Koordinaten |
Datentyp |
Beschreibung |
---|---|
DINT |
>0: Profil-ID des Profils. -1: i_diNumOfPoints liegt außerhalb des zulässigen Bereichs von 3 bis 10000. -2: CSpline-Gleichungssystem singulär. -4: Ungültiger Spline-Typ. -9: Es steht nicht genügend Speicher zur Verfügung -10: Liste von X-Werten ist nicht aufsteigend sortiert. -11: Keine gültige Liste von Y-Werten (z. B. Zeiger = NULL). -12: Profiltabelle ist voll. |
diProfileId := FC_CSplineFromArray(
i_diSplineType := 1,
i_diNumOfPoints := 10,
i_lrStartSlope := 0.0,
i_lrEndSlope := 0.0,
i_plrXList := ADR(X[0]),
i_plrYList:=ADR(Y[0]) );