Filtrování klouzavým průměrem v analogovém řízení DCS a PLC
Filtr klouzavého průměru je vyhlazovací filtr s posuvným oknem, který většina přístrojových inženýrů vkládá do analogových signálových cest DCS a PLC. Zde je...
Otevřete analogovou cestu v DCS nebo PLC a často najdete funkční blok, který nedělá nic působivějšího než průměrování. Uchovává posledních pět vzorků, sečte je, vydělí pěti a výsledek zapíše jako PV, kterou skutečně vidí PID. Tento blok je klouzavý průměr — vyhlazovač s posuvným oknem, po kterém instrumentační technici sahají jako po prvním, protože aritmetika je zřejmá a zpoždění předvídatelné.
Nejde o nastavení tlumení převodníku ani o rekurzivní filtr prvního řádu (PT1). Účel je stejný — potlačit šum a zachovat použitelnou procesní veličinu — ale algoritmus i cena v podobě zpoždění jsou jiné.
Honeywell Experion PKS C300 v rozvaděči Series C: typ DCS řadiče, v němž se analogové PV běžně vyhlazují ve funkčních blocích Control Execution Environment, než dorazí do PID.
Posuvné okno, nikoli rekurzivní paměť
Uchovávejte nejnovějších N vzorků. Při každém novém skenu vyřaďte nejstarší hodnotu, přidejte nejnovější a jako výstup použijte aritmetický průměr zbývajících hodnot:
Y(n) = [X(n) + X(n−1) + … + X(n−N+1)] / N
Pokud se analogový vstup skenuje jednou za sekundu a N = 10, každý výstup je průměrem posledních deseti sekund. Šířka okna zůstává pevná; jeden vzorek vstoupí a jeden vzorek vystoupí. To je celý princip.
Filtr prvního řádu je rekurzivní: výstup tohoto skenu závisí na předchozím výstupu a na části nového vzorku. Klouzavý průměr nikoli. Sleduje pouze surovou historii v okně. Proto se snadněji vysvětluje operátorovi velínu a přirozeně zapadá do DCS nebo PLC, které už má paměť pro uložení N analogových hodnot.
ABB AC500 (včetně bezpečnostních I/O AC500-S): stejný průměr s posuvným oknem je v Automation Builderu obvykle funkční blok nebo úryvek ST, nikoli skrytá nabídka převodníku.
Dva parametry: délka okna a vzorkovací interval
Síla filtru není dána pouze hodnotou N. Doba odezvy je N × vzorkovací perioda. N = 10 při intervalu 1 s znamená desetisekundové okno. Stejné N při intervalu 100 ms znamená jednu sekundu. Berte je jako dvojici, jinak zkopírujete „dobré“ nastavení z jedné smyčky do jiné a budete se divit, proč ventil najednou reaguje pomalu.
Větší N potlačí více šumu a přidá větší zpoždění. Po skutečném skoku měřené veličiny potřebuje filtrovaná PV N vzorků, aby plně dosáhla nové hodnoty. U pomalé teplotní sondy je to často přijatelné. U tlakové nebo průtokové smyčky, která musí potlačit změnu zatížení, způsobí příliš dlouhé okno, že PID vypadá líně, přestože zpoždění vytváří filtr.
Periodický šum je jediný případ, kdy lze velikost okna zvolit záměrně. Pokud se rušení opakuje přibližně jednou za sekundu a skenujete každých 100 ms, N = 10 pokryje celý cyklus a zprůměruje zvlnění směrem k nule. V tom je klouzavý průměr nejlepší: přizpůsobte okno periodě rušení, nikoli zaokrouhlenému číslu, které na trendu „vypadá hladce“.
| Volba | Co získáte | Co za to zaplatíte |
|---|---|---|
| Malé N | Rychlejší sledování skutečných skoků procesu | Více zbytkového šumu na PV |
| Velké N | Hladší trend, lepší potlačení špiček | Větší zpoždění; pomalejší odezva PID |
| Přizpůsobení N periodě šumu | Silné potlačení daného cyklu | Neúčinné, pokud se frekvence šumu mění |
| Rychlejší vzorkování, stejné N | Kratší okno v reálném čase | Vyšší využití CPU a vyrovnávací paměti |
Klouzavý průměr versus filtrace prvního řádu (PT1)
Oba jsou nástroje typu dolní propust. Klouzavý průměr je z této dvojice názornější: můžete ukázat na posledních N vzorků. Potřebuje také více paměti a více sčítání v každém skenu. Filtr prvního řádu vyžaduje jen několik násobení — je dostatečně úsporný pro převodník nebo malý vestavěný I/O modul, který nemůže uchovávat celé okno.
U plnohodnotného DCS nebo PLC tento argument ve prospěch paměti jen zřídka rozhoduje. Procesory Honeywell Experion PKS C300 v hardwaru Series C C300 a CPU ABB AC500 v řadě PLC ABB mají dostatek prostoru pro krátkou analogovou historii. Naprogramujte vyhlazovač tam, kde ho můžete vidět, zdokumentujte N a vzorkovací frekvenci vedle PID a ponechte tlumení převodníku na známé, obvykle malé hodnotě, abyste bez povšimnutí neaplikovali dvě sériové filtrace.
Co nedokáže
Zpoždění je cena každého vyhlazovače. Teplota ho často snese. Tlakové a průtokové smyčky obecně ne — pokud tyto PV přeženete s filtrací, regulátor bojuje se zpožděnou soustavou.
Špičky z okna klouzavého průměru poměrně dobře vypadnou. Pomalý drift nikoli: dolní propust bude rampu sledovat, jen se zpožděním. Pokud je problémem ujíždějící nula nebo ucpané impulzní potrubí, opravte měření; neskrývejte problém delším oknem.
Jednoduchý klouzavý průměr také nemá na hranici okna žádný dodatečný skok — každý vzorek ve vyrovnávací paměti má stejnou váhu. Vážený klouzavý průměr (novější vzorky mají větší váhu) sleduje skok o něco rychleji a vyžaduje více aritmetických operací. Váženou variantu použijte, když je problémem zpoždění v rychlé smyčce a stále potřebujete průměrování; u stejných vah zůstaňte tehdy, když chcete, aby bylo chování zřejmé i při další noční směně.
O autorce
Elena Vargas | Inženýrka procesní instrumentace
Elena Vargas pracuje s analogovými signálovými cestami v procesních provozech — s konfigurací převodníků, filtrací v DCS/PLC a odezvou regulačních smyček na platformách Experion PKS a PAC. V terénu se nejčastěji věnuje tlakovým, průtokovým a teplotním smyčkám, kde se nevhodně nastavený filtr projeví jako zpoždění, nikoli jako úhledný trend.