Impulszählung mit PCI-6601 und fester Torzeit - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ) +---- Thema: Impulszählung mit PCI-6601 und fester Torzeit (/Thread-Impulszaehlung-mit-PCI-6601-und-fester-Torzeit) Seiten: 1 2 |
Impulszählung mit PCI-6601 und fester Torzeit - FEL - 25.03.2009 11:34 Hi Leute, ich möchte mit einer NI PCI-6601 Meßkarte Impulse innerhalb einer bestimmten Zeit z. B. 100ms oder 10s erfassen. Die Torzeit ändert sich je nach Betriebszustand, muß aber präzise eingehalten werden. Die Lösung zum Zeitpunkt t den Zählerstand abzulesen und dann nochmal zum Zeitpunkt t+x ist nicht praktikabel, da zu ungenau und das Programm noch ein paar andere Aufgaben hat. Im M&A Explorer habe ich schon Diverses ausprobiert, aber es sieht wohl so aus, als bräuchte man für diese Aufgabe eine externe Taktquelle. Kann das jemand bestätigen? Kann man die interen Timebase auf ein Ausgangs-Pin legen? Oder muß ich mit einen anderen Counter der Karte eine Impulsausgabe realisieren und dann den Impuls per Drahtbrücke bzw. Umrouten dem anderen Counter (zur Impulszählung) zuführen? Hat jemand eine Idee? Gruß Micha Impulszählung mit PCI-6601 und fester Torzeit - Achim - 25.03.2009 11:59 Jou, ich würde sagen: Generiere mit einem der vier Counter einen Takt und route den intern auf das Gate des Impulszählers! Impulszählung mit PCI-6601 und fester Torzeit - FEL - 25.03.2009 15:24 Danke Achim. Ich habe mal ein kleines Testprogramm gebastelt, komme damit aber nicht weiter. Das Routing von Counter 3 Out zu Counter 0 Gate geht nicht, weil von der Meßkarte nicht unterstützt. (Counter 0 Impulsezählung / Counter 3 Frquenzerzeugung) Dann habe ich versucht beim VI "DAQ Timing" den Ausgang von Couter 3 zuzuweisen. Dies hat aber keine Wirkung. Ich glaube, ich mache da grundsätzlich was verkehrt. [attachment=17415] Impulszählung mit PCI-6601 und fester Torzeit - Achim - 25.03.2009 15:44 Hm...so auf die Schnelle... Lass mal das Routing weg und mach mal auf den "Source" bei "Init Sample Takt" nen rechtsklick und guck unter I/O Name Filtering...Haken rein bei "Include Advanced Terminals"...jetzt kannst du direkt den Counter output auswählen... Funzt das? Impulszählung mit PCI-6601 und fester Torzeit - FEL - 25.03.2009 15:57 Den Ausgang von Counter 3 kann ich nun wählen, allerdings krieg ich dann einen Timeout beim Lesen. Sieht so aus, als wäre da kein Takt vorhanden. Nochmal zum Programmablauf: Variante 1: Create -> Start -> Read -> Counterwert wird ausgelesen (kann auch mehrfach ausgelesen werden) Variante 2: Create -> Start -> Init Sample Takt -> Read -> Timeout nach 5s Gruß Impulszählung mit PCI-6601 und fester Torzeit - Achim - 25.03.2009 16:13 Kommt der erzeugte Takt denn wenigstens auf dem Standard-Ausgangs-Pin raus? Haste mal mit nem Oszi geguckt? Impulszählung mit PCI-6601 und fester Torzeit - FEL - 25.03.2009 16:15 Bin gerade dabei ein Kabel zusammenzulöten. Impulszählung mit PCI-6601 und fester Torzeit - FEL - 25.03.2009 16:51 Wie zu erwarten kam keine Frequenz raus, sondern nur 1 Impuls. Hatte das VI "DAQ Timing" vergessen. Nun bekomme ich zumindest kein Timeout mehr bei Read. Allerdings ist mir noch nicht klar wie ich eine Messung mit Torzeit starte. Nach dem Start des Tasks hätte bei den gemachten Einstellungen erwartet, dass nur einmal eine Messung stattfindet. Demzufolge müßte ich bei jedem Auslesen des Countwertes den selben Wert auslesen. Stattdessen wird der Wert bei jedem Auslesen größer. Ich habe nochmal die aktuelle Version angehängt. [attachment=17420] Impulszählung mit PCI-6601 und fester Torzeit - Achim - 26.03.2009 06:46 Moin, guck mal hier: http://forums.ni.com/ni/board/message?boar...hread.id=181394 http://forums.ni.com/ni/board/message?boar...uireLogin=False Hilft dir das weiter? Wenn du ne Lösung hast, wär's super wenn du das hier posten könntest... Gruß Achim Impulszählung mit PCI-6601 und fester Torzeit - FEL - 26.03.2009 14:10 ' schrieb:Hilft dir das weiter? Wenn du ne Lösung hast, wär's super wenn du das hier posten könntest... Nicht so richtig. Prinzipell habe ich eine Lösung, sie ist m. E. noch nicht optimal. Als DAQ-Rookie habe ich mal eine grundsätzliche Frage. Das Programm was ich erstelle, steuert ein wissensch. Gerät. Dort wird eine Spannung in einer Rampe gefahren. Start, Stop und Step legt der Benutzer fest. Ist ein Spannungswert angelegt, werden verschiedene Aktionen durchgeführt u.a. die Impulszählung mit der Meßkarte. D. h. das Ganze läuft zyklisch ab. Wie geht man da bei DAQ vor. Muß man da jedes Mal den Task starten und stopen? Laut LV-Hilfe geht das auf die Performance: "Durch ständiges Starten und Stoppen eines Tasks verlangsamt sich die Anwendung jedoch stark. " Man kann ja auch Tasks triggern. Aber nur durch Hardware. Oder? In der DAQ Palette gibt es ein VI "Software Trigger senden". Das habe ich leider nicht zum Laufen bekommen. Gruß |