Hallo zusammen,
ich habe noch nicht sehr viel Erfahrung mit Labview, also bitte etwas nachsichtigt sein
Folgendes Problem stellt sich mir:
Ich bekomme zwei digitale Signale auf meine NI 9423 Karte, die im NI cDAQ 9174 steckt.
Die Signale haben eine Frequenz von bis zu 5 kHz.
Meine Karte verfügt über eine Counter-Funktion allerdings nur wenn nur ein Signal vorhanden ist. Bei zwei Signalen kann ich mit meiner Karte wohl nicht zwei Counter gleichzeitig laufen lassen.
Nun habe ich probiert die Coutner manuell zu programmieren, indem ich die Signale als Line Input hereinhole. Dabei funktioniert dies auch bei tiefen Frequenzen (<=500Hz) gut. Sobald diese allerdings grösser wird, kommt mein Programm nicht mehr nach und zählt zu wenig Impulse.
Meine Frage wär nun, ob jemand mir helfen kann, wie ich entweder meinen Code verbessern kann, dass auch die höheren Frequenzen erkannt werden oder ob es eine bessere Herangehensweise für mein Problem gibt?
Ich habe meinen Code als Attachment angefügt.
Vielen Dank schonmal im Voraus!
Hallo d3,
also mit Einzelsample-Erfassung wirst du das nie schaffen. Erste Lösung: Stelle höhere Sampleraten ein (mind. 10kHz bei einem 5kHz-Signal) und frage bei DAQmxRead gleich größere Blöcke an Samples pro Kanal ab (vielleicht mal mit 1000S/ch anfangen)!
Zitat:Meine Karte verfügt über eine Counter-Funktion allerdings nur wenn nur ein Signal vorhanden ist.
Die CTR-Funktion sollte auch da sein, wenn gerade kein Signal anliegt... Wenn es diesen CTR schon gibt: Nutze ihn!
Ok, ich habe die Datenerfassung nun auf N Samples mit 1000 Samples und 10 kHz geändert.
Die Daten kommen nun allerdings als Digital Waveform. Ich habe nun Probleme aus diesem Signal die Pulse zu zählen. Was gibt es da für Möglichkeiten?
Habe auch schon den Block "Digital Waveform to Binary" angeschaut, stecke allerdings fest.
Zitat:Zitat:Meine Karte verfügt über eine Counter-Funktion allerdings nur wenn nur ein Signal vorhanden ist.
Die CTR-Funktion sollte auch da sein, wenn gerade kein Signal anliegt... Wenn es diesen CTR schon gibt: Nutze ihn!
Das war so gemeint, dass meine Karte nur EIN Signal auf einmal verwenden kann und ich nicht zwei Counter mit meiner Karte benutzen kann. Wenn ich den Counter für ein Signal verwende, dann kann ich das andere nicht mehr einlesen.
Es sollte kein Problem sein, 2 getrennte CTR-Tasks anzulegen, z.B. für CTR0 und CTR1.
Die beißen sich auch nicht bei der Belegung der Pins:
[
attachment=40995]
Gruß, Jens
Super, vielen Dank! So funktionierts.
Ich hatte eine Fehlermeldung falsch interpretiert. Dabei hatte ich probiert mehrere Coutner im selben Task zu haben. Das hat Labview allerdings nicht gefallen. Hab dann gedacht ich kann keine zwei Counter mit meiner Karte haben. Habe nun beide zwei Counter in zwei Tasks aufgeteilt und es klappt.
Gruss
Guten Morgen,
ich bin's nochmal. Das mit den Counter klappt jetzt alles super.
Allerdings bin ich nun dahinter, meine beiden tasks zu synchronisieren. D.h. dass sie gleichzeitig beginnen.
Dabei bin ich auf der NI-Homepage auf das folgende Bild gestossen.
Nun finde ich leider den Funktionsblock oben rechts, nach dem DAQmx Trigger - Block, nicht. Kann mir da jemand vielleicht helfen diesen zu finden?
Gruss
Hi Leute,
könnt ihr euch mal mein Programm anschauen und gucken ob es prinzipiell möglich ist, zwei Drehzahlen so zu erfassen?
Ich verwende ein cDAQ 9178 ebenfalls mit dem Modul 9423.
Meine Drehzahl wird über den digitalen Counter von zwei KTR Messwellen mit je 60 Impulsen pro Umdrehung aufgenommen.
Wie ich in diversen Beiträgen gelesen habe, muss ich beide digitalen Counter auf zwei verschiedene Tasks aufteilen und kann sie nicht in einem zusammen legen. --> Done
Ich begreife die Pinnbelegung nicht ganz die so funktionieren soll:
[
attachment=43211]
Bin bei dem Bild überfragt, was der Unterschied zwischen SRC, GATE und AUX bedeuten soll.
Momentan habe ich auf DI0 meinen ersten Drehzahleingang und auf DI1 meinen zweiten Drehzahleingang.
Hallo Selectah,
Zitat:ob es prinzipiell möglich ist, zwei Drehzahlen so zu erfassen?
Ja, lt. Bild hast du sogar 4 CTR zur Verfügung...
Zitat:was der Unterschied zwischen SRC, GATE und AUX bedeuten soll.
Da kommen ja noch die A, B und Z-Eingänge dazu. Deren Bedeutung hängt von der jeweils gewählten Funktion/Option des CTR ab...
Zitat:Momentan habe ich auf DI0 meinen ersten Drehzahleingang und auf DI1 meinen zweiten Drehzahleingang.
Ich würde PFI0 und PFI4 (für CTR0 und CTR1) wählen, wenn du nur Flanken zählen willst...