Diese Funktion skaliert eine Eingangsgröße (LReal
) über eine lineare Geradengleichung.
LGF_ScaleLinear (FC) | ||||||||
---|---|---|---|---|---|---|---|---|
LReal | x | Ret_Val | LReal | |||||
LReal | x1 | error | Bool | |||||
LReal | y1 | status | Word | |||||
LReal | x2 | |||||||
LReal | y2 | |||||||
LReal | yMin | |||||||
LReal | yMax | |||||||
Bezeichner | Datentyp | Beschreibung |
---|---|---|
x | LReal | Eingangswert `x` der skaliert werden soll. |
x1 | LReal | Punkt 1 (P1) - `x` Koordinate der linearen Funktion. |
y1 | LReal | Punkt 1 (P1) - `y` Koordinate der linearen Funktion. |
x2 | LReal | Punkt 2 (P2) - `x` Koordinate der linearen Funktion. |
y2 | LReal | Punkt 2 (P2) - `y` Koordinate der linearen Funktion. |
yMin | LReal | Unterer Grenzwert des Ausgangs. |
yMax | LReal | Oberer Grenzwert des Ausgangs. |
Bezeichner | Datentyp | Beschreibung |
---|---|---|
Ret_Val | LReal | Skalierter Ausgangswert `y` |
error | Bool | FALSE: Kein Fehler TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten |
status | Word | 16#0000-16#7FFF: Status des FB 16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle) |
Code / Wert | Bezeichner / Beschreibung |
---|---|
16#0000 | STATUS_FINISHED_NO_ERROR Status: Abarbeitung ohne Fehler beendet |
16#6001 | WARN_Y_LIMITED_TO_YMIN Warnung: Ausgabewert auf `yMin` begrenzt |
16#6002 | WARN_Y_LIMITED_TO_YMAX Warnung: Ausgabewert auf `yMax` begrenzt |
16#8200 | ERR_LOW_LIM_OVER_UP_LIM Fehler: Unterer Grenzwert `yMin` ist größer als oberer Grenzwert `yMax`. |
Die Funktion skaliert eine Eingangsgröße (z. B. ein Analogeingangswert) linear auf eine bestimmte Ausgangsgröße (z. B. Füllstand).
Zur Bestimmung der Ausgangsgröße wird in der Funktion folgende lineare Geradengleichung angewendet:
x = \frac{y_2 - y_1}{x_2 - x_1} * (x - x_1) + y_1Die Gerade wird durch die zwei Punkte, P1 und P2, beschrieben. Die Punkte geben Sie im Sinne eines kartesischen Koordinatensystems durch x- und y-Koordinaten vor.
x1
und x2
gleich sind, wird am Ausgang y
der Wert von y1
ausgegeben.Mit der Angabe von yMin
und yMax
können Sie den berechneten Wert von y
auf einen unten und oben begrenzten Bereich einschränken. Somit vermeiden Sie Über- und Untersteuerungsbereiche.
Abbildung: Graphische Darstellung
An einer Analogeingangsbaugruppe liegt ein Signal von 4 bis 20mA an. Dieses Signal wird zu dem CPU-internen Wert von 0 bis 27648 gewandelt, um einen Füllstand zu messen. Dabei entsprechen 0 dem Füllstand 0,0m und 27648 dem Füllstand 1,7m.
Den Baustein müssen Sie dann wie folgt parametrieren:
Version & Datum | Änderungsbeschreibung | |
---|---|---|
01.00.00 | Siemens Industry Online Support | |
27.01.2017 | First released version | |
01.00.01 | Siemens Industry Online Support | |
17.08.2018 | Upgrade: TIA V15 Update 2 | |
01.00.02 | Siemens Industry Online Support | |
23.11.2018 | Upgrade: TIA V15.1 | |
02.00.00 | Simatic Systems Support | |
25.01.2019 | Data type changed from Variant to LReal | |
02.00.01 | Simatic Systems Support | |
25.06.2019 | Standard header and block parameters update, status parameter added LReal value comparison added Result parameter changed to return value of FC for use in SCL Warning number changed to range of 16#6xxx refactor variable handling and extract returns in between the code add ENO handling | |
03.00.00 | Simatic Systems Support | |
23.04.2020 | Set version to V3.0.0 harmonize the version of the whole library | |
03.00.01 | Simatic Systems Support | |
12.11.2020 | Insert documentation Move to folder "Math operations" |