FB_MovingAverage - Allgemeine Informationen
Typ |
Funktionsbaustein |
Verfügbar ab |
V1.0.7.0 |
Übernommen aus |
- |
Implementiert |
- |
Versionen: |
Aktuelle Version |
Gleitende Mittelwertbildung mit einstellbarer Anzahl der zu mittelnden Werte
Zahlenwerte vorm Typ LREAL werden in einen FIFO-Puffer eingetragen. Die Größe des FIFO-Puffers ist durch Gc_uiMovingAverageMaxOrder festgelegt.
Zunächst muss der Puffer mit der Methode Init initialisiert werden. Dadurch wird festgelegt, über wie viele Werte ein Mittelwert gebildet werden soll (die Einstellung kann über die Eigenschaft uiOrder abgefragt werden). Wenn weniger Werte als die Befehlseinstellung in den Puffer eingetragen werden, dann wird der Mittelwert nur über die eingetragenen Werten gebildet.
Die Anzahl der zu mittelnden Werte kann im laufenden Betrieb über die Methode SetOrder geändert werden. Dabei gehen bereits eingetragene Werte im Puffer nicht verloren, werden also bei einer Vergrößerung der Anzahl zu mittelnder Werte weiter mit berücksichtigt.
Der Mittelwert gemäß den angegebenen Einstellungen kann über die Eigenschaft lrAverage abgefragt werden.
Die Anzahl der in den Puffer eingetragenen gültigen Wert kann über die Eigenschaft uiLevel abgerufen werden. Hat uiLevel den Wert Gc_uiMovingAverageMaxOrder, so wird gemäß dem FIFO-Prinzip beim Eintrag eines neuen Werts in den Puffer der jeweils älteste Wert überschrieben.
Mit der Methode Init kann der Puffer neu initialisiert werden, d. h. die Anzahl gültiger Werte im Puffer wird auf 0 und der aktuell berechnete Mittelwert ebenfalls auf 0 gesetzt.
HINWEIS: Die POU ist nicht adressierbar!
Die POU darf nicht aufgerufen werden.
Der Funktionsbaustein kann verwendet werden, indem man ihn über Methoden und Eigenschaften aufruft.
Bezeichnung |
Beschreibung |
---|---|
Grundinitialisierung vor erstem Aufruf bzw. Rücksetzen auf den Grundzustand (alle gespeicherten Werte gelöscht) |
|
Tragen Sie einen Wert in den Puffer ein. |
|
Legen Sie die Anzahl der Messwerte zur Bildung des gleitenden Mittelwerts fest. |
Name |
Datentyp |
Zugriff |
Beschreibung |
---|---|---|---|
lrAverage |
LREAL |
Lesen |
Mittelwert auf Basis von uiLevel und uiOrder Eine Abfrage vor Aufruf der Methode Init liefert den Wert 0,0. |
uiLevel |
UINT |
Lesen |
Füllstand des Pufferspeichers zur Bildung des Mittelwerts Eine Abfrage vor Aufruf der Methode Init liefert den Wert 0. |
uiOrder |
UINT |
Lesen |
Verwendete Anzahl Messwerte zur Bildung des gleitenden Mittelwerts Eine Abfrage vor Aufruf der Methode Init liefert den Wert 1. |