L_USPP_Curve
Dieser FB stellt eine Kennlinien- oder Kurvenfunktion y = f(x) dar, wobei das Eingangssignal der X-Achse und das Ausgangssignal der Y-Achse entspricht.
Die Kennlinie kann aus bis zu 9 Stützpunkten bestehen, die mittels Eingängen definiert werden.
Zwischen den Stützpunkten wird linear interpoliert.
Die Kennlinie kann über den ganzen Wertebereich eingegeben werden. Durch Auswahl des entsprechenden Kennlinienmodus in dwMode lässt sich die Kennlinie auch symmetrisch zur Y-Achse oder symmetrisch zum Nullpunkt gestalten.
|
|
|
|
L_USPP_Curve |
|
|
|
|
|---|---|---|---|---|---|---|---|
|
LREAL |
- |
|
lrIn |
lrOut |
|
- |
LREAL |
|
DWORD |
- |
|
dwMode |
xError |
|
- |
BOOL |
|
ARRAY [1...9] OF LREAL |
- |
|
alrXValues |
eErrorID |
|
- |
L_IE1P_Error |
|
ARRAY [1...9] OF LREAL |
- |
|
alrYValues |
|
|
|
|
|
|
|
|
|
|
|
|
|
Eingänge
|
Name Datentyp |
Info/Einstellmöglichkeiten |
|
|---|---|---|
|
lrIn LREAL |
Eingangssignal |
|
|
dwMode DWORD |
Kennlinienmodus |
|
|
0 |
Gesamter Bereich (Initialisierung) |
|
|
1 |
Symmetrisch zur Y-Achse |
|
|
2 |
Symmetrisch zum Nullpunkt |
|
|
alrXValues ARRAY [1...9] OF LREAL |
X-Werte der Kennlinienfunktion
|
|
|
alrYValues ARRAY [1...9] OF LREAL |
Y-Werte der Kennlinienfunktion
|
|
Ausgänge
|
Name Datentyp |
Wert/Bedeutung |
|
|---|---|---|
|
lrOut LREAL |
Ausgangssignal |
|
|
xError BOOL |
TRUE |
Es ist ein Fehler aufgetreten. Details siehe eErrorID . |
|
eErrorID L_IE1P_Error |
Wenn xError = TRUE: Fehlernummer zum aufgetretenen Fehler.
|
|
Vorgabe der Kennlinie
Die Kennlinie kann aus bis zu 9 Stützpunkten bestehen, die mittels der Arrays von alrXValues und alrYValues definiert werden.
Die gleichen Array-Nummern von alrXValues[n] und alrYValues[n] entsprechen einem Wertepaar/Stützpunkt (X n , Y n ).
Das erste Wertepaar ( alrXValues[1] und alrYValues[1] ) ist immer gültig.
Die X-Werte der Kennlinie müssen aufsteigend sortiert eingegeben werden (X1 < X2 < ... < X9).
Wird die aufsteigende Kette der X-Werte unterbrochen, entspricht dies dem Ende der Kennlinie (siehe folgende Beispiele).
Ausgehend von den letzten gültigen Wertepaaren wird beidseitig extrapoliert.
In den Kennlinienmodi 1 und 2 wird nur der Bereich der eingegebenen Kennlinie in den Quadranten I. und IV. verwendet.
Kennlinienmodus 0: Gesamter Bereich
Ist in dwMode die Auswahl "Gesamter Bereich" eingestellt, ist der gesamte Kennlinienbereich (Quadranten I...IV) gültig.
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|---|---|---|---|---|---|---|---|---|---|
|
x |
-140 % |
-90 % |
70 % |
130 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
y(x) |
-140 % |
-40 % |
120 % |
160 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
|||||||||
Beispiel: Kennlinie im Kennlinienmodus 0 (Gesamter Bereich)
Kennlinienmodus 1: Symmetrisch zur Y-Achse
Ist in dwMode die Auswahl "Symmetrisch zur Y-Achse" eingestellt, wird die resultierende Kennlinie in den Quadranten I. und IV. an der Y-Achse gespiegelt.
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|---|---|---|---|---|---|---|---|---|---|
|
x |
-140 % |
-90 % |
70 % |
130 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
y(x) |
-140 % |
-40 % |
120 % |
160 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
|||||||||
Beispiel: Kennlinie im Kennlinienmodus 1 (Symmetrisch zur Y-Achse)
Kennlinienmodus 2: Symmetrisch zum Nullpunkt
Ist in dwMode die Auswahl "Symmetrisch zum Nullpunkt" eingestellt, wird die resultierende Kennlinie in den Quadranten I. und IV. am Nullpunkt gespiegelt.
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|---|---|---|---|---|---|---|---|---|---|
|
x |
-140 % |
-90 % |
70 % |
130 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
y(x) |
-140 % |
-40 % |
120 % |
160 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
|||||||||
Beispiel: Kennlinie im Kennlinienmodus 2 (Symmetrisch zum Nullpunkt)
Sonderfälle
- Sprünge oder Unstetigkeiten können abgebildet werden, indem zwei aufeinanderfolgende X-Werte gleich parametriert werden. Ein Sprung ist nur gültig, wenn darauf ein gültiges Wertepaar existiert, ansonsten wird ausgehend vom letzten gültigen Wertepaar weiter extrapoliert.
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|---|---|---|---|---|---|---|---|---|---|
|
x |
-130 % |
-70 % |
-70 % |
80 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
y(x) |
-150 % |
-75 % |
85 % |
160 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
|||||||||
Beispiel: Kennlinie im Kennlinienmodus 0 (Gesamter Bereich) mit Sprung
- Wird nur eine Stützstelle X1 im negativen Bereich definiert, so existiertX2 mit der Standard- Einstellung '0 %' als gültige Stützstelle (X2 > X1) und es wird eine Gerade durch die beiden Stützstellen gebildet.
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|---|---|---|---|---|---|---|---|---|---|
|
x |
-130 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
y(x) |
40 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
|||||||||
Beispiel: Kennlinie im Kennlinienmodus 0 (Gesamter Bereich) mit nur einer definierten Stützstelle und X1 < 0
- Wird nur eine Stützstelle X1 im positiven Bereich definiert, so wird eine Gerade extrapoliert.
|
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
|---|---|---|---|---|---|---|---|---|---|
|
x |
120 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
y(x) |
40 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
0 % |
|
|||||||||
Beispiel: Kennlinie im Kennlinienmodus 0 (Gesamter Bereich) mit nur einer definierten Stützstelle und X1 > 0