# LGF_SimpleSmoothingFB (FB / V3.0.1)

Autor: Siemens Digital Industry

## Kurzbeschreibung

Die Funktion berechnet den linearen Mittelwert zyklisch.Die einfachste Form der Glättung einer Messwertfolge ist die Berechnung des linearen Mittelwerts durch drei Punkte.Der Funktionsbaustein liest mit jeder positiven Flanke am Eingang `insert` einen Wert ein. Sobald drei Werte eingelesen wurden, berechnet der Baustein einen geglätteten Wert und gibt diesen aus.

### Baustein Schnittstelle

| LGF_SimpleSmoothingFB (FB) |
--- | --- | ---
Bool |  |  | enable |  | smoothedValue |  |  | LReal
Bool |  |  | insert |  | error |  |  | Bool
LReal |  |  | value |  | status |  |  | Word

### Input Parameter

Bezeichner | Datentyp | Default Wert | Beschreibung
--- | --- | --- | ---
enable | Bool | FALSE | Aktiviert den Baustein. Solange enable `TRUE` ist, kann der Baustein Werte am Parameter `value` übernehmen.
insert | Bool | FALSE | Übernimmt bei einer positiven Flanke den Wert am Eingang `value` und gibt einen `smoothedValue` aus, wenn drei Werte eingelesen wurden.
value | LReal | 0.0 | Wert, der in die Glättung eingehen sollen.

### Output Parameter

Bezeichner | Datentyp | Beschreibung
--- | --- | ---
smoothedValue | LReal | Die geglätteten Werte.
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)

### Status & Error Meldungen

Code / Wert | Bezeichner / Beschreibung
--- | ---
16#7000 | STATUS_NO_CALL Status: Kein Aufruf. Der Baustein wartet auf die Aktivierung durch den Parameter `enable`.
16#7001 | STATUS_FIRST_CALL Status: Erstaufruf des FB nach einschalten
16#7002 | STATUS_SUBSEQUENT_CALL Status: Die Bearbeitung ist aktiv. Nachfolgender Aufruf des FB.
16#7010 | STATUS_NOT_ENOUGH_VALUES Status: Nicht genug Werte. Der Baustein benötigt drei (3) Werte, um einen geglätteten Wert zu berechnen. Übergeben Sie weitere Werte mit einer positiven Flanke am Eingang `insert`.

## 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.03 | Simatic Systems Support
| 05.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