# Problem mit Count\_BR

**URL:** <https://oscat.discourse.group/t/problem-mit-count-br/590>\
**Category:** Bestehende Module / Existing Modules\
**Created:** [10. April 2009 um 10:32 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590 "2009-04-10T10:32:31Z")\
**Posts on this page:** 10\
**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:** [10. April 2009 um 10:32 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590/1 "2009-04-10T10:32:31Z")

</div>

Hallo,

benutze den Baustein Count\_BR. Beschaltet ist er wie folgt:  
Er bekommt Impulse beim Eingang “UP”. Beim Eingang “Step” ist ein fester Wert “1” eingestellt.  
Den Ausgang “CNT” gebe ich per Modbus an meinen Server weiter der die Daten per MySQL Datenbank mitloggt.  
Der Baustein funktioniert an sich, nur passiert es in unregelmäßigen Abständen das sich der Stand bei CNT nicht nur positiv ändert, NEIN, es passiert das auf einmal das er von dem Stand z.B. 40 auf 38 springt und dann wieder regulär weiterzählt. D.h. er zählt für einen oder ein paar Impulse Rückwärts und dann wieder vorwärts.  
Zusätzlich wandel ich den Ausgang “CNT” von “BYTE\_TO\_REAL” um und gebe den Wert auf den “METER\_STAT” Baustein. Der zeigt mir alles wunderbar an, bis es dann zu diesem Rückwärtszählen vom “CNT” Ausgang kommt, dadurch kriege ich negative Werte bei den METER\_STAT Ausgängen.

Woran kann das liegen???

---

<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:** [11. April 2009 um 09:01 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590/2 "2009-04-11T09:01:42Z")

</div>

kannst mal dein projekt posten oder besser ein teilprojekt das den fehler reproduziert

---

<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:** [11. April 2009 um 13:01 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590/3 "2009-04-11T13:01:41Z")

</div>

Hallo Hugo,

klar hab mein Projekt angehängt!

[gelöscht durch Administrator]

---

<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:** [11. April 2009 um 17:11 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590/4 "2009-04-11T17:11:05Z")

</div>

habe mir dein projekt kurz angesehen.

den eingang step kannst du unbeschaltet lassen, der vorgabewert ist bereits 1  
ich denke du hast deutlich mehr als 255 pulse am eingang, damit gibts einen überlauf und nach 255 beginnt der counter wieder bei 0  
du kannst alternativ den counter\_DR verwenden, setzte aber dort den mx auf 65000

aber auch dort wirst du irgendwann einen überlauf haben du solltest den baustein meter ansehen, der ist für die aufgabe geeignet

---

<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:** [12. April 2009 um 08:18 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590/5 "2009-04-12T08:18:16Z")

</div>

Hallo Hugo,

ich habe Meter schon einmal ausprobiert, allerdings lief der nicht so wirklich. Ich habe versucht meinen Gaszähler mit Meter zu loggen. Aber irgendwie hat er immer mehr gezählt als er sollte. Ein Impuls vom Gaszähler entspricht 0,01mÃ‚Â³ ! Nur irgendwie ist das bei Meter der Eingang mit einer Zeit versehen, d.h. wenn an Meter “Eingang” der Impuls etwas länger wie die Zeit die hinterlegt ist, anliegt, dann zählt Meter mehr wie 0,01mÃ‚Â³ obwohl nur ein Impuls vom Zähler weitergegeben wird. Also hab ich mir Count\_BR geschnappt. Da wird auch nur der Impuls gezählt und nicht nach Zeit. Kann man den Meter irgendwie so ändern, das ich ihn einsetzen kann??? Ich möchte eigentlich nur die Impulse zählen mehr nicht!

---

<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:** [12. April 2009 um 22:56 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590/6 "2009-04-12T22:56:08Z")

</div>

einen konstanten puls könntest du dir ganz einfach mit tp erzeugen.  
allerdings wäre der count\_DR FÜR DEINE AUFGABE BESSER GEEIGNET  
der nachteil ist nur das bei stromausfall alles weg ist

---

<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:** [13. April 2009 um 07:11 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590/7 "2009-04-13T07:11:29Z")

</div>

Hallo Hugo,

probiere es jetzt mal mit Count\_DR. Wenn der funktionieren sollte, bekomme ich dort aber jedes Jahr das Problem mit dem Zählerüberlauf. Hast du hierfür noch eine Lösung oder kann man den Meter Baustein nicht so umbauen, das er die Impulse zählt und nicht die Zeit, länge der Impulse?!! ???

---

<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:** [14. April 2009 um 13:51 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590/8 "2009-04-14T13:51:52Z")

</div>

das problem des zählerüberlaufs hast du speziell beim count\_br der kann nur bis 255 zählen.  
beim count\_dr kannst du bis 2^32-1 zählen, das ist mehr gas als ganz europa in vielen jahren verbraucht.  
wichtig ist nur das du die obergrenze des zählers entsprechend setzt.

dein problem ist nicht das der counter nicht funktioniert, sondern das du über die 255 beim count\_br zählst.

---

<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:** [14. April 2009 um 17:23 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590/9 "2009-04-14T17:23:47Z")

</div>

Hallo Hugo,

eine Frage hab ich noch. Es gibt nicht eine Möglichkeit, das ich dem count\_br sagen kann, das 1 Impuls 0,01 sind oder? So muß ich das Ergebniss immer noch durch 100 dividieren!

---

<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:** [15. April 2009 um 15:11 UTC](https://oscat.discourse.group/t/problem-mit-count-br/590/10 "2009-04-15T15:11:55Z")

</div>

nein der count\_br hat einen byte ausgang und der kann per typ definition nur 0..255 in schritten von 1 zählen  
dasselbe gilt für count\_dr nur das der bis 2^32-1 zählen kann
