Hi,
da meine NI-Karte (PCI 6154) nicht fähig ist ein digitales Signal mit 10kbit/s auszugeben muss ich jetzt folgendes Problem analog lösen.
Eine 16 Bit Struktur + 5 Bit Pause (1Bit=100µs) soll unendlich lang am analogen Ausgang ausgegeben werden.
Ich habe das VI angehängt.
Das Problem ist das der Ausgang zwar angesteuert wird, jedoch weder die Bitdauer, noch die Bitfolge stimmt.
Auf dem Oszilloskop sieht man nun mehrere '1' und '0' die aber in ihrer Dauer unterschiedlich sind.
Ich nehme an das das Betriebssystem die Laufzeitfehler verursacht, ich muss also nun eine bestimmte Anzahl an Samples in den Speicher der Karte schreiben.
Leider weiß ich nicht wie ich das machen soll.
Das VI ist mit LV-Version 9 zu öffnen
Ich bin für jegliche Lösungsvorschläge dankbar.
LG
Marco
Wenn du das kontinuierlich ausgeben willst, dann solltest du das auch machen. D.h. nicht dauernd den Task neu starten.
Schau dir einfach mal die entsprechenden Bsp. im NI-Examplefinder an:
[
attachment=22175]
Gruß, Jens
Danke schön Jens,
aber kannst du mir das Problem nochmal kurz erläutern?
Ich starte den Task (jedenfalls war das mit Hilfe der flachen Sequenz mein Plan) doch nur einmal, danach sollte das Programm in die nächste Sequenz springen
und solange die while-Schleife durchlaufen bis ich abbreche. Wieso wird der Task denn jedesmal neu gestartet?
Ich frage mich, für was die äußere Schleife überhaupt gut sein soll...
So...nach viel probieren habe ich nun endlich das gewünschte Ergebnis erreicht. Abhängig von der vorgegebenen Folge wird nun am Ausgang kontinuierlich ein TTL-Pegel ausgegeben.
Leider gibt es noch ein, schlecht zu reproduzierendes Problem. Manchmal tritt beim Start folgende Fehlermeldung auf:
"Fehler -50007 ist bei DAQmx Write (Analog Wfm 1Chan NSamp).vi:1 aufgetreten
Mögliche Ursachen:
Der ausgewählte Offset liegt außerhalb des zulässigen Bereiches. Der Vorgang konnte nicht wie geplant abgeschlossen werden.
Task-Name: _unnamedTask<1B>"
Nach einem Klick auf Weiter und einem Neustart des VI's ist wieder alles in Ordnung.
Ich gehe davon aus, das im Speicher meiner NI-Karte noch Daten stehen mit denen das Programm nix anfangen kann. Wie kann ich diesen Fehler beheben???
Hier nochmal das "funktionierende" VI, zu öffnen mit LV-Version 9.0
So...nach viel probieren habe ich nun endlich das gewünschte Ergebnis erreicht. Abhängig von der vorgegebenen Folge wird nun am Ausgang kontinuierlich ein TTL-Pegel ausgegeben.
Leider gibt es noch ein, schlecht zu reproduzierendes Problem. Manchmal (aller 5-10 VI Starts) tritt beim Start folgende Fehlermeldung auf:
"Fehler -50007 ist bei DAQmx Write (Analog Wfm 1Chan NSamp).vi:1 aufgetreten
Mögliche Ursachen:
Der ausgewählte Offset liegt außerhalb des zulässigen Bereiches. Der Vorgang konnte nicht wie geplant abgeschlossen werden.
Task-Name: _unnamedTask<1B>"
Nach einem Klick auf Weiter und einem Neustart des VI's ist wieder alles in Ordnung.
Ich gehe davon aus, das im Speicher meiner NI-Karte noch Daten stehen mit denen das Programm nix anfangen kann. Wie kann ich diesen Fehler beheben???
Hier nochmal das "funktionierende" VI, zu öffnen mit LV-Version 9.0
Kein Doppelposting bitte!
Threads verbunden.
Gruß, Jens
Mit (allerdings nur simulierter) Hardware kann ich deinen Fehler nicht nachvollziehen.
Vielleicht hilft ein Update des DAQmx-Treibers auf die neueste Version? Aktuellster Download wäre momentan Version 9.0.2
Gruß, Jens