LabVIEWForum.de - Datenerfassung mit externem Trigger

LabVIEWForum.de

Normale Version: Datenerfassung mit externem Trigger
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo Zusammen,

folgendes Problem

Ich lese eine analoge Sensorspannung am DAQ (6259) auf Kanal ai0 ein. Getriggert wird das Einlesen ueber eine Rechteckspannung eines Encoders eines Motors wenn er sich dreht. Das klappt auch soweit, nur leider findet das Datenauslesen nur beim ersten Triggerimpuls statt. Ich moechte aber dass das Datenauslesen bei jeder positiven Flanke des Encodersignals statt findet.

Kann mir jmd den Fehler aufzeigen?

Ich habe mal die Vis angehaengt.

Danke und Gruss

Fred
Folgender Tipp (habe mir deine VIs nicht angeschaut):

Schau dir die Bsps im NI Example Finder zur Datenerfassung mit einem externen Takt an! Dein externer Takt ist in deinem Fall das Encoder Signal.

Gruß, Jens
Hallo Zusammen,

ich habe es mittlerweile hinbekommen, dass bei jeder positiven Flanke meines Encodersignals ein Messwert vom DAQ (6259) ausgelesen wird. Jedoch haben sich die Anforderungen etwas geändert...

Ich möchte nun jeweils 100 Messwerte bei jeder positiven Flanke meines Encodersignals erfassen. Zu realisieren versucht habe ich es mit einem NI Beispiel, leider klappt das noch nicht so ganz.

Bei z.B. 20 positiven Flanken erwarte ich also 20x100 Messwerte in einem Array. jedoch bekomme ich immer unterschiedliche Arraygrößen, sowohl bei der Anzahl der Flanken, also auch bei der Anzahl der Messwerte.

kann es sein, das die Schleiße zu langsam ist? wenn ich die Abtastfrequenz erhöhe, funktioniert das VI nicht mehr...

Kann mir jmd sagen wie ich die o.g. Anforderung besser realisieren kann?

Anbei das VI zur Datenerfassung.

Danke und Gruß
Moin moin,

hat keiner eine Idee wie ich für jede positive Flanke meines Triggersignals etwa 100 Analog Messwerte einlesen kann?

Danke und Gruß
(03.04.2012 07:54 )LV-Fred schrieb: [ -> ]Moin moin,

hat keiner eine Idee wie ich für jede positive Flanke meines Triggersignals etwa 100 Analog Messwerte einlesen kann?

Danke und Gruß

Grundsätzlich verwendest Du Deine Signal dann halt als Trigger. Diese setzt jeweils eine endliche Timed DAQ in Gang die 100 Samples einliesst. Aber, die Software muss schnell genug sein um nach Ablauf der DAQ diese wieder vorzubereiten um für den nächsten Trigger bereit zu sein. Ausser bei wirklich langsamen Pulsen eigentlich eine Unmöglichkeit.

Früher gab es von NI spezielle Hardware die eine Art doppelte DMA machen konnte aber die war unbezahlbar und lief nicht auf allen Computern (war noch zu EISA Zeiten und wenn Du nicht weisst was EISA ist, dann solltest Du Dich glücklich schätzen), und die Programmierung davon war schlicht gesagt zu kompliziert.

Eine viel bessere Variante ist wahrscheinlich um eine synchronisierte Zweikanal Acquisition von Deinem Messsignal und dem Encodersignal mit fester Abtastrate zu tun. Danach kannst Du Dich in Software so richtig ausleben um alle Dir sinnvoll erscheinenden Informationen aus diesem Signal zu extrahieren.
(03.04.2012 07:54 )LV-Fred schrieb: [ -> ]hat keiner eine Idee wie ich für jede positive Flanke meines Triggersignals etwa 100 Analog Messwerte einlesen kann?

Hi,
ich schätze, du hast schon richtig angefangen...als Grundlage sollte dieses Beispiel passen:
[attachment=39328]
Zu beachten ist aber das:
[attachment=39329]

Wenn deine Flanken also zu schnell kommen (wie schnell?), dann wird's nichts...
Dann bleibt dir nur die von rolfk vorgeschlagene Methode: Alles erst mal schnell abgetastet erfassen, und dann nachträglich auswerten. Das ganze wäre wohl mit CompactRIO gut zu machen und auch entsprechend schnell, allerdings kenne ich mich da nicht aus!

A.
Vielen Dank für die Antworten... mal schaun ob ich da etwas hinbekomme...
Referenz-URLs