LabVIEWForum.de
Signalgenerator - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Module (/Forum-LabVIEW-Module)
+---- Forum: LabVIEW RealTime (/Forum-LabVIEW-RealTime)
+---- Thema: Signalgenerator (/Thread-Signalgenerator)

Seiten: 1 2


Signalgenerator - Striefchen - 06.02.2007 10:58

Moin Leute.

In einem meiner Projekte habe ich ein Sinusgenerator eingebaut und benutze diesen für die Erzeugung von Sinus wie Rechtecksignalen. Ich war bisher der Meinung das funktioniert so recht gut und alles ist in Ordnung. So wie im angehängten Beispiel habe ich meine Signale im FPGA-VI erzeugt.
[attachment=31406:Signalgeneration.vi]
In einem meiner Projekte erfasste ich Signale und stellte sie auf einem Graphen dar. Auch hier schien mir noch alles in Ordnung. Selbst am externen Oszilloskop sah ich nichts auffällig falsches. Ich habe die erfassten Signaldaten mit dem von NI mitgelieferten VI "Write Datalog (Datenprotokoll schreiben)" festgehalten. Als ich sie auf die umgekehrte Art und Weise wieder ausgelesen hab, fiel ich fast vom Hocker. Es scheint als ob Ich unzählig viele Signale der selben Art direkt nebeneinander habe, so daß ein Signalteppich enstand. der sieht zwar schön aus aber ist völlig unbrauchbar für meine Diplomarbeit.
[attachment=31405:ausgeles...essdaten.jpg]


Kann mir jemand sagen was da schief gelaufen sein könnte. Ich dachte daran das der Generator in einer while-Schleife liegt und diese den Generator zu oft nacheinander startet, bevor er fertig ist mit den vorigen Schwingungen. Aber eigentlich läuft der doch erst zu ende eh die Schleife in die nächste Runde springt, oder?
Einen Moment dachte ich auch das vorige messungen noch in der Protokolldatei stünden und ich nur neue dazu schreibe. Dieser idee bin ich aus dem Weg gegangen indem ich den Dateinamen ständig änderte um neue Werte festzuhalten.

Jetzt stehe ich da mit dicken Backen.


Gunni


Signalgenerator - Striefchen - 06.02.2007 14:51

Hat wirklich keiner eine Idee oder ähnliche Erfahrungen gemacht?Unsure

Hier ist's nochmal in der Version für LabVIEW 8.0 [attachment=31415:Signalgeneration.vi]


Gunni


Signalgenerator - Y-P - 06.02.2007 15:35

Hallo,

hier fehlen ein paar SubVIs, um das Ganze zu öffnen?
Könntest Du die evtl. noch hochladen?

Gruß Markus

' schrieb:Hat wirklich keiner eine Idee oder ähnliche Erfahrungen gemacht?Unsure

Hier ist's nochmal in der Version für LabVIEW 8.0 [attachment=31415:Signalgeneration.vi]
Gunni



Signalgenerator - Striefchen - 06.02.2007 22:09

' schrieb:Hallo,

hier fehlen ein paar SubVIs, um das Ganze zu öffnen?
Könntest Du die evtl. noch hochladen?

Gruß Markus


Uih. Welche wären das denn ? Bei mir sagt er ja nicht was fehlt.


Gunni


Signalgenerator - Striefchen - 07.02.2007 10:12

' schrieb:Uih. Welche wären das denn ? Bei mir sagt er ja nicht was fehlt.
Gunni

Morgen.

ich nehme an die SubVIs fehlen weil ich hier dieses Real-Time-Paket mit installiert habe. Aber zum angucken reicht vielleicht erstmal ein Screenshot.
[attachment=31453:Signalgenerator.jpg]


Gunni


Signalgenerator - Kvasir - 07.02.2007 11:31

Anschauen konnte ich es mir soweit auch schon. Solange ich keine Ahnung habe, was diese SubVis tun, kann ich dir da auch keinen Rat geben.

Hast du aber mal überprüft, wie du die Daten dann wieder einliest aus deiner Datei. Wenn am Oszi und sonst überall das Signal richtig ankommt is es ja vielleicht ein Fehler im Speichern/Laden?


Signalgenerator - Striefchen - 07.02.2007 11:38

' schrieb:Anschauen konnte ich es mir soweit auch schon. Solange ich keine Ahnung habe, was diese SubVis tun, kann ich dir da auch keinen Rat geben.

Hast du aber mal überprüft, wie du die Daten dann wieder einliest aus deiner Datei. Wenn am Oszi und sonst überall das Signal richtig ankommt is es ja vielleicht ein Fehler im Speichern/Laden?


Ja das hatte ich mir ja anfangs auch gedacht. Also habe ich die Messungen jedesmal in einer neuen Date3i abgespeichert. Diese ist laut dem Explorer dann auch vorhanden und beim Einlesen stellt er mir immer wieder so etwas dar.

Der Sinus-Generator ist blau eingerahmt wie die Express-VIs. Kann das sein das es daran liegt, daß die while-Schleife nicht wartet bis er fertig generiert hat sondern so ne Art parallele läuft? Der Generator macht nur vorgeschriebene 1024 Punkte für eine Schwingung.

Gunni


Signalgenerator - cb - 07.02.2007 21:13

der Signalgenerator macht höchstwahrscheinlich alles richtig. Ich vermute mal eher, du hast auf deinem Host VI vergessen beim "build Array" das "concatenate Inputs" einzuschalten, so dass du anstatt einem 1D Array, bei dem die Werte immer hintereinander gepappt werden ein 2D Array mit vielen Kurven-Abschnitten erhältst.

<klugscheiss>
Ausserdem benutzt man sowieso kein build Array bei den in deiner DA auftretenden Datenraten sondern legt die maximale Datenmenge fest und verwendet einen Ringspeicher, der einen definiert langen Ausschnitt der Daten zwischenspeichert & darstellt und schmeisst die alten Daten weg. Bei deiner Methode platzt dir früher oder später der Arbeitsspeicher des Host-PCsBig Grin*

Guckst du in meinem CRIO 01 Projekt, da ist das schon mit drinWink[ich hab doch gesagt, du hast die fertige LösungWink]
</klugscheiss>

*falls es dich tröstet, ich hab das bei meiner DA auch so probiert und auf die Art und weise gelernt, wie man mit LV wunderschöne BlueScreens (auf Win98) erzeugtWink


Signalgenerator - Striefchen - 08.02.2007 10:07

' schrieb:der Signalgenerator macht höchstwahrscheinlich alles richtig. Ich vermute mal eher, du hast auf deinem Host VI vergessen beim "build Array" das "concatenate Inputs" einzuschalten, so dass du anstatt einem 1D Array, bei dem die Werte immer hintereinander gepappt werden ein 2D Array mit vielen Kurven-Abschnitten erhältst.

<klugscheiss>
Ausserdem benutzt man sowieso kein build Array bei den in deiner DA auftretenden Datenraten sondern legt die maximale Datenmenge fest und verwendet einen Ringspeicher, der einen definiert langen Ausschnitt der Daten zwischenspeichert & darstellt und schmeisst die alten Daten weg. Bei deiner Methode platzt dir früher oder später der Arbeitsspeicher des Host-PCsBig Grin*

Guckst du in meinem CRIO 01 Projekt, da ist das schon mit drinWink[ich hab doch gesagt, du hast die fertige LösungWink]
</klugscheiss>

*falls es dich tröstet, ich hab das bei meiner DA auch so probiert und auf die Art und weise gelernt, wie man mit LV wunderschöne BlueScreens (auf Win98) erzeugtWink


Morgen i2dx.

Ich weiß nicht was du meinst mit dem Array concatenate Inputs, aber die Art wie ich es gemacht habe um es abzuspeichern hatte ich eigentlich schon aus deinem Beispiel abgekupfert. Habe ich was falsch oder meinst du was anderes?
Schritt1 der Machine auf dem HOST: [attachment=31494:Daten_au...in_Array.jpg]

Schritt 2 (HOST):[attachment=31495:speicher...rotokoll.jpg]


Gunni


Signalgenerator - Diplomant2007 - 08.02.2007 12:21

' schrieb:Morgen i2dx.

Ich weiß nicht was du meinst mit dem Array concatenate Inputs, aber die Art wie ich es gemacht habe um es abzuspeichern hatte ich eigentlich schon aus deinem Beispiel abgekupfert. Habe ich was falsch oder meinst du was anderes?
Schritt1 der Machine auf dem HOST: [attachment=31494:Daten_au...in_Array.jpg]

Schritt 2 (HOST):[attachment=31495:speicher...rotokoll.jpg]
Gunni


Hallo Gunni

Sehe ich das richtig dass du deine Messwerte in ein Array abspeicherst und danach in ein Protokoll schreibst? Dann kann es doch auch sein das bei jedem Schleifendurchlauf deine Messwerte über schon bestehende geschrieben werden.

Gruß Alfred