' schrieb:Mein USB 6008 kann 10kS/s auslesen. Das sollte doch schnell genug sein oder?
Die maximal exakteste Loesung waere also 10.000 Daten pro Sekunde auszulesen und diese dann mittels zB Excel VBA zu zaehlen?
Nein, Nein, Nein.
1. Die 10kS/s sind eine Gesamtdatenrate für alle Kanäle zusammen. Da bei der Erfassung mehrere Kanäle Multiplexing vorliegt, kannst du 2 Kanäle mit max. 5 kHz messen.
2. Wieso per Excel VBA zählen?
3. Deine miese Sekunden-Auflösung hat mehrere Gründe:
-Verwendung DAQ-Assi, ersetze den mal durch normale DAQmx-VI-Code (z.B. Rechtsklick auf Assi -> Generate DAQmx-Code.
-Dann hast du den Assi immer so definiert, dass du eine Sekunde lang ein Signal einliest. Und dann wandelst du diese 1000 Messwerte in eine Zahl. Deine ganze hohe Zeit-Auflöung ist weg. Wenn schon, dann musst du die gesamten aufgezeichneten Daten nach deinem Flankenwechsel durchsuchen, dann bestimmst du den Zeit-Index, an dem der Wechsel in den Daten stattgefunden hast, das machst du für beide Kanäle, und dann ziehst du diese beiden Zeiten voneinander ab.
4. Das was du gerade programmiert hast, hat mit dem realen Zeitereignissen gar nichts mehr zu tun. Du holst dir im Sekundentakt einen Messwert aus den Daten (welchen, weiss ich auch nicht, das kommt von diesem Sch...-Dynamic-Data-Format und der Wandlung nach Double). Dann vergleichst du diese beiden Werte quasi parallel (ja, LV macht daraus parallele Prozesse) gegen eine Schwellwert und holst dir dann einen Softwaretaktwert. Alles (zeitmäßig) absolut unvorhersehbar, welche Werte da rauskommen, reiner Zufall...
Gruß, Jens