# METER

**URL:** <https://oscat.discourse.group/t/meter/561>\
**Category:** oscat.lib fuer TwinCAT/CoDeSys\
**Created:** [8. März 2009 um 22:27 UTC](https://oscat.discourse.group/t/meter/561 "2009-03-08T22:27:09Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![system](https://global.discourse-cdn.com/free1/uploads/oscat/original/1X/2efdfb9c592ff9a666c94dff124ee84fa863dae5.jpeg) [@system](https://oscat.discourse.group/u/system)\
**Post date:** [8. März 2009 um 22:27 UTC](https://oscat.discourse.group/t/meter/561/1 "2009-03-08T22:27:09Z")

</div>

Hallo!

Meiner Meinung nach fehlt im FB METER das ständige neusetzen der Variable last, ich glaube dass der Zähler dann korrekt funktioniert?

Also z.B. die vorletzte Zeile in der Berechnung:

(\* reset _)  
IF rst THEN  
mr.R1 := 0;  
mr.RX := 0;  
ELSE  
(_ current consumption measurement _)  
IF I1 THEN MX1 := M1; ELSE MX1 := 0; END\_IF;  
IF I2 THEN MX2 := M2; ELSE MX2 := 0; END\_IF;  
(_ add up the current values in a double real _)  
MR := R2\_ADD(MR,(mx1+mx2)/D_TC);  
(\* set the current output value _)  
MX := mr.RX;  
(_ renew last \*)  
last := tx;  
END\_IF;

lg Willi

---

<div class="post-metadata">

**Author:** ![hugo](https://yyz2.discourse-cdn.com/free1/user_avatar/oscat.discourse.group/hugo/32/133_2.png) [@hugo](https://oscat.discourse.group/u/hugo)\
**Post date:** [8. März 2009 um 23:56 UTC](https://oscat.discourse.group/t/meter/561/2 "2009-03-08T23:56:04Z")

</div>

ja da hast du allerdings recht
