LabVIEWForum.de - Impulszählung mit PCI-6601 und fester Torzeit

LabVIEWForum.de

Normale Version: Impulszählung mit PCI-6601 und fester Torzeit
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2
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
Jou, ich würde sagen: Generiere mit einem der vier Counter einen Takt und route den intern auf das Gate des Impulszählers!
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. Sad

Lv82_img

[attachment=17415]
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?
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ß
Kommt der erzeugte Takt denn wenigstens auf dem Standard-Ausgangs-Pin raus? Haste mal mit nem Oszi geguckt?
Bin gerade dabei ein Kabel zusammenzulöten.
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.

Lv82_img

[attachment=17420]
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
' 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ß
Seiten: 1 2
Referenz-URLs