LabVIEWForum.de
parallele Periodendauermessung (2 Counter) - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: parallele Periodendauermessung (2 Counter) (/Thread-parallele-Periodendauermessung-2-Counter)



parallele Periodendauermessung (2 Counter) - WML - 01.03.2010 14:58

Hallo allerseits

ich versuche schon seit einiger Zeit mittels einer NI-USB 6216 2 Periodendauern zu messen. Da die Messung gleichzeitig gestartet werden soll, verwende ich zum synchronisieren den ai/StartTrigger. Das klappt dann auch gelegentlich, aber meistens wird mit der Fehlermeldung "Measurements: Some or all of the samples requested have not yet been acquired." abgebrochen. Der Timeout liegt weit über dem "Notwendigen".

Kenn zufällig jemand das oder ein ähnliches Problem?

Das angehängte vi ist in LV 7.1 erstellt.

Gruß
Wolfgang


parallele Periodendauermessung (2 Counter) - jg - 01.03.2010 21:36

Wieso hast du die beiden Counter-Tasks sequenziert?

Und mach den Time-Out mal richtig groß im Verhältnis zur errechneten Messzeit, mind. 2 Sekunden oder mehr. Das ganze ist ja eine Oder-Verknüpfung: DAQmx-Read versucht die Anzahl an gewünschten Samples zu lesen, wenn es diese erfasst hat, ist der Read-Task fertig. Auch wenn die angegebene Warte-Zeit noch nicht abgelaufen ist. Der Time-Out schlägt nur als obere Grenze zu.

Gruß, Jens


parallele Periodendauermessung (2 Counter) - WML - 02.03.2010 09:11

Hallo,

bzgl. Timout hab ich schon alles versucht. Auch 10 Sekunden bringen da keine Veränderung.
Mit Hilfe der Sequenzierung läuft das vi manchmal (die Sequenzierung der "DAQ-reads" hindert die Timer nicht an einem synchronen Start, das erledigt der AI-Trigger; hab ich getestet, indem ich den Frequenzgenerator im Burstmodus betrieben hab). Ausser der Sequenzierung hab ich auch schon 2 while loops versucht, die jeweils nur einmal durchlaufen. Bringt das gleiche Ergebnis, manchmal geht es, manchmal bricht es mit einer Fehlermeldung ab.

Gruß
Wolfgang


parallele Periodendauermessung (2 Counter) - jg - 02.03.2010 21:40

Was für Periodendauern misst du denn? Irgendwie müssen da vereinzelt recht große Werte dabei sein, bzw. die durchschnittliche Periodendauer müsste > 1ms sein.

Schau mal hier:
http://zone.ni.com/devzone/cda/tut/p/id/2868

Ein neuer Periodenwert wird bei einem Counter-Task nicht, wie bei einem AI-Task, in einem festem Takt erfasst. Du hast deine Tasks definiert auf 1000 "Finite Samples" und willst dann diese 1000 Samples in max. 1 Sekunde einlesen. Aber was ist, wenn jetzt die durchschnittliche Periodendauer > 1ms war, dann können noch gar keine 1000 Samples vorliegen -> Folge: Fehlermeldung.

Gruß, Jens


parallele Periodendauermessung (2 Counter) - WML - 03.03.2010 09:16

Die Periodendauern gebe ich zum vi-testen mit einem Frequenzgenerator (Tektronix AFG3022) vor, zB 300µs. Das funktioniert, solange ich nur einen Couter abfrage ohne Probleme (alle Perioden liegen zwischen 299 und 301µs). Auch die parallele Abfrage läuft manchmal durch, manchmal aber eben auch nicht.
Wenn ich das ganze mit 2 USB6216 Karten und je einem Counter laufen lasse läuft es auch ohne Probleme (allerdings ohne saubere Synchronisierung, was auch nicht so dramatisch wäre, wenn es nur ein paar ms Differenz sind). Alles in allem wäre es aber ärgerlich hier 2 Karten verwenden zu müssen, wenn schon 2 Counter pro Karte verfügbar sind.


Gruß
Wolfgang