' schrieb:Hallo zusammen!
Mangels grundlegenden Verständnisses quäle ich mich schon seit einigen Tagen mit einem vermutlich ganz simplen Problem herum:
Ich möchte, unabhängig voneinander eine Rechteckspannung einlesen und deren Frequenz mittels Counter messen und einen analogen Spannungswert ausgeben.
Ich habe schon versucht diverses Beispiel VIs so umzuwandeln, dass sie meine Aufgabe erfüllen, aber ich bekomme immer Probleme mit Takt und Timing der beiden Tasks. Schaffe es nicht dass der Takt des Counters den Takt des Ausgabetasks bestimmt.
Im Anhang das VI das am ehesten ausdrückt was ich machen möchte. Bei diesem bekomme ich den Fehler, dass der Buffer des DAQmx Write zu klein währe, weiß aber nicht wo ich den erhöhen kann.
Aber wie gesagt, dieses VI soll nur veranschaulichen was ich vor habe, bin auch über Anregungen wie man das ganz anders anfasst dankbar.
Habe LabVIEW 7.1 mit einer PCI-MIO-16E-1 und NI ELVIS Station.
Ach und der DAQ Assistent ist scheinbar nicht mit installiert, zumindest kann ich ihn nicht aufrufen.
Danke im Voraus für die Hilfe!
-Basti
Ich werde nicht so richtig schlau draus, was du machen willst... Du schreibst von unabhängigen Tasks, dann aber wieder von Synchronisation. Du schreibst von Taktung das AO durch den Counter, dann in deinem Beispiel lässt du aber nicht den Countertakt den AO bestimmen, sondern eine willkürliche Software-Schleife, du nur den Counter ausliest (hat mit dem Countertakt selber gar nichts zu tun).
Die Meldung, dass dein Buffer zu klein ist, liegt daran, dass der AO mit der Geschwindigkeit der Software-Schleife nicht mithalten kann und also erstmal neue Werte in den Buffer schreibt, statt gleich auszugeben. Der ist dann natürlich auf bald voll. Da hilft auch ein größerer Buffer nix, der braucht eben nur bissel länger zum voll werden. Was hilft ist, langsamer Daten in den AO zu schreiben. Ich verstehe sowieso nicht ganz, wieso man mit so einer hohen Rate den Wert eines GUI-Elements in den AO schreibt. So schnell kann man das Control auf der GUI doch gar nicht ändern. Ist es nicht sinnvoller, nur dann einen neuen Wert zu schreiben, wenn dieser sich auch geändert hat?