Hey Jens,
hier sind mal zwei Versionen meines Programms. Labviewversion 7.1.
Kurz zu meinem Programm:
1. Ich lese eine Ascii-Datei (in Matlab geschrieben mit einer Abtastrate von 1 MHz) ein
2. Dann beginnt die Pulsausgabe und die Aufnahme durch einen digitalen Trigger gleichzeitig
3. Außerdem kann die Ausgabe und Aufnahme durch die eingebaute Verzögerung beliebig verschoben werden. In einem NMR-Experiment darf die Aufnahme erst beginnen, nachdem der Puls zu Ende ist. !!!!!
Ich verschiebe die Aufnahme also um mindestens die gesamte Pulslänge.
4. Soweit funktioniert das Programm. Allerdings hat es auch noch einen Bug. Manchmal kommt die Fehlermeldung: Task existiert nicht oder ist ungültig. Nach einem Neustart oder warten funktioniert es dann meistens wieder. Woran liegt denn das ?
5. Sollte man keinen Task im Measurement Explorer definieren. Sollte man allles mit den DAQ vis programmieren ? Wenn ich versuche es über Physikalische Kanäle zu steuern klappt die Pulsausgabe nicht.
6. Ja und jetzt muss ich den vorher beschriebenen Zeitverlauf von Pulsausgabe, TTL-Pulse und Pulsaufnahme hinbekommen. Ich könnte auch jeweils einen Spule für senden und empfangen nehmen, dann müsste es auch mit einem TTL-Puls gehen. Dieser müsste aber auch im microsek. zu timen sein.
7. Ich hatte auch die Idee eine zeitgesteuerte sequenz (Pulsausgabe und Aufnahme trennen, aber Aufnahme beginnt dann leider zu spät) zu verwenden, aber mit meiner Karte USB 6251 BNC kann ich nicht im MHZ Bereich timen. Däfür braucht man glaube ich Labview Realtime Module. Irgendwie muss ich den Ablauf im microsek. timen können.
Die Version detectcontrol_V10.vi ist das Basisprogramm (Wie oben beschrieben Pulsausgabe und Aufnahme sowie auch Aufsummierung eines aufgenommenen Signal mit anschließender Fouriertransformation). In dieses sollen nun die TTL-Pulse wie in der Abbildung (Timing PNG) beschrieben implementiert werden.
Ich hoffe das erklärt noch besser mein Problem. Danke für deine Hilfe.
Gruß
Rob