FC_CSplineFromFile

 

FC_CSplineFromFile - Allgemeine Informationen

Übersicht

Typ

Funktion

Verfügbar ab

SystemInterface_1.32.6.0

Versionen:

Aktuelle Version

Aufgabe

Aus einer Stützpunkttabelle Koeffizienten für eine Kurve berechnen

Beschreibung

Die Funktion berechnet aus einer Stützpunkttabelle die Koeffizienten für eine kubische Spline-Interpolation in der Steuerung. Die kubische Spline-Interpolation gewährleistet eine ruckfreie Beschleunigung, unabhängig von der Anzahl der Stützpunkte. Ein Stützpunkt besteht nur aus dem Y-Wert. Die X-Werte werden als äquidistant vorausgesetzt und vom System selbst berechnet.

Die Übergabe der Stützpunkte und einiger Zusatzinfo geschieht über das i_sInFile, das vorher erzeugt werden muss.

Die Ausgabe der Koeffizienten erfolgt durch FC_CSplineFromFile in das i_sOutFile.

Die Datei "InFile.dat" wird mit Hilfe der IEC-Dateidienste erzeugt. Inhalt der Datei:

Bedeutung

Datentyp

Bereich

Version

DINT

0

Type

DINT

0 ... 2

Left boundary slope

LREAL

-unendlich bis +unendlich

Right boundary slope

LREAL

-unendlich bis +unendlich

Cam points (Y values)

LREAL

YFactor sollte auf 1,0 normiert sein

Die zu interpolierenden Daten können wahlweise in einer Binärdatei oder einer ASCII-Datei bereitgestellt werden. Soll die Eingabe aus einer ASCII-Datei erfolgen, muss diese die Erweiterung *.asc haben. Alle anderen Dateien werden als Binärdateien interpretiert.

oVersion

Die Version der Stützpunktdatei muss momentan 0 sein.

oType in der Eingabedatei

Es kann zwischen drei Spline-Typen gewählt werden:

oSpline-Typ = 0

Natürlicher Spline (sekundäre Ableitungen in den Randpunkten = 0)

oSpline-Typ = 1

Vorgabe der Ableitungen in den Randpunkten (wie FC_CSplineFromFile())

oSpline-Typ = 2

Periodische Spline

oLeft boundary slope

Wert der Ableitung im Startpunkt. Dieser Wert wird bei Spline-Typ 0 (natürlicher Spline) und 2 (periodischer Spline) ignoriert.

oRight boundary slope

Wert der Ableitung im Endpunkt. Dieser Wert wird bei Spline-Typ 0 (natürlicher Spline) und 2 (periodischer Spline) ignoriert.

oCam points

Werte müssen auf -1,0 bis +1,0 normalisiert werden. Die Anzahl der CAM-Punkte kann zwischen 3 und 10.000 Werten variieren.

Schnittstelle

Eingang

Datentyp

Beschreibung

i_sInFile

STRING[80]

Name der Eingabedatei (*.dat oder *.asc)

(Höchstanzahl an Zeichen = 8 + Dateinamenerweiterung, z. B. abcdefgh.dat)

i_sOutFile

STRING[80]

Name der Ausgabe(/Koeffizient)datei (*.pp3)

(Höchstanzahl an Zeichen = 8 + Dateinamenerweiterung, z. B. abcdefgh.dat)

Rückgabewert

Datentyp

Beschreibung

DINT

0: OK.

-1: Anzahl Stützpunkte >10.000 oder <3.

-2: Polstelle in Funktion.

-3: Datei konnte nicht geöffnet werden.

-4: Ungültiger Typ.

-5: Fehler im Header.

-6: Parameter überschreitet Grenzwert.

-7: Systemfehler erkannt.

-8: Dateiname zu lang.

-9: Es steht nicht genügend Speicher zur Verfügung

Beispiele

FC_CSplineFromFile( i_sInFile:='Kurve1', i_sOutFile:='Kurve1' );

FC_CSplineFromFile( i_sInFile:='Kurve1.asc', i_sOutFile:='Kurve1' );