08.06.2009, 17:11
Hallo liebe LabVIEW-Gemeinde!
Ich arbeite jetzt seit geraumer Zeit an meinem ersten LabVIEW Programm und möchte mich als erstes mal bei allen Beteiligten für dieses tolle Forum bedanken!!! Habe bereits viele viele Anfängerproblemchen durch die Suche lösen können! Nun stecke ich aber leider fest! Ich habe hier gepostet, da ich davon ausgehe, dass das Problem mit der DAQmx Datenerfassung zusammenhängt. Da dieses Programm mein erster Kontakt zu LabVIEW ist, kann ich aber auch einen Programmfehler net ausschließen... sorry!
Zum Programm:
Über einen xy-Graph soll das pV-Diagramm eines Verbrennungsmotors dargestellt werden. Das heißt, der Druck in einer Brennkammer soll über dem Hubvolumen des Zylinders dargestellt werden.
Dazu wird analog der Druck, und digital ein Nockenwellen- und Kurbelwellen-Signal erfasst.
Die Nockenwelle erzeugt einen Impuls alle zwei Umdrehungen des Motors und startet die Messung.
Die Kurbelwelle liefert über einen Drehwinkelgeber 360 Impulse pro Umdrehung.
In der "Messschleife" des Programms schiebe ich bei jedem Impuls der Kurbelwelle den aktuellen Winkel und den dazugehörigen Druck jeweils in einen 1D-Array. Nach zwei Umdrehungen des Motors (= 720 Signale der Kurbelwelle) wird die Messung beendet, und aus dem Winkel-Array wird der Hubvolumen-Array berechnet. Anschließend wartet das Programm auf das Nockenwellensignal, um erneut zu starten.
Das Problem:
Das pV-Diagramm wird zwar dargestellt, aber es "steht" nicht, sonders es sieht so aus, als ob es rotiert (um eine Achse, die in der Mitte des pV-Diagramms senkrecht verläuft). Ich vermute, dass es daran liegt, dass immer mal wieder Impulse der Kurbelwelle nicht erfasst werden. Es ist aber wichtig, dass jeder Impuls sofort erfasst wird!!! Fällt da vielleicht jemandem was zu ein!?
Ach ja, bei 6000 U/min des Motors liegt das Digitalsignal der Kurbelwelle mit 36kHz an. Die Karte kann digitale Signale bis 1MHz erfassen. Ich weiß net, wo da das Problem liegt!
Hardware:
NI PCI-6220
Würde mich freuen, wenn mir da jemand weiter helfen könnte!
Gruß,
der Kerl
Ich arbeite jetzt seit geraumer Zeit an meinem ersten LabVIEW Programm und möchte mich als erstes mal bei allen Beteiligten für dieses tolle Forum bedanken!!! Habe bereits viele viele Anfängerproblemchen durch die Suche lösen können! Nun stecke ich aber leider fest! Ich habe hier gepostet, da ich davon ausgehe, dass das Problem mit der DAQmx Datenerfassung zusammenhängt. Da dieses Programm mein erster Kontakt zu LabVIEW ist, kann ich aber auch einen Programmfehler net ausschließen... sorry!
Zum Programm:
Über einen xy-Graph soll das pV-Diagramm eines Verbrennungsmotors dargestellt werden. Das heißt, der Druck in einer Brennkammer soll über dem Hubvolumen des Zylinders dargestellt werden.
Dazu wird analog der Druck, und digital ein Nockenwellen- und Kurbelwellen-Signal erfasst.
Die Nockenwelle erzeugt einen Impuls alle zwei Umdrehungen des Motors und startet die Messung.
Die Kurbelwelle liefert über einen Drehwinkelgeber 360 Impulse pro Umdrehung.
In der "Messschleife" des Programms schiebe ich bei jedem Impuls der Kurbelwelle den aktuellen Winkel und den dazugehörigen Druck jeweils in einen 1D-Array. Nach zwei Umdrehungen des Motors (= 720 Signale der Kurbelwelle) wird die Messung beendet, und aus dem Winkel-Array wird der Hubvolumen-Array berechnet. Anschließend wartet das Programm auf das Nockenwellensignal, um erneut zu starten.
Das Problem:
Das pV-Diagramm wird zwar dargestellt, aber es "steht" nicht, sonders es sieht so aus, als ob es rotiert (um eine Achse, die in der Mitte des pV-Diagramms senkrecht verläuft). Ich vermute, dass es daran liegt, dass immer mal wieder Impulse der Kurbelwelle nicht erfasst werden. Es ist aber wichtig, dass jeder Impuls sofort erfasst wird!!! Fällt da vielleicht jemandem was zu ein!?
Ach ja, bei 6000 U/min des Motors liegt das Digitalsignal der Kurbelwelle mit 36kHz an. Die Karte kann digitale Signale bis 1MHz erfassen. Ich weiß net, wo da das Problem liegt!
Hardware:
NI PCI-6220
Würde mich freuen, wenn mir da jemand weiter helfen könnte!
Gruß,
der Kerl