# Zähler mit ein- und demselben Eingang setzen und rücksetzen



## BigFred (23 Januar 2009)

Bin wieder einmal an einem Problem (eigentlich mehr eine Spielerei...):
Ein Zähler (Wert =5) soll mittels eines Eingangs hochgezählt werden. Nach Erreichen des Sollwertes soll ein Ausgang gesetzt und mittels desselben (Zähl-)Eingangs der Zähler beim nächsten Betätigen wieder zurückgesetzt werden.
Habe diese Funktion schon mit Flankenauswertungen versucht, allerdings scheint das nicht zu funktionieren. Der Zähler wird bei mir immer sofort bei Erreichen des Sollwertes gleich wieder zurückgesetzt, der Ausgang flackert nur kurz auf (ein Zyklus). Habe das Ganze dann mit einem zweiten Zähler mit Sollwert +1 realisiert - aber das kann's doch auch nicht sein...?


----------



## Larry Laffer (23 Januar 2009)

... dann setz doch mal den Zähler mit ">5" zurück ...

Gruß
LL


----------



## BigFred (27 Januar 2009)

Hallo Larry,
danke für die superschnelle Antwort, leider bin ich nicht ganz so schnell. Ich muss zu meiner Schande gestehen, dass ich relativer Neuling auf MITSUBISHI (um ein Programm für die FX2NC geht's hier nämlich) bin, mein Gebiet war bis vor kurzem eigentlich eher SIEMENS S7. Habe auch noch nicht herausgefunden, wie ein Rücksetzen mit ">5" geht (ohne das Programm zu sehr aufzublasen)...
Mein laienhaftes Programm sieht auszugsweise folgendermaßen aus:

LDP X005 *positive Flanke an Eingang X005
OUT C0 K5 *erhöht den Istwert des Zählers C0 (Sollwert =5) um 1
OUT C1 K6 *erhöht den Istwert des Zählers C1 (Sollwert =6) um 1
LD C0 *bei Erreichen des Sollwertes von Zählers C0
OUT Y004 *weise den Ausgang Y004 zu
LDP C1 *positive Flanke des Zählers C1
RST C0 *setzt den Zähler C0 zurück
LDF C0 *negative Flanke des Zählers C0
RST C1 *setzt den Zähler C1 zurück

wie gesagt: für diese eigentlich einfache Funktion werden zwei Zähler benötigt - ist doch Verschwendung, oder? Ich werde mich auf jeden Fall nochmal dahinterklemmen, aber Tipps sind immer willkommen!


----------



## OB1 (27 Januar 2009)

Hallo BigFred

Wenn ich dich richtig verstanden habe,  sollen die ersten 5 Imulse den Zähler um eins erhöhen und der sechste Impuls den Zähler zurüchsetzen.


----------



## BigFred (27 Januar 2009)

Genauso. Beim 5. Impuls soll außerdem ein Ausgang gesetzt und beim 6. Impuls der Ausgang wieder zurückgesetzt werden. Also ich komm auf einfachen Wegen nicht drauf...


----------



## BigFred (27 Januar 2009)

So, hab's jetzt gerade nochmal auf diesem Wege gelöst:

LDP X005 *positive Flanke an Eingang X005
ADD K1 D1 D1 *addiere den Wert 1 zum Wert im Zwischenspeicher D1 und lege dies wiederum in D1 ab
LD M8000 *Highmerker M8000
CMP D1 K5 M1 *Vergleiche D1 mit Wert 5, wenn Ergebnis D1 > 5 weise Merker M1 zu
LD M2 *Merker M2 (Vergleich D1 mit Wert 5 ergibt D1 = 5)
OUT Y004 * weise Ausgang Y004 zu
LD M1 *Merker M1 (Vergleich D mit Wert 5 ergibt D1 > 5)
MOV K0 D1 *schreibe den Wert 0 in den Zwischenspeicher D1

Funzt offensichtlich auch, ist aber meiner Meinung nach auch ganz schön aufwendig (wie gesagt: für so ne einfache Funktion...)

Hat jemand noch andere (simplere) Vorschläge?


----------



## OB1 (27 Januar 2009)

Ich würde gar keinen Zähler verwenden.

Da ich keine Mizsubishi kenntnise besitze schreibe ich in Siemens.


```
U     E      0.0
      FP    M    0.0
      SPBNB abc
      L     MW   1
      INC   1
      T     MW   1
abc:  L     MW   1
      L     6
      >=I   
      SPBNB xyz
      L     0
      T     MW   1
xyz:  L     MW   1
      L     5
      ==I   
      =     A      0.0
```


----------



## OB1 (27 Januar 2009)

habe gerade gesehen du hast es schon genauso gelöst.


----------



## BigFred (29 Januar 2009)

Naja, dann gibt's wahrscheinlich wirklich nix Einfacheres. Ist sowieso besser, den Zähler definiert zurückzusetzen, dann wird auch die Programmierung wieder einfacher...
Vielen Dank auf jeden Fall für die Beteiligung und das Interesse an meinem Fall! 

Gruß, BigFred


----------



## ukofumo (19 Februar 2009)

Hallo

der Fred ist zwar schon ein paar tage her...

Zähl den Zähler doch einfach bis sechs hoch und lass ihn dann sich selber zürücksetzen.
mit einer Vergleichsoperation Zähler größer gleich 5 setzt du dann den Ausgang.


```
LDP X005
OUT C0 K6
LD C0
RST C0
LD>= C0 K5
OUT Y004
```


----------

