Dokumentace

Analogue Incremental Counter (B107)

Název bloku

B107_ANALOGUEINCREMENTALCOUNTER

Volání v ST

PROGRAM B107 TEST
VAR
REAL1, REAL2: REAL;
RESET: BOOL;
FB: LIB.CORE.V1_0.B107_ANALOGUEINCREMENTALCOUNTER;
END_VAR
FB(IN:=REAL1, STEP:=1, OVERFL :=0, BSET:=RESET, OUT=>REAL2);
END_PROGRAM

Knihovna

LIB\CORE

Verze

V1.0

Popis

Blok slouží jako čítač pulsů, který je schopen eliminovat přetečení. Blok zvládá počítat vážený výstup. Využívá se při počítání pulzů od elektroměru.

Vstupy

Vstup Typ Význam Výchozí hodnota
IN REAL Vstupní signál (obvykle analogový čítač s možností přetečení) 0
BSET BOOL Náběžnou hranou nastaví do počátečního stavu x0=x, add=0 a y začne na 0 False
STEP REAL Obvyklý krok vstupu x (obvykle step=1 pro x=1,2,3,...) 1
OVERFL REAL Přetečení rozsahu (když x=0,...,65535 pak overfl=65536, když overfl <= 0, pak se vstup přetečením nastaví automaticky) 0
K REAL Koeficient 1
KY0 REAL Přídavná konstanta výstupu Ky (Ky=K*y+Ky0) 0

Výstupy

Výstup Typ Význam
OUT REAL Výstupní signál (trvale inkrementovaný čítač bez horní hranice)
KY REAL Vážený výstup Ky=K*y+Ky0
ADD REAL Přidaná hodnota k výstupu y zamezující přetečení (y=x+add-x0). To je zvýšení při zadání přetečení.
X0 REAL Počáteční hodnota vstupu (když je náběžná hrana od bset, tak x0=x)
BOVERFL BOOL Puls 1 s signalizuje přetečení vstupu x
NOVERFL INT Počet vstupních přetečení (od posledního resetu bset)
XLAST REAL Hodnota vstupu x v předchozím Fupla kroku (interně užitečné pro automatické nastavení přetečení)

Funkce

Blok implementuje čítač pulsů, který je schopen eliminovat přetečení. Dejme tomu, že vstup x se zvyšuje takto: 0,1,2,3,...,65534,65535,0,1,2,... - pak je výstup y 0,1,2,3,...,65534,65535,65536,65537,65538,....atd. Blok také obsahuje vážený výstup Ky=K*y+Ky0, kde K a Ky0 jsou libovolně nastavitelné parametry. Například pokud jeden impuls znamená 0.2 kWh na připojeném elektroměru, pokud jste nastavili K=0.2, Ky0=3000 pak hodnota Ky měří energii v kWh a začíná na hodnotě 3000 kWh.

Parametr step, který je přírůstkem vstupu: Když se vstup x zvýší o jeden (tj. vstup vypadá takto 1,2,3,4,...) pak step=1. Když se vstup x zvýší o desetinu (např. 0.1, tj. vstup je 0.1,0.2,0.3,0.4,...) pak step=0.1 atd. Tento parametr definuje hodnotu prahu – když vstup x poklesne vice než o 5*step, pak se předpokládá, že došlo k přetečení. Mohou nastat dva scénáře:

  • overfl=0 – přetečení se nastaví automaticky podle aktuální a poslední hodnoty vstupu x (výstup xlast). Implicitní nastavení.
  • overfl>0 (doporučeno) – hodnota se nastaví podle přetečení od připojeného zařízení (když x=0,...,65535 pak overfl=65536). Velkou výhodou je, že blok je schopen zvládnout přetečení, i když je Fupla na chvíli vypnutá (např. výpadek napájení) a stále dává správnou hodnotu výstupu y, viz obrázek 3 níže.

Výstupní hodnota y může být resetována vstupem bset – když přijde náběžná hrana, pak y=0. Není možné nastavit výstupní hodnotu y na jinou hodnotu. Když potřebujete přesunout jinou hodnotu, použijte výstup Ky místo výstupu y a přesuňte ji parametrem Ky0.

Když dojde k přetečení, logický výstup boverfl bude true na jednu sekundu a výstup noverfl (počet přetečení) se zvýší o jednu. Když je blok resetován vstupem bset, pak noverfl je nastaven na nulu.

Existuje více výstupů s doplňujícími informacemi: x0, bset a bset, viz výše uvedená tabulka s popisem.

Poznámka

Důrazně doporučujeme nastavit parametr overfl podle přetečení zařízení připojeného ke vstupu x, například overfl=65536. Blok je pak schopen zvládnout přetečení, i když je FUPLA na chvíli vypnuta (například při výpadku napájení), a stále dává správnou hodnotu výstupu y, viz obrázek 3.

Funkce v případě špatného nastavení

Když overfl<0, pak se předpokládá, že overfl=0.

B107 Analogový inkrementální čítač.

B107 Analogový inkrementální čítač – když overfl =0. Blok poskytuje nepravdivou hodnotu, když je FUPLA vypnuta.

B107 Analogový inkrementální čítač – když overfl > 0. Blok obsahuje správnou hodnotu, když je FUPLA vypnuta.

Příklad použití

Funkce čítá vstupní hodnotu real1, při nastavení step=1, overfl=1. Nulování čítače se provádí náběžnou hranou proměnné reset.