Hallo Julian,
Zitat:zusätzlich zur "normalen" Messdauer einen Pretriggerbereich aufzeichnen möchte
Lege dir einen Puffer für den PreTrigger an. Dies kann eine (größenlimitierte) Queue oder ein Array in einem Schieberegister sein. Dann hast du die Daten vorliegen, wenn der Trigger eintritt.
Zitat:nur genau diese Bereiche
Nur "genau" den PreTrigger? Siehe oben...
Zitat:Wie sollte ich da ... vorgehen?
Ich würde dir das Producer-Consumer-Schema empfehlen. Trenne DAQ von Anzeige und Speicherung. Die Anzeige muss nicht mit 40Hz betrieben werden, da reichen auch 10Hz locker aus (oder willst du flüssiges Video erzeugen?). Die Speicherschleife kann sich um das Puffern der Pretrigger-Daten kümmern...
Allgemeine Tipps:
- Bei eigenen subVIs sollte man das ConnectorPane so belegen: links/rechts oben Referenzen (Datei-Refs, DAQmx-Refs, etc.), links/rechts unten den ErrorCluster. Also so, wie es fast alle Funktionen von NI auch machen, z.B. das FileClose. Das führt zu wesentlich "geraderen" Drähten.
- Wenn du in "Analog_messen" viele Werte aus dem Voreinstellungen-Cluster benötigst, solltest du den Cluster an das subVI verdrahten statt der Einzelwerte. Auch das erhöht die Übersichtlichkeit im mainVI.
- Bei der Mehrfacharithmetik kann man Ein- und Ausgänge invertieren. Dies führt dann dazu:
Will man dem Compiler dann noch Arbeit abnehmen, macht man das so: