Limitierung für FILTER_I bei großen Zeitkonstanten

Begonnen von rrbd, 16. Januar 2013, 09:12:26

Vorheriges Thema - Nächstes Thema

0 Mitglieder und 1 Gast betrachten dieses Thema.

rrbd

Hallo,
In einer Heizungsregelanlage bin ich auf eine im Nachhinein nicht ganz überraschende, aber doch unschöne Limitierung des Bausteins FILTER_I (in einer Phoenix ILC 130) gestoßen. Ich habe den Baustein Verwendet, um das Signal eines Außen-Temperaturfühlers drastisch zu glätten, die Heizkreise sollen nicht auf jede vor der Wintersonne vorbei ziehende Wolke reagieren, sondern einem trägen Mittelwert folgen. Dafür habe ich Filter_I mit einer Zeitkonstante von 3600 Sekunden für das INT Rohsignal (= Messwert in °C x 10) versendet. Leider funktioniert das für die relativ kleinen Signalwerte nicht. Ich schätze mal, dass das Problem ist, dass irgendwann bei der Integration von kleinen Signalwerten die Änderungen kleiner als 1 werden, damit nicht mehr berücksichtigt werden, und dann bleibt der Ausgangswert stehen. Besonders lästig ist, dass bei Annäherung an 0 (Nach einem Sprung des Eingangssignals auf 0) der Ausgangswert 0 nicht erreicht werden kann. Letztlich kein Bug im FB, sondern eine durch das Zahlenformat vorgegebene Begrenzung, aber wer denkt schon im Eifer des Gefechts an so etwas?

Meines Erachtens sollte dieser Zusammenhang zwischen Signalgröße und Zeitkonstantengröße in der Dokumentation erwähnt werden, so in etwa in der Art "Bei Zeitkonstanten > xxxs Arbeitet der FB für kleine Eingangssignale nicht mehr zuverlässig, ggf. sollt für solche Problemstellungen der Baustein "FT_PT1" benutzt werden".

An anderen Stellen bei ähnlicher Verwendung (Fühlersignalglättung) mit Zeitkonstante 5s tritt das Problem erwartungsgemäß nicht auf, da wird der 0-Ausgang problemlos durchfahren.

"FT_PT1" habe ich natürlich auch gleich noch ausprobiert, aufgrund der bei REAL viel kleineren möglichen "Schrittweite" für die aufintegrierten Änderungen tritt das Problem da nicht auf.

Beigefügtes PNG vergleicht die Filter-Arbeit ca. 25 Minuten nach einem Sprung des gemeinsamen Eingangssignals von 0 auf 20. Während die Filter_I am Ausgang unverändert "0" zeigen ist das Ausgangssignal am "FT_PT1" nicht auf.

Grüße

Rainer

[gelöscht durch Administrator]