LabVIEWForum.de - gemessene Daten mit Signalverlaufsgraph darstellen

LabVIEWForum.de

Normale Version: gemessene Daten mit Signalverlaufsgraph darstellen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hi.

Ich bin ein absoluter Anfänger in LabVIEW und bin komme mit meiner Diplomarbeit einfach nicht voran.
Ich habe gehört der der Signalverlaufsgraph wäre in der Lage mit drei Sachen (X0, Delta-X und die Daten in Form eines Arrays) ein Signal darzustellen.

Die Signale um die es sich handelt sind immer wiederkehrende Rechteck oder Sinusschwingungen.

Vielleicht liege ich falsch, aber ich glaube mit dem Delta-X ist der Abstand von einem Signalabtastpunkt bis zum nächsten. Aus diesem Grund habe ich die Schleifendurchlaufzeit (beim FPGA-VI) als das Delta-X angenommen. Ich denke das bei jedem Schleifendurchlauf ein Element in den FIFO-Speicher geschrieben wird - das sollte dann sozusagen ein Signalabtastpunkt sein.

FPGA Ordner: [attachment=30524:attachment][attachment=30527:attachment]


HOST: Da die Zeit in µs gemessen wird habe ich sie in Sekunden umgerechnet um alles in der selben Einheit vorliegen zu haben. Die einzelnen Elemente des FIFOs bekomme ich doch jetzt als Datenarray geliefert mit FIFO.Read.

HOST-Ordner: [attachment=30525:attachment][attachment=30526:attachment][attachment=30528:atta
hment][attachment=30529:attachment]


Ich war der Meinung das so alles funktionieren könnte. Das Signal zappelt aber nur auf einem Punkt nahe der 0 beim Graphen. Zudem sind alle Werte jetzt nur positiv.

Kann mir jemand sagen was ich falsch mache?


Gunni
Hallo Leute.

Warum mein Signal so auf der Stelle rum gezappelt hat weiß ich nun. Da mein Graph in der Schleife liegt wird er ja jedes mal neu gezeichnet. Da er jedesmal neue Werte bekommt und bei 0 anfängt passiert da nicht viel. Ich habe jetzt die Daten die ich aus dem FIFO lese in ein array auf dem HOST geschrieben. Dort werden sie bei jedem Durchlauf hinten dran gehängt. Es sollten 10000 Werte auf einmal sein wenn ich mich nicht täusche.

Was mir aber immer noch Kopfschmerzen bereitet ist, daß ich aus dem FIFO nur positive Werte erhalte und diese gar nicht in dem Bereich liegen wie man sie vermuten sollte. Ich habe den Ausgang vom CompactRIO (wo das generierte Signal anliegt) mit dem analogen Eingang des gerätes kurz geschlossen. also sollte das Signal gar nicht oder kaum verändert sein.


Ich generiere Sinus und rechtecksignale mit negativem Anteil.
Kann mir jemand sagen warum die Signal nicht auch wieder so gemessen werden?
' schrieb:Was mir aber immer noch Kopfschmerzen bereitet ist, daß ich aus dem FIFO nur positive Werte erhalte und diese gar nicht in dem Bereich liegen wie man sie vermuten sollte. Ich habe den Ausgang vom CompactRIO (wo das generierte Signal anliegt) mit dem analogen Eingang des gerätes kurz geschlossen. also sollte das Signal gar nicht oder kaum verändert sein.
Ich generiere Sinus und rechtecksignale mit negativem Anteil.
Kann mir jemand sagen warum die Signal nicht auch wieder so gemessen werden?


Hallo.

Auch das Problem mit den positiven Werten konnte ich jetzt lösen. Der FIFO speichert die Werte mit dem Datentyp des vorzeichenlosen LongInt ab. Diese Hürde konnte ich umgehen indem ich meinen Messwerten die nie unter -32768 liegen würden eine Zahl im Betrag größer als diese addiere und im HOST-VI dann wieder abziehe.

Wenn ich mein Programm jetzt laufen lasse werden mir Schwingungen angezeigt, nur leider nicht mit der Frequenz. Am externen Oszi sehe ich ein gleichmässiges Signal mit genau den voreingestellten Parametern. Mein Graph zeigt mir Schwingungen mit wesentlich höherer Frequenz und außerdem ungleichmässigen Periodenzeiten.

Ich nehme an es liegt am Delta-X, was ich aus der Schleifendurchlaufzeit vom FPGA-VI ermittel. Ist da nur ein Denkfehler in meinem Programm oder geht das so gar nicht?


Gunni
sehe ich das hier richtig, dass du dich hier mit dir selbst unterhalten musst?!
ich hoffe ich störe da nicht.Wink

Ich denke du liegst richtig, wenn du das delta x für die zuhohe Frequenz verantwortlich machst.
Leider kenn ich mich nur mit DAQmx aus:
Bei DAQmx gibt es im Eigenschaftsknoten die Eigenschaft SampleTakt.Rate. Diese zeigt die tatsächliche Abtastfrequenz. Ist recht hilfreich, aber ich denke dann muss man seine Hardware auch über das vi Daqmx Timing konfigurieren. kann aber sein, dass es beim FPGA wieder alles anders ist.

# oh, ich sehe gerade, dass das thema uralt ist... hat sich wohl erledigt.
Referenz-URLs