# LGF_SimpleSmoothingFC (FC / V3.0.1)

Autor: Siemens Digital Industry

## Kurzbeschreibung

Die Funktion berechnet den linearen Mittelwert azyklisch.

Die einfachste Form der Glättung einer Messwertfolge ist die Berechnung des linearen Mittelwerts durch drei Punkte.

Die Funktion liest ein Array ein, das geglättet wird. Aus N-Messwerten lassen sich N-2 geglättete Messwerte berechnen. Daher enthält das Ausgabe-Array im Index (0) und Index (N) den Wert 0.

### Baustein Schnittstelle

| LGF_SimpleSmoothingFC (FC) |
--- | --- | ---
|  |  |  |  | Ret_Val |  |  | Void
|  |  |  |  | error |  |  | Bool
|  |  |  |  | status |  |  | Word
Array[*] of LReal |  |  | values |  |  | Array[*] of LReal
Array[*] of LReal |  |  | smoothedValues |  |  | Array[*] of LReal

### Output Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
Ret_Val | Void | Void - Funktion hat keinen Rückgabewert
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)

### In/Out Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
values | Array[*] of LReal | Werte, die in die Glättung eingehen sollen.
smoothedValues | Array[*] of LReal | Die geglätteten Werte.

### Status & Error Meldungen

Code / Wert | Bezeichner / Beschreibung
--- | ---
16#0000 | STATUS_FINISHED_NO_ERROR Status: Abarbeitung ohne Fehler beendet
16#8400 | ERR_NOT_ENOUGH_VALUES Fehler: Nicht genug Werte. Der Baustein benötigt drei (3) Werte, um einen geglätteten Wert zu berechnen. Vergrößern Sie das Array am Eingangsparameter `values`. Passen Sie das Array am Ausgangsparameter `smoothedValues` an die neue Größe an.
16#8401 | ERR_ARRAY_DIFFERENT Fehler: Die Arraygrößen sind nicht gleich. Die Arrays `values` und `smoothedValues` müssen die gleiche Größe besitzen.

## Funktionsbeschreibung

Die Funktion berechnet die geglätteten Werte mit der folgenden Formel:

\overline{y(n)} = \frac{y(n-1) + y(n) + y(n+1)}{3}

Der berechnete Wert wird bzw. die berechneten Werte werden am Ausgang `smoothedValue` ausgegeben.

Aufgrund dieser Formel kann die Funktion keine Werte für die Elemente 0 und N berechnen.

## Änderungshistorie

Version & Datum | Änderungsbeschreibung
--- | ---
| 01.00.00 | Siemens Industry Online Support
| 23.11.2018 | First released version
| 01.00.01 | Simatic Systems Support
| 15.11.2019 | Regions, comments and constants are added
| 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
| 06.04.2021 | Insert documentation