Die Funktion ist eine Verbesserung der Funktion FC_CSplineFromFile():
Sie 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 Dateivorgänge entfallen komplett, wodurch die Funktion FC_CSplineFromArray() schneller wird.
Die Einschränkung auf äquidistante Stützpunkte wurde entfernt.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
diSplineType |
DINT |
|
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. |