FC_FourierPartialSum - Allgemeine Informationen
Typ |
Funktion |
Verfügbar ab: |
V1.0.3.0 |
Versionen: |
Aktuelle Version |
Berechnung einer Fourier-Partialsumme.
Berechnet den Wert einer endlichen Fourier-Partialsumme. Die Voraussetzung hierfür ist, dass zuvor die Fourier-Koeffizienten bis zu einem hinreichend großen Index mit der Funktion FC_FourierCoefficients berechnet wurden.
Die Fourier-Partialsumme zur Funktion f bis zum Index N hat folgende Gestalt (zur Definition der Fourier-Koeffizienten siehe FC_FourierCoefficients):
Unter geeigneten Voraussetzungen für die Funktion f approximiert Sf, N diese für hinreichend großes N beliebig gut.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_lrXPeriod |
LREAL |
Periode der Funktion / Länge des Definitionsbereichs |
i_diMaxIndex |
DINT |
Index, bis zu dem die Fourier-Partialsumme berechnet werden soll (oben benannt als N ). Die Fourier-Koeffizienten müssen zuvor mindestens bis zu diesem Index mit der Funktion FC_FourierCoefficients berechnet worden sein. |
i_plrFourierCoefficientsA |
POINTER TO LREAL |
Zeiger auf Beginn des Arrays mit Fourier-Koeffizienten A, die zuvor mit der Funktion FC_FourierCoefficients berechnet wurden. |
i_plrFourierCoefficientsB |
POINTER TO LREAL |
Zeiger auf Beginn des Arrays mit Fourier-Koeffizienten B, die zuvor mit der Funktion FC_FourierCoefficients berechnet wurden. |
i_lrXValue |
LREAL |
X-Wert, für den die Fourrier-Partialsumme berechnet werden soll. |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_etDiag |
Allgemeingültige, bibliotheksunabhängige Aussage zur Diagnose. Ein Wert ungleich ET_Diag.Ok entspricht einer Diagnosemeldung. |
|
q_etDiagExt |
POU-spezifischer, diagnosebezogener Ausgang. q_etDiag = ET_Diag.Ok -> Statusmeldung q_etDiag <> ET_Diag.Ok -> Diagnosemeldung |
|
q_lrFourierPartialSum |
LREAL |
Berechneter Wert der Fourier-Partialsumme an der Stelle i_lrXValue. |
q_etDiag |
q_etDiagExt |
Enumerationswert |
Beschreibung |
---|---|---|---|
OK |
0 |
OK |
|
InputParameterInvalid |
61 |
MaxIndex ist außerhalb des gültigen Bereichs. |
|
InputParameterInvalid |
62 |
Der Zeiger VourierCoefficientsA ist ungültig. |
|
InputParameterInvalid |
63 |
Der Zeiger VourierCoefficientsB ist ungültig. |
|
InputParameterInvalid |
58 |
XPeriod ist außerhalb des gültigen Bereichs. |
Enumerationsname: |
MaxIndexRange |
Enumerationswert: |
61 |
Beschreibung: |
MaxIndex ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_diMaxIndex wurde ein ungültiger Wert angelegt. |
Dem Eingang i_diMaxIndex muss ein Wert größer oder gleich 0 übergeben werden. |
Enumerationsname: |
Ok |
Enumerationswert: |
0 |
Beschreibung: |
OK |
Die Partialsumme wurde erfolgreich berechnet.
PointerFourierCoefficientsAInvalid
Enumerationsname: |
PointerFourierCoefficientsAInvalid |
Enumerationswert: |
62 |
Beschreibung: |
Der Zeiger VourierCoefficientsA ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_plrFourierCoefficientsA wurde ein ungültiger Wert angelegt. |
Dem Eingang i_plrFourierCoefficientsA, muss ein Wert ungleich 0 übergeben werden. |
PointerFourierCoefficientsBInvalid
Enumerationsname: |
PointerFourierCoefficientsBInvalid |
Enumerationswert: |
63 |
Beschreibung: |
Der Zeiger VourierCoefficientsB ist ungültig. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_plrFourierCoefficientsB wurde ein ungültiger Wert angelegt. |
Dem Eingang i_plrFourierCoefficientsB muss ein Wert ungleich 0 übergeben werden. |
Enumerationsname: |
XPeriodRange |
Enumerationswert: |
58 |
Beschreibung: |
XPeriod ist außerhalb des gültigen Bereichs. |
Problem |
Ursache |
Lösung |
---|---|---|
- |
Am Eingang i_lrXPeriod wurde eine Zahl kleiner als Gc_lrZeroTolerance angelegt. |
i_lrXPeriod muss größer sein als 0. |