Hallo zusammen.
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
Mehr HW-Infos bitte. Ein 9223 ist ja "nur" ein C-Modul. Wo hast du das drinstecken? cRIO? cDAQ?
Gruß, Jens
Es steckt in einem cDAQ 9174 drin.
Hallo,
das 9223 ist ein reines AI-Modul - damit kannst du keine Signale ausgeben...
Ja stimmt. Darüber kommt mein Signal herein.
Meine Ausgangskarte ist NI 9263. Hab vergessen die anzugeben.
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
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?
Hallo,
Zitat:was ich noch machen könnte, resp. anders?
Auf ExpressVIs verzichten und selbst programmieren - dann kann man auch auf Geschwindigkeit optimieren!
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?