LabVIEWForum.de
Messung HW getriggert nach bestimmter Impulsanzahl starten - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: Datenerfassung (DAQ) (/Forum-Datenerfassung-DAQ)
+---- Thema: Messung HW getriggert nach bestimmter Impulsanzahl starten (/Thread-Messung-HW-getriggert-nach-bestimmter-Impulsanzahl-starten)



Messung HW getriggert nach bestimmter Impulsanzahl starten - Tobias.K - 23.10.2017 14:40

Guten Tag Community,

ich möchte Analogwerte in zwei Messbereichen bekommen. Ich habe mir überlegt die
Messungen Hardware getriggert nach einer bestimmten Anzahl von Impulsen durch meinen
Encoder zu starten und wieder nach einer bestimmten Impulsanzahl zu beenden. Ist das mit dem DAQmx Trigger möglich?

MfG Tobias


RE: Messung HW getriggert nach bestimmter Impulsanzahl starten - jg - 23.10.2017 20:22

Ob du durch einen Digital- oder Analog-Trigger eine Messung starten kannst, das hängt von deiner verwendeten DAQ-Hardware ab. Es gibt Karten, die das können, oder eben auch nicht. Was mir aber neu wäre, dass die Messung erst nach z.B. dem dritten Ereignis gestartet wird. Bisher ist mir nur untergekommen, dass das erste Trigger-Ereignis die Messung startet. Ich wüsste auch nicht, dass etwas anderes mit der DAQmx-API geht.

Zu Teil 2 deiner Frage, stoppen nach bestimmter Anzahl von Encoder-Signalen: Das könnte so gehen, du nimmst eine Phase deines Encoder-Signals als externen Analog-Erfassungstakt. Viele DAQmx-Karten können das. Dann definierst du den Task als Länge x Samples, und bist fertig. Allerdings hast du dann auch nur bei jedem Encoder-Signal 1 Analogwert. Aber vielleicht willst du das ja.

Gruß, Jens

EDIT: Mit einem cRIO lässt sich diese Aufgabe bei Einsatz passender c-Module sicher elegant im FPGA lösen und programmieren.


RE: Messung HW getriggert nach bestimmter Impulsanzahl starten - Tobias.K - 24.10.2017 08:27

Danke für deine Antwort Jens. Ich hatte auch nichts dazu gefunden das nach dem so und sovielten Ereignis gestartet wird. Deswegen habe ich als letzte Möglichkeit hier nachgefragt.
Ich werde das mal ausprobieren. Wo definiere ich den Task mit Länge x Samples?

Bis jetzt nehme ich die Messwerte so auf wie im Anhang zu sehen. Nach dem ich meinen Weg in mm erreicht habe wird der Case True und ich nehme eine endliche Anzahl Samples auf. Diese schreibe ich nach beenden der Schleife in ein Array. Die Messwertaufnahme Schleife wird beendet wenn in der Encoderschleife die Endlänge erreicht wird. Jetzt möchte ich aber im zweiten Messbereich auch die Werte in das gleiche Array schreiben oder in ein extra Array?

Meine Hardware:
NI9215 Analogeingangsmodul
NI9421 Digitalmodul


RE: Messung HW getriggert nach bestimmter Impulsanzahl starten - Lucki - 24.10.2017 22:40

(23.10.2017 14:40 )Tobias.K schrieb:  Ich habe mir überlegt die
Messungen Hardware getriggert nach einer bestimmten Anzahl von Impulsen durch meinen
Encoder zu starten und wieder nach einer bestimmten Impulsanzahl zu beenden. Ist das mit dem DAQmx Trigger möglich?

Es gibt nichts Einfacheres als das. Das muß doch nicht in DAQmx Trigger extra implementiert werden.
Ich gehe aus von Hardware -Taktung durch den Dekoder. Z.B soll bei den ersten 200 Takten keine Aufzeinung erfolgen, dann sollen 800 Daten erfasst werden:
[attachment=58384]
Der ersten 200 Daten werden ignoriert - am DAQm iRead Datenaugang wird nichts angeschlossen.


RE: Messung HW getriggert nach bestimmter Impulsanzahl starten - Achim - 25.10.2017 06:28

Vielleicht denke ich zu "einfach". Aber kann man das nicht als "Post-Prozessing" viel einfacher machen?

Also erst mal Werte aufnehmen, getriggert durch was auch immer, und dann anhand bestimmter Vorgaben die Aufteilung nach den gesuchten Werten machen, d.h. Aufteilung in zwei Bereichs-Arrays?


RE: Messung HW getriggert nach bestimmter Impulsanzahl starten - Lucki - 25.10.2017 12:44

(25.10.2017 06:28 )Achim schrieb:  Vielleicht denke ich zu "einfach". Aber kann man das nicht als "Post-Prozessing" viel einfacher machen?

Da war mein erster Gedanke auch, aber dann fiel mir ein, dass es noch einfacher wird, daß man, wenn man die ersten X Werte nicht braucht, sie gar nicht erst speichern muß. In meinem obigen Bild dient das erste DAQmx Read nur dazu, die Sample-Taktimpulse zu zählen.
Meine Methode erfordert etwas weniger Rechenaufwand, aber praktisch dürfte das nur in seltenen Fällen relevant sein. Es ist dann egal wie mans macht.


RE: Messung HW getriggert nach bestimmter Impulsanzahl starten - Tobias.K - 06.02.2018 15:14

Danke für eure Antworten. Ich musste mich leider in letzter Zeit mit einem anderen Thema beschäftigen, deswegen bin ich bis jetzt noch nicht weitergekommen.
Ich verfolge die Idee von Lucki weiter. Dabei ist mir aber ein Problem aufgefallen bei dem ich nicht weiter komme.

Wie schaffe ich die Hardware -Taktung durch den Encoder?
Gebe ich am Sample Takt Vi der Analogwerterfassung als Quelle den Digitaleingang der A Phase an?

Im Anhang habe ich ein Bild von meinem Programmentwurf.

MfG, Tobias