Stückzahlzähler programmieren.

crazypie

Level-1
Beiträge
2
Reaktionspunkte
0
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo zusammen!

Ich bin gerade dabei mir einen Stückzahlzähler zu programmieren. Eigentlich ist sowas ja standard...bloß im meinen Fall muss ich für jeden Impuls der gezählt wird, wieder einen Impuls ausgeben (Ausgang setzen). Die Impulse kommen von zwei verschiedenen Eingängen, und leider ist es auch möglich, dass beide Eingänge gleichzeitig melden.

Hat jemand ne Idee wie man das am besten umsetzen kann?

Vielen Dank und Gruß.
 
Hallo,
das Zählen sollte nicht so das Problem sein ... du mußt hier lediglich für jeden Eingang, der einen Zählimpuls liefert, eine eigene Flanke bilden um das gleiche MW (oder DW) hochzuzählen. Dann macht es auch nichts, wenn bei Eingänge gleichzeitig da sind.
Das mit dem "Ausgänge setzen" habe ich allerdings nicht verstanden ... was ist der Sinn (und Zweck) davon ?

Gruß
Larry
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo Larry,

vielen Dank für deine schnelle Antwort.

Das Zählen an sich ist kein Problem. Mir macht nur der Impuls, den ich ausgeben muss, Schwierigkeiten. Das Signal geht an einen externen Stückzahlzähler, der nur einen Eingang besitzt. Darum muss ich von meiner Seite aus, jeden Eingangsimpuls einzeln weitergeben.

Gruß.
 
Hallo,
jetzt verstehe ich das ... 8)

OK ... ich würde auf den Ausgang, der an den externen Zähler geht, einen (zwei) Timer legen. Der eine davon als SA mit vielleicht 500ms für die Impulslänge. Den anderen als Pause für den nächsten Impuls.
Mit deinen Eingängen zählst du zusätzlich zu deinem Zählwert noch einen weiteren Zähler als Impuls-Ausgabe-Counter hoch.
Ist dieser "Counter" > 0 dann gibst du nachdem Timer_2 nicht mehr aktiv ist einen Impuls aus und zählst den "Counter" wieder runter. Somit können dir keine Impulse nach "Aussen" verloren gehen ...

Gruß
Larry
 
Wie lang sollen denn die Ausgangsimpulse sein? Einen Zyklus oder länger?

Ich würde neben Deinem Stückzahlzähler mit jedem Eingangsimpuls noch einen 2. Zähler hochsetzen, den Du mit jedem Ausgangsimpuls wieder um einen zurücksetzt. So brauchst Du nur immer vergleichen, ob dieser Zähler noch größer als Null ist, um zu entscheiden, ob noch Ausgangsimpulse ausgegeben werden müssen.


PS: Da war Larry ja schon fertig, als ich erst mit dem Tippen begonnen habe. :oops:
 
Zuletzt bearbeitet:
Zuviel Werbung?
-> Hier kostenlos registrieren
Man könnte auch einen einfachen ordinären ;) Fifo nehmen. Mit den Eingangsimpulsen zählt man den Fifo jeweils hoch und bekommt z.Bsp. eine 1 Dez an den Dateninput angelegt. Achtung man sollte auch gleichzeitige Impulse zählen können daher den selben Fifo z.Bsp. zweimal hintereinander mit dem jeweiligen Eingangsimuls aufrufen oder einen Fifo mit zwei Inputs selbst programmieren.
Leeren kann man den Fifo mit einem festen Zeittakt, solange noch Daten im Fifo sind (1 erscheint am Datenausgang), wird bei jedem Zeittakt ein Impuls ausgegeben, der Fifo runtergezählt. Das kann man am zweiten Fifo-Aufruf erledigen, der erste Fifo-Aufruf bleibt am Leseeingang einfach unbeschalten.
So könnten man den Fifo aus der Oscat-Library verwenden.
 
Zurück
Oben