FB_CSpline - PrepareVarDisX (Methode)
Typ |
Methode |
Verfügbar ab |
V1.0.0.0 |
Versionen: |
Aktuelle Version |
Erzeugung eines CSpline mit beliebigen (streng monoton zunehmenden) X-Werten.
Die Methode erzeugt anhand der übergebenen Listen i_plrXList und i_plrYList einen CSpline mit beliebigen (streng monoton ansteigenden) X-Werten.
HINWEIS: Zum Erzeugen eines CSpline sind 112 * (i_diNumberofPoints + 1) bytes dynamic memory erforderlich. Deshalb muss der Parameter Programm\DynIecDataSize der Steuerungskonfiguration richtig ausgewählt werden.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_etCSplineType |
Typ des zu erzeugenden CSpline. |
|
i_diNumberOfPoints |
DINT |
Anzahl der zu interpolierenden Wertepaare. Wertebereich: 3 .. Gc_diMaxNumberOfSplinePoints |
i_plrXList |
POINTER TO LREAL |
Zeiger auf das Array (Feld), das die X-Werte enthält. Das Array muss mindestens i_diNumberOfPoints Elemente enthalten, um Speicherzugriffsfehler zu vermeiden. |
i_plrYList |
POINTER TO LREAL |
Zeiger auf das Array (Feld), das die Y-Werte enthält. Dieses Array (Feld) muss mindestens i_diNumberOfPoints Elemente enthalten, um Speicherzugriffsfehler zu vermeiden. |
i_lrMstart |
LREAL |
Startpunkt der Steigung. Nur relevant für i_etSplineType := ET_CSplineType.Boundary |
i_lrMend |
LREAL |
Endpunkt der Steigung. Nur relevant für i_etSplineType := ET_CSplineType.Boundary |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_etDiag |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich GD.ET_Diag.Ok entspricht einer Fehlermeldung. |
|
q_etDiagExt |
ET_DiagExt |
POU-abhängiger Ausgang des Diagnosegeräts. q_etDiag = GD.ET_Diag.Ok -> Statusmeldung q_etDiag <> GD.ET_Diag.Ok -> Fehlermeldung |
q_sMsg |
STRING[80] |
Ereignisabhängige Meldung, die detaillierte Informationen zum Diagnosezustand liefert. |
q_etDiag |
q_etDiagExt |
Aufzählungswert |
Beschreibung |
---|---|---|---|
OK |
0 |
Ok |
|
ExecutionAborted |
59 |
Unzureichender dynamischer Speicher |
|
InputParameterInvalid |
64 |
CSpline Typ ist unbestimmbar. |
|
InputParameterInvalid |
58 |
NumberOfPoints ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
61 |
Der Zeiger auf XList ist ungültig. |
|
InputParameterInvalid |
62 |
Der Zeiger auf YList ist ungültig. |
|
InputParameterInvalid |
63 |
Der Spline hat schlechte numerische Werte. |
|
InputParameterInvalid |
60 |
XList ist nicht streng monoton zunehmend. |
Aufzählungsname: |
CSplineTypeUnknown |
Aufzählungswert: |
64 |
Beschreibung: |
CSpline Typ ist unbestimmbar. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der Wert am Eingang i_etCSplineType ist ungültig . |
i_etCSplineType muss mit einem Element aus ET_CSplineType zugewiesen werden. |
Aufzählungsname: |
InsufficientDynamicMemory |
Aufzählungswert: |
59 |
Beschreibung: |
Unzureichender dynamischer Speicher |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Es steht nicht genügend dynamischer Speicher zu Verfügung. |
Der Parameter DynIECDataSize in der Steuerungskonfiguration muss erhöht werden. |
Aufzählungsname: |
NumberOfPointsRange |
Aufzählungswert: |
58 |
Beschreibung: |
NumberOfPoints ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Dem Eingang i_diNumberOfPoints wurde eine ungültige Anzahl an Splinepunkten übergeben. |
Der Eingang i_diNumberOfPoints muss >= 3 und <= Gc_diMaxNumberOfSplinePoints sein. |
Aufzählungsname: |
Ok |
Aufzählungswert: |
0 |
Beschreibung: |
Ok |
Der CSpline mit beliebigen X-Werten wurde erfolgreich erzeugt.
Aufzählungsname: |
PointerXListInvalid |
Aufzählungswert: |
61 |
Beschreibung: |
Der Zeiger auf XList ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Dem Eingang i_plrXList wurde ein ungültiger Zeiger übergeben. |
Überprüfen Sie den Zeiger am Eingang i_plrXList. |
Aufzählungsname: |
PointerYListInvalid |
Aufzählungswert: |
62 |
Beschreibung: |
Der Zeiger auf YList ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Dem Eingang i_plrYList wurde ein ungültiger Zeiger übergeben. |
Überprüfen Sie den Zeiger am Eingang i_plrYList. |
Aufzählungsname: |
PoorNumericCondition |
Aufzählungswert: |
63 |
Beschreibung: |
Der Spline hat schlechte numerische Werte. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Der Abstand zwischen zwei Splinepunkten ist zu klein. |
Überprüfen Sie die Liste der Splinepunkte. |
Aufzählungsname: |
XListNotStrictlyMonotonic |
Aufzählungswert: |
60 |
Beschreibung: |
XList ist nicht streng monoton zunehmend. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Die übergebene Liste der X-Werte ist nicht streng monoton ansteigend. |
Sehen Sie sich den Ausgang q_sMsg an, um herauszufinden, um welchen der X-Werte es sich handelt. Prüfen Sie die Liste der X-Werte. |