Ich will lernen
Hallo,
gleich mal ein absolutes NO-NO: Nicht mehr als 1 Event-Structure innerhalb einer While-Loop anlegen, das führt auf Dauer zu Ärger im Programm.
Dann zur Konfiguration AI und Größe BD: Das bietet sich jetzt doch für ein SubVI an!
Dann zum VI "Array Index": Wenn an den Eingängen nichts angeschlossen ist, dann ist der erste Index immer automatisch "0", und wenn man dieses VI aufzieht, dann wird nach unten immer automatisch um 1 erhöht. Deshalb hatte ich nichts weiter angeschlossen, sogar die 0 war bei mir überflüssig, aber das lasse ich meist der Übersichtlichkeit halber drin.
Und zum Abschluß nochmal zur kontinuierlichen (zeitlich nicht begrenzten) Datenerfassung:
Der Eingang "Anzahl der Samples" am Timing-VI legt beim Kontinuerlich-Modus die Größe des FIFO-Puffers fest. In diesem Puffer (der meines Wissens nach schon im RAM von Windows liegt und nichts mehr mit dem Hardware-Puffer auf einer DAQ-Karte zu tun hat) schiebt dann der DAQmx-Treiber also immer die Messwerte auf First-In-First-Out-Basis.
Man kann sich die Daten aber ruhig schon aus diesem Puffer holen, bevor er "voll" ist, also jederzeit. Hierzu bietet sich z.B. der Anschluss "-1" am Read-VI an, oder wie auch schon häufiger vorgeschlagen, man schaut per PropertyNode nach, wieviele Samples gerade im Puffer liegen, und liest dann diese Menge aus. Ebenfalls toll ist natürlich auch das Event-gesteuerte Einlesen, wenn es die Version des DAQmx-Treibers halt anbietet (weiss jemand auswendig, aber welcher DAQmx-Version das geht?). Somit wird man beim Übertragen der Daten in sein Programm eigentlich vollkommen unabhängig von irgendwelchen Timings, mit denen man While-Schleifen laufen lässt, denn auf diese Timings kann man sich bei Windows sowieso nicht verlassen. Und dann sollte bei richtiger Wahl der Parameter auch kein Überschreiben des Datenpuffers geschehen.
MfG, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|