Curve_20XY_Real_Real

Curve_20XY_Real_Real (FB)

FUNCTION_BLOCK Curve_20XY_Real_Real

Kurzbeschreibung

Eingabe von 20 Wertepaaren ( Stützstellen mit jeweils einem X- und Y-Wert ) Randbedingungen:\

  1. Die X-Werte müssen fortlaufend entweder streng ansteigend oder streng abfallend sein

  2. Jeder X-Wert darf nur einmal vorhanden sein

  3. Zwei benachbarte Stützstellen werden jeweils durch eine Gerade verbunden Typische Anwendung: Berechnung der Leistung einer Wärmepumpe in Abhängigkeit von der Aussentemperatur

Darstellung

Schnittstellen

Eingänge

Name
Datentyp
Wertebereich
Initialwert
Funktion

rInputValue

REAL

0

Aktueller Wert der Eingangsvariablen

Ausgänge

Name
Datentyp
Wertebereich
Initialwert
Funktion

rOutputValue

REAL

0.0

Aktueller Wert der Ausgangsvariablen

eOrderXValues

eCurve_20XY_Real_Real_Order

eCurve_20XY_Real_Real_Order.Invalid

Ordnung der X-Werte ( ansteigend / abfallend )

eError

eCurve_20XY_Real_Real_Error

eCurve_20XY_Real_Real_Error.No_Error

Fehlerursache

xError

BOOL

FALSE

Fehlerzustand ( TRUE = Fehler )

Sollwerte / Parameter

Name
Datentyp
Wertebereich
Initialwert
Funktion

rOutputValue_Subst

REAL

-1000

Ersatzwert der Ausgangsvariablen im Fehlerfall

rOutputValue_Min

REAL

0

Absoluter minimaler Wert der Ausgangsvariablen

rOutputValue_Max

REAL

100

Absoluter maximaler Wert der Ausgangsvariablen

rSP1_X

REAL

1

Stützstelle 1 - X-Wert

rSP1_Y

REAL

2

Stützstelle 1 - Y-Wert

rSP2_X

REAL

2

Stützstelle 2 - X-Wert

rSP2_Y

REAL

4

Stützstelle 2 - Y-Wert

rSP3_X

REAL

3

Stützstelle 3 - X-Wert

rSP3_Y

REAL

6

Stützstelle 3 - Y-Wert

rSP4_X

REAL

4

Stützstelle 4 - X-Wert

rSP4_Y

REAL

8

Stützstelle 4 - Y-Wert

rSP5_X

REAL

5

Stützstelle 5 - X-Wert

rSP5_Y

REAL

10

Stützstelle 5 - Y-Wert

rSP6_X

REAL

6

Stützstelle 6 - X-Wert

rSP6_Y

REAL

12

Stützstelle 6 - Y-Wert

rSP7_X

REAL

7

Stützstelle 7 - X-Wert

rSP7_Y

REAL

14

Stützstelle 7 - Y-Wert

rSP8_X

REAL

8

Stützstelle 8 - X-Wert

rSP8_Y

REAL

16

Stützstelle 8 - Y-Wert

rSP9_X

REAL

9

Stützstelle 9 - X-Wert

rSP9_Y

REAL

18

Stützstelle 9 - Y-Wert

rSP10_X

REAL

10

Stützstelle 10 - X-Wert

rSP10_Y

REAL

20

Stützstelle 10 - Y-Wert

rSP11_X

REAL

11

Stützstelle 11 - X-Wert

rSP11_Y

REAL

22

Stützstelle 11 - Y-Wert

rSP12_X

REAL

12

Stützstelle 12 - X-Wert

rSP12_Y

REAL

24

Stützstelle 12 - Y-Wert

rSP13_X

REAL

13

Stützstelle 13 - X-Wert

rSP13_Y

REAL

26

Stützstelle 13 - Y-Wert

rSP14_X

REAL

14

Stützstelle 14 - X-Wert

rSP14_Y

REAL

28

Stützstelle 14 - Y-Wert

rSP15_X

REAL

15

Stützstelle 15 - X-Wert

rSP15_Y

REAL

30

Stützstelle 15 - Y-Wert

rSP16_X

REAL

16

Stützstelle 16 - X-Wert

rSP16_Y

REAL

32

Stützstelle 16 - Y-Wert

rSP17_X

REAL

17

Stützstelle 17 - X-Wert

rSP17_Y

REAL

34

Stützstelle 17 - Y-Wert

rSP18_X

REAL

18

Stützstelle 18 - X-Wert

rSP18_Y

REAL

36

Stützstelle 18 - Y-Wert

rSP19_X

REAL

19

Stützstelle 19 - X-Wert

rSP19_Y

REAL

38

Stützstelle 19 - Y-Wert

rSP20_X

REAL

20

Stützstelle 20 - X-Wert

rSP20_Y

REAL

40

Stützstelle 20 - Y-Wert

Funktionsbeschreibung

Die Ausgangsvariable ‘rOutputValue’ wird zyklisch anhand der Eingangsvariablen ‘rInputValue’ und der mittels der 20 Stützstellen definierten Kennlinie berechnet, sofern kein Fehler vorliegt ( xError = FALSE ). Sie wird durch die einstellbaren absoluten Minimal- ( rOutputValue_Min ) und und Maximalwerte ( rOutputValue_Max ) begrenzt. Im Fehlerfall ( xError = TRUE ) wird an der Ausgangsvariablen ‘rOutputValue’ der fixe Ersatzwert ‘rOutputValue_Subst’ ausgegeben. Die X-Werte der 20 Stützstellen müssen folgenden Randbedingungen genügen: 1) Die X-Werte müssen fortlaufend entweder streng ansteigend oder streng abfallend sein 2) Jeder X-Wert darf nur einmal vorhanden sein 3) Zwei benachbarte Stützstellen werden jeweils durch eine Gerade verbunden Die Aktualisierung der Kennlinie erfolgt einmalig direkt nach der Initialisierung bzw. einmalig nach jeder Änderung der Stützstellen. Im Fehlerfall ( gleiche X-Werte, X-Werte nicht streng ansteigend / abfallend ) wird eine entsprechend Fehlerursache am Ausgang ‘eError’ dargestellt. Gleichzeitig wird an der Ausgangsvariablen ‘rOutputValue’ der fixe Ersatzwert ‘rOutputValue_Subst’ ausgegeben. Der Ausgang ‘xError’ ist aktiv ( = TRUE ), falls am Ausgang ‘eError’ ein Fehler signalisiert wird.\

Darstellung einer Beispiel-Kennlinie

CODESYS

InOut:

Scope
Name
Type
Initial

Input

rInputValue

REAL

0

Output

rOutputValue

REAL

0

Output

eOrderXValues

eCurve_20XY_Real_Real_Order

eCurve_20XY_Real_Real_Order.Invalid

Output

eError

eCurve_20XY_Real_Real_Error

eCurve_20XY_Real_Real_Error.No_Error

Output

xError

BOOL

FALSE

Input Const

rSP20_Y

REAL

40

Input Const

rSP20_X

REAL

20.0

Input Const

rSP19_Y

REAL

38.0

Input Const

rSP19_X

REAL

19.0

Input Const

rSP18_Y

REAL

36.0

Input Const

rSP18_X

REAL

18.0

Input Const

rSP17_Y

REAL

34.0

Input Const

rSP17_X

REAL

17.0

Input Const

rSP16_Y

REAL

32.0

Input Const

rSP16_X

REAL

16.0

Input Const

rSP15_Y

REAL

30.0

Input Const

rSP15_X

REAL

15.0

Input Const

rSP14_Y

REAL

28.0

Input Const

rSP14_X

REAL

14.0

Input Const

rSP13_Y

REAL

26.0

Input Const

rSP13_X

REAL

13.0

Input Const

rSP12_Y

REAL

24.0

Input Const

rSP12_X

REAL

12.0

Input Const

rSP11_Y

REAL

22.0

Input Const

rSP11_X

REAL

11.0

Input Const

rSP10_Y

REAL

20.0

Input Const

rSP10_X

REAL

10.0

Input Const

rSP9_Y

REAL

18.0

Input Const

rSP9_X

REAL

9.0

Input Const

rSP8_Y

REAL

16.0

Input Const

rSP8_X

REAL

8.0

Input Const

rSP7_Y

REAL

14.0

Input Const

rSP7_X

REAL

7.0

Input Const

rSP6_Y

REAL

12.0

Input Const

rSP6_X

REAL

6.0

Input Const

rSP5_Y

REAL

10.0

Input Const

rSP5_X

REAL

5.0

Input Const

rSP4_Y

REAL

8.0

Input Const

rSP4_X

REAL

4.0

Input Const

rSP3_Y

REAL

6.0

Input Const

rSP3_X

REAL

3.0

Input Const

rSP2_Y

REAL

4.0

Input Const

rSP2_X

REAL

2.0

Input Const

rSP1_Y

REAL

2.0

Input Const

rSP1_X

REAL

1.0

Input Const

rOutputValue_Max

REAL

100.0

Input Const

rOutputValue_Min

REAL

0.0

Input Const

rOutputValue_Subst

REAL

-1000.0

Zuletzt aktualisiert