Hallo zusammen!
Stelle gerade überrascht fest, dass ich mich noch gar net so richtig beim Schrotti für die tolle Hilfe bedankt habe...
Ist wohl irgend wie untergegangen, sorry!
Das hole ich hiermit nach! Vielen Dank! Gerade der letzte Link war sehr hilfreich!!!
Inzwischen ist meine Diplomarbeit fertig...
Auf Grund einer kürzlichen Nachfrage poste ich hier mal die Lösung, die meine Probleme mit der Datenerfassung mit DAQmx gelöst hat.
Der
Block 1 definiert einen Task zur Messung einer analogen Spannung an der PCI-Karte
(Device1) und einem analogen Eingang
(ai4).
Es soll immer dann ein Analogwert eingelesen werden, wenn das Kurbelwellensignal
(PFI3) auftritt. Dies wird durch
Block 2 definiert.
Die gemessenen Werte sollen in einem Zwischenspeicher hinterlegt werden.
Block 3
Anschließend definiert
Block 4 einen Trigger . Dieser sorgt dafür, dass die Messung erst beim Auftreten des Nockenwellensignals
(PFI5) beginnt.
Tritt jetzt besagtes Nockenwellensignal auf, wird der Task gestartet. Alle gemessenen Druckwerte werden in den Speicher geschrieben. Der
Block 5 gibt die Anzahl der gemessenen Werte an den Vergleicher, der sobald alle 720 Werte vorhanden sind die Case-Struktur und somit die Bearbeitung der Messwerte
(hier symbolisch mit der Array-Anzeige dargestellt) startet.
Die Probleme mit der Geschwindigeit der Datenerfassung sind mit diesem Programm erledigt. Die gesamte Datenerfassung wird hier von der PCI-Karte erledigt. Erst wenn alle 720 Werte erfasst wurden, erfolgt eine Bearbeitung innerhalb der Software. Lediglich der Speicher muss größer als 720 Messwerte sein, da es eine Weile dauern kann, bis die Software das Vorhandensein der Messwerte erkennt. Als Folge bekommt man immer einen Array mit mehr Werte als man eigentlich braucht. Diese können aber problemlos in der Software "abgeschnitten" werden.
Ist die Bearbeitung der Software abgeschlossen, wird die Case-Struktur beendet und der Task erneut vorbereitet. In Folge dieser Vorgehensweise kann man allerdings nicht jedes Arbeitsspiel eine Messung durchführen. Wärend die Bearbeitung innerhalb der Software läuft, vergehen ein paar Umdrehungen des Motors, ohne das diese Erfasst werden können. Bei mir war das egal....
Hoffe dass das für den ein oder anderen hilfreich war!
Grüße und nochmal vielen Dank an Schrotti!
Dipl. Ing. (FH) Kerl