Cenda Programování Mosaic 12. 6. 2024 11:32 3. 5. 2022 10:39

Dobrý den, nedaří se mi nikde najít nějaký totalizér - potřebuji z analogového měření (např. okamžitý průtok) načíst celkové protečené množství. Existuje v nějaké knihovně jednoduché řešení? Děkuji, Dvořáček

Odpovědi 3

Luboš Urban 27. 4. 2022 14:07

V knihovně EnergyLib jsou funkční bloky fbFlowMeterPulse a fbFlowMeterCounter, které z počtu impulsů počítají okamžitý průtok i celkovou spotřebu. Podobně i fbMeterCounter z knihovny ConvertLib.

Cenda 29. 4. 2022 8:05

Dobrý den,

děkuji, ale tyto bloky řeší průtokoměry s pulsním výstupem. V mém případě potřebuji zpracovat analogovou hodnotu, kdy je na AI připojen snímač s hodnotou okamžitého průtoku např v jednotkách kg/h, a požadováno je proteklé množstvé média např. za celý den, popř. celkové proteklé množství, než operátor totalizér zresetuje.

M.B. 3. 5. 2022 10:39

Dobrý den,

aktualizovali jsme knihovnu EnergyLib na verzi 2.6, která obsahuje blok fbFlowTotaliser, který by měl řešit Vaše zadání. Popis bloku:
 

Funkční blok fbFlowTotaliser

Knihovna : EnergyLib


 

Funkční blok fbFlowTotaliser slouží k měření celkového proteklého množství z hodnoty průtoku měřené analogovým průtokoměrem. Průtok z měřidla se přivede na vstup Flow. Předpokládané jednotky jsou m3/h. Hodnota celkového proteklého objemu je vracena na výstupu Volume v m3..

Celkový proteklý objem je uchováván celočíselně v proměnné na vstupu VolumeCnt jako počet proteklých litrů. Tato proměnná by měla být založena jako RETAIN, aby se proteklý objem zachoval i po restartu PLC. Maximální proteklé množství je 2147483647 litrů. Po dosažení této hodnoty dojde k zastavení čítání na této hodnotě a nastavení příznaku OverflowVol.

Blok je možné použít i pro jiné jednotky. Například pro kg/h bude výstup vracet počet proteklých kilogramů a hodnota bude uchována jako celé číslo v gramech.

 

Popis proměnných :

 

Proměnná

Typ

Význam

VAR_INPUT

ResetVol

BOOL R_EDGE

Nulování počítadla proteklého množství

Flow

REAL

Objemový průtok [m3/h]

VAR_OUTPUT

OverflowVol

BOOL

Přetečení čítače pulzů, nastavte reset do logické 1

Volume

REAL

Celkový objem [m3]

VAR_IN_OUT

VolumeCnt

DINT

Počítadlo pulzů celkového průtoku [l] (musí být RETAIN!)

 

Příklad použití funkčního bloku pro vstup z jednotky C-AM-0600I. Dělení měřené hodnoty konstantou 0,06, převádí litry za minutu na kubické metry za hodinu.

PROGRAM prgExampleFlowTotaliser
  VAR
    FlowTotaliser : fbFlowTotaliser;
  END_VAR
  VAR RETAIN
    VolumeCnt : DINT;
  END_VAR
  VAR_TEMP
  END_VAR

  FlowTotaliser(Flow := C_AM_0600I_IN.AV23.FLOW / 0.06,
                VolumeCnt := VolumeCnt);

END_PROGRAM

 

Tento dotaz je vyřešený.