Lib.Mervis.v1_0.IncrementalCounter
Pomocný blok sloužící pro ošetření čítačových vstupů, u kterých hrozí riziko přetečení.
program test
var
inp: lib.mervis.v1_0.IncrementalCounter;
end_var
inp();
end_program
| Jméno | Datový typ | Retain | Nutno připojit | Význam | |
| In | udint | Ne | Ano | Vstupní hodnota čítače | |
| Set | bool | Ne | Ne | Vynulování čítače | |
| Overflow | udint | Ne | Ne | Maximální hodnota vstupního čítače pro zpracování přetečení (pokud je =0 nevyužívá se) | |
| Step | udint | Ne | Ne | ||
| PulseWeight | real | 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 |
| Jméno | Datový typ | Význam | |
| Out | udint | Výstup | |
| Weighted | real | Výstup přepočtený pomocí PulseWeight a Offset na fyzikální hodnotu | |
| OverflowFlag | bool | Příznak přetečení | |
| OverflowCount | udint | Počet přetečení čítače |
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