LGF_FloatingAverage (FB / V3.0.2)


Autor: Siemens Digital Industry

Kurzbeschreibung

Diese Funktion berechnet aus REAL-Werten einen gleitenden arithmetischen Mittelwert. Diese Methode kann zur Glättung von Datenreihen verwendet werden. Die Werte können zyklisch oder getriggert eingelesen werden.

Baustein Schnittstelle

LGF_FloatingAverage (FB)
Bool  cyclicExecution average  LReal
    
Bool  trigger windowSizeReached  Bool
    
LReal  value error  Bool
    
Int  windowSize status  Word
    
Bool  reset   
    
   

Input Parameter

BezeichnerDatentypDefault WertBeschreibung
cyclicExecutionBoolfalseTRUE: Zyklisches Einlesen, trigger nicht verwendet
triggerBoolFALSEEinlesen von `value` bei jedem Impuls am Eingang `trigger`
valueLReal0.0Wert/e, aus welchen der gleitende Mittelwert bestimmt werden soll.
windowSizeInt100Fensterlänge für die gleitende Mittelung im Bereich von 1..100.
Der Standardwert ist 100.
resetBoolFALSETRUE: Der Baustein wird zurückgesetzt und die Berechnung beginnt erneut.

Output Parameter

BezeichnerDatentypBeschreibung
averageLRealGleitender Mittelwert
windowSizeReachedBoolFALSE: Maximale noch nicht Fensterbreite erreicht,
TRUE: Maximale Fensterbreite erreicht
errorBoolFALSE: Kein Fehler
TRUE: Während der Ausführung des FB ist ein Fehler aufgetreten
statusWord16#0000-16#7FFF: Status des FB
16#8000-16#FFFF: Fehleridentifikation (siehe folgende Tabelle)

Status & Error Meldungen

Code / WertBezeichner / Beschreibung
16#0000STATUS_FINISHED_NO_ERROR
Status: Abarbeitung ohne Fehler beendet
16#8200ERR_WRONG_WINDOW_SIZE
Fehler: Falsche Fensterbreite gesetzt. Stellen Sie einen Wert zwischen 1 und 100 ein.

Funktionsbeschreibung

Hinweis
Der Baustein LGF_FloatingAverage führt keine Datentypabfrage für den Eingangsparameter value durch. Bei anderen Datentypen als REAL wird entweder automatisch eine implizite Konvertierung durchgeführt oder ein Fehler beim Übersetzen generiert.
Weitere Informationen finden Sie im Kapitel "Übersicht über die Datentyp-konvertierung" in der Online Hilfe des TIA Portals oder unter:
https://support.industry.siemens.com/cs/ww/de/view/109773506/100611494667

Der Baustein berechnet den (gleitenden) Mittelwert anhand der eingestellten Fensterbreite. Die Fensterbreite gibt die maximale Anzahl der zuletzt eingelesenen Werte an. Nachdem die maximale Anzahl an Werten eingelesen wurde, wird der Ausgang windowSizeReached gesetzt und jeder neu eingelesene Wert ersetzt den jeweils ältesten Wert (FIFO-Prinzip).

Für das Einlesen der Werte stehen zwei Möglichkeiten zur Verfügung. Mit dem Eingangs cyclicExecution werden die Werte zyklisch eingelesen und berechnet. Mit dem Eingang trigger werden die Werte bei jedem Impuls eingelesen und berechnet.

Änderungshistorie

Version & DatumÄnderungsbeschreibung
01.00.00Siemens Industry Online Support
16.06.2016First released version
01.00.01Siemens Industry Online Support
02.01.2017Upgrade: TIA Portal V14 Update 1
01.01.00Siemens Industry Online Support
21.02.2017Adding variable window size for calculation
Optimizing calculation algorithm
01.01.01Siemens Industry Online Support
17.08.2018Upgrade: TIA V15 Update 2
01.01.02Siemens Industry Online Support
23.11.2018Upgrade: TIA V15.1
01.01.03Simatic Systems Support
07.11.2019Code refactoring, comments added
03.00.00Simatic Systems Support
23.04.2020Set version to V3.0.0, harmonize the version of the whole library
03.00.01Simatic Systems Support
16.06.2020refactor and simplify code
03.00.02Simatic Systems Support
06.04.2021Insert documentation