Obsah

Čítač s hlídáním přetečení

Celé jméno

Lib.Mervis.v1_0.IncrementalCounter

Potřebné reference projektu

Popis

Pomocný blok sloužící pro ošetření čítačových vstupů, u kterých hrozí riziko přetečení.

Použití v ST

program test
    var
        inp: lib.mervis.v1_0.IncrementalCounter;
    end_var

    inp();
end_program

Vstupy

JménoDatový typRetainNutno připojit Význam
In udintNe Ano Vstupní hodnota čítače
Set bool Ne Ne Vynulování čítače
Overflow udintNe Ne Maximální hodnota vstupního čítače pro zpracování přetečení (pokud je =0 nevyužívá se)
Step udintNe Ne
PulseWeightreal Ne Ne Váha pulsu, použito na přepočet hodnoty čítače na fyzikální hodnotu
Offset real Ne Ne Offset počtu pulsů, použito na přepočet hodnoty čítače na fyzikální hodnotu

Výstupy

JménoDatový typ Význam
Out udintVýstup
Weighted real Výstup přepočtený pomocí PulseWeight a Offset na fyzikální hodnotu
OverflowFlag bool Příznak přetečení
OverflowCountudintPočet přetečení čítače

Podrobný popis funkce

Blok se používá pro ošetření hodnoty z čítače, který často přetéka. Blok uvnitřn obsahuje 32bitový čítač, který vždy inkrementuje o daný počet příchozích pulsů (rozdíl oproti minulému výpočetnímu cyklu). Pokud je tento rozdíl záporný, bere se toto jako přetečení a chování závisí od hodnoty parametru Overflow:

Výstup Weighted se počítá jako lineární transformace vnitřní stavu čítače, tedy Weighted = PulseWight * Out + Offset