Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!
Ich habe folgende Frage zu LabVIEW.
Ich bekomme ein analoges Signal über ein NI9223 Modul herein. Dies besteht aus sehr schnell auftretenden Impulsen (bis 400Hz).
Nun möchte ich bei diesem Signal die Impulse zählen und nach jeweils 10 Impulsen einen neuen Impuls herausgeben.
D.h. als Ausgang soll ein Impuls-Signal entstehen, dessen Frequenz 1/10 der Eingangsfrequenz ist.
Dieses Signal soll dann wieder als analoges Signal herausgegeben werden.
Habt ihr mir da einen Vorschlag, wie ich das machen kann?
Vielen Dank im Voraus
So ich habe eine Art Lösung gefunden. Allerdings funktioniert die nur gut bei geringen Frequenzen. Ab 50 Hz fängt es an ab und zu auszusetzen und stimmt nicht mehr genau.
Kann mir jemand vielleicht sagen, wie ich das besser machen könnte oder ob ich gar einen falschen Ansatz habe?
Wäre froh über jede Hilfe
21.07.2011, 12:53 (Dieser Beitrag wurde zuletzt bearbeitet: 21.07.2011 12:59 von Lucki.)
Z.B. so: um 400Hz Impulse (Tastverhältnis 50% ?) zählen zu können, braucht man eine Abtastrate >800Hz, sagen wir mal 1kHz.
Die ankommenden pos. Flanken müßten gezählt werden.
Nach 5 Flanken wird der Ausgang auf High geschalten, nach weiteren 5 Flanken auf Low usw.
Die Schwierigkeit ist, daß man wegen der Echtzeitanforderung mit DAQmx Read jeweil nur 1 Wert lesen müsste, d.h. die Schleife in der sich das DAQmx Read befindet würde mit 1000 Hz umlaufen. Zusätzlich müßten dann noch Werte ausgegeben werden. Ob das so funktioniert, weiß ich nicht. Windows ist kein Echtzeitsystem. Komplikationen, wenn z.B. die Maus bewegt wird, sind zu erwarten.
Edit: War vom PC eine Weile weg, Beitrag #6 kannte ich beim Schreiben noch nicht und kann dazu auch nichts sagen. Kenne mich mit den Express-VIs nicht aus.
Okay, Danke.
Ja ich habe es jetzt mal anders probiert.
Habe auch schon gemerkt, dass die Charts recht viel Zeit beanspruchen. Wenn ich sie gelöscht und dann nochmal durchlaufen gelassen habe, war die Abweichung schon geringer und ich konnte bis 100 Hz genaue Ergebnisse erzielen. Allerdings war dann auch schon Schluss.
Weiss jemand, was ich noch machen könnte, resp. anders?
Vielen Dank für die schnelle Antwort.
Ich habe leider nicht viel Erfahrung mit manueller Programmierung.
Hab auch schon die Beispiele durchgeschaut, aber nichts passendes gefunden.
Hat jemand vielleicht ein Beispiel, um mein Problem manuell zu programmiern?