LabVIEWForum.de - Impulse Zählen

LabVIEWForum.de

Normale Version: Impulse Zählen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,
ich lese über einen digitalen Eingang Impulse ein, funktioniert auch sehr gut jeder Impuls wird durch das Aufleuchten einer LED dargestellt.
Mein Problem ist wahrscheinlich ziemlich banal aber ich bekomme es nicht hin das die Impulse gezählt werden.
Mit anderen Worten ich möchte wissen wieviele Impulse erfasst wurden.

Vielen Dank
Gregor

[attachment=9450](LV 8.5)
Zur Zeit liest du das boolesche Array als die Bits einer Integer-Zahl ein. Besser geeignet ist wohl, statt der Konvertierung einen Array-Or-Operator zu nehmen (zu finden in der Boolean-Palette). Wenn das Signal nach dem Or True ist (also mindestens eine LED an ist), wird der numerische Wert um eins ikrementiert. Dazu nimmst du ein mit Null initialisiertes Schieberegister. Siehe Anhang...

Übrigens: Deine Schleife wird wahrscheinlich nie mit 1ms abgehandelt. Wenn du das wirklich brauchst, solltest du dein Timing hardwareseitig gestalten, nicht softwareseitig.

Zweiter Hinweis: Für deine Aufgabe ist die Verwendung eines Counters eher geeignet. Der ist dazu gebaut, genau das zu machen, was du willst: Impulse zählen. Die Implementierung wird dann viel einfacher und sicherer. Meines Wissens nach hat so ziemlich jede Karte mit DIs auch Counter...

[attachment=9454](LV 8.2)
Hallo,

Du kannst es auch so machen.....
Ich hab' Dein Array mal simuliert.......

Gruß Markus

(VI LV 8.0)
' schrieb:Du kannst es auch so machen.....
Also für mich besteht ein Impuls immer aus einer Vorderflanke, einem Dach und einer Hinterflanke. Folglich heißt Impulse zählen Flanken zählen, also z.B die steigenden Flanken, und nicht die Zählung von High-Levels zu den Abtastzeiten.
Habs mal so gemacht und das Array ebenfalls simuliert.

(VI LV 8.2)
Funktioniert super, danke Jungs.
Gruß Gregor
' schrieb:Zur Zeit liest du das boolesche Array als die Bits einer Integer-Zahl ein. Besser geeignet ist wohl, statt der Konvertierung einen Array-Or-Operator zu nehmen (zu finden in der Boolean-Palette). Wenn das Signal nach dem Or True ist (also mindestens eine LED an ist), wird der numerische Wert um eins ikrementiert. Dazu nimmst du ein mit Null initialisiertes Schieberegister. Siehe Anhang...

Übrigens: Deine Schleife wird wahrscheinlich nie mit 1ms abgehandelt. Wenn du das wirklich brauchst, solltest du dein Timing hardwareseitig gestalten, nicht softwareseitig.

Zweiter Hinweis: Für deine Aufgabe ist die Verwendung eines Counters eher geeignet. Der ist dazu gebaut, genau das zu machen, was du willst: Impulse zählen. Die Implementierung wird dann viel einfacher und sicherer. Meines Wissens nach hat so ziemlich jede Karte mit DIs auch Counter...

[attachment=36371:Versuch3_1.vi]

Hallo Matthias,
wie gesagt funktioniert es mit der Impulszählung über den DI, allerdings gehen mir Impulse verloren.
In deinem zweiten Hinweis hast du mich auf einen Counter aufmerksam gemacht.
Auch meine USB-6008 Karte hat einen Event Counter ich bin mir nur nicht ganz sicher ob er für meine Anwendung geeignet ist.
Ich bekomme aus einem Durchflussmesser (Ovalrad-Verdrängungprinzip) Impulse mit 24 V DC und bin mir da nicht ganz sicher ob der Counter mit dieser hohen Spannung zurecht kommt. In meiner Beschreibung der Karte steht etwas von einem "Imput high voltage 2 V".
Vielleicht kannst du mal einen Blick in die Beschreibung werfen und das Prüfen.
Vielen Dank für deine Hilfe
Gregor

[attachment=9485]
[attachment=9487](LV 8.5)
Naja, 2V ist TTL-typisch (hoffentlich hau ich da jetzt nix durcheinander und bekomme gleich SchelteWink). Wenn du die normalen 5V an den Eingan legst, hast du damit einen ordentlichen Sicherheitsfaktor, damit dein Signal auch auf jeden Fall als High erkannt wird. Mehr als 5,8V ist aber nicht möglich (steht auch so in deinem PDF).
Nun frag ich mich aber, wie du 24V mit deinem DI messen kannst... Das hat nämlich die gleichen Specs...
' schrieb:Auch meine USB-6008 Karte hat einen Event Counter ich bin mir nur nicht ganz sicher ob er für meine Anwendung geeignet ist.
Ich bekomme aus einem Durchflussmesser (Ovalrad-Verdrängungprinzip) Impulse mit 24 V DC und bin mir da nicht ganz sicher ob der Counter mit dieser hohen Spannung zurecht kommt

Nein, ist sie nicht!

Wenn du direkt industrielle 24V-Signale messen willst, brauchst du entweder das hier....oder jenes hier...bei letzterem ist auch der Counter dabei, mit dem du die Impulse zählen kannst!

Bei beiden Modulen ist es so, dass du eine externe Spannung anlegen musst, die dann nach Masse geschaltet wird!
Referenz-URLs