INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

25.07.2011, 10:56
Beitrag #1

TobiasMo Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Jul 2011

2010
2011
kA



Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf
Hallo,

erstmal folgende Angaben:
LV-Version 2010
Hardware zur Signalaufnahme: Compactrio 9022

Mit unten stehendem VI möchte ich Signaldaten aufnehmen und am Computer sichtbar machen und weiter verarbeiten (FFT).

Im unteren Teil des VI erstelle ich ein künstliches, aus 2 Sinus zusammengesetztes Signal und ermittle damit problemlos mein Spektrum.

   

Im oberen Teil ist an AI0 ein Signalgenerator angeschlossen, der über den Compactrio eingelesen wird. Angezeigt wird das Signal, aber ich kann kein Leistungsspektrum daraus erzeugem. Zusätzlich ist das Signal nicht schön dargestellt (zweiter Screenshot, eingestellte Frequenz: 1Hz). Die Fehlermeldung: Unterschiedlicher Dateityp. Datenquelle ist 64bit reell und Datensenke ist Signalverlauf. Kann man das konvertieren? Und in einem zweiten Schritt: kann man das Signal nicht so abgestuft darstellen?

Gruß, Tobias


Angehängte Datei(en) Thumbnail(s)
   

2010 .vi  host.vi (Größe: 115,62 KB / Downloads: 220)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
25.07.2011, 12:11 (Dieser Beitrag wurde zuletzt bearbeitet: 25.07.2011 12:12 von GerdW.)
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf
Hallo Tobias,

Zitat:Datenquelle ist 64bit reell und Datensenke ist Signalverlauf. Kann man das konvertieren?
Ja.
Aber noch besser als Konvertieren ist ordentliches Sammeln eines Signalverlaufs, d.h. Sammeln der Werte in einem Array...
Und noch viel besser wäre der Verzicht auf ExpressVIs - dann muss man erst gar nicht mit dem (unübersichtlichen) Datentyp "Signalverlauf" hantieren...

Zitat:Und in einem zweiten Schritt: kann man das Signal nicht so abgestuft darstellen?
Ja.
- höhere Samplingrate
- größere Datenübertragungsrate
- Aufnehmen ganzer Signalverläufe und Versenden dieser an den Host
- andere Plot.Interpolation für den Plot einstellen

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.07.2011, 12:26
Beitrag #3

TobiasMo Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Jul 2011

2010
2011
kA



RE: Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf
Hallo,

Zitat:Aber noch besser als Konvertieren ist ordentliches Sammeln eines Signalverlaufs, d.h. Sammeln der Werte in einem Array...

Welche Art von Array nimmt man dann? Sammelt ein Array die Daten ersteinmal in einen Speicher und gibt sie dann weiter, oder passiert das kontinuierlich? Welche Angaben muss das Array enthalten?
Und: wie verarbeitet man die Daten des Arrays dann weiter? Nach erstem Sichten und Probieren gibt es meiner Meinung nach verschiedene Möglichkeiten des erstellens eines Leistungsspektrums / FFT. Ich kann dort keine Unterschiede feststellen.

Zitat:- höhere Samplingrate

Wo stelle ich die Samplingrate ein?

Zitat:- Aufnehmen ganzer Signalverläufe und Versenden dieser an den Host

D.h. ich erstelle ein VI im "Gerätebereich", also unter dem Unterreiter Compact Rio, das sich mit dem Erfassen beschäftigt (Erstellen des Arrays?), und erst im zweiten Schritt werden diese Dateien im Host-VI auf dem Rechner analysiert?

Vielen Dank schon einmal für die bisherige Antwort.

Gruß, Tobias
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.07.2011, 12:35
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf
Hallo Tobias,

Zitat:Wo stelle ich die Samplingrate ein?
In deinem Beispiel über die Schleifen-Iterationsrate. Wobei die ScanEngine auf ca. 1kHz beschränkt ist...

Zitat:erst im zweiten Schritt werden diese Dateien im Host-VI auf dem Rechner analysiert?
Ja. Der PC ist meist potenter als das cRIO und kann stupide Rechenaufgaben erledigen.

Zitat:Welche Art von Array nimmt man dann?
Gibt es da verschiedene Arten? Ich würde das nehmen, welches am besten zur Aufgabe passt...

Zitat:Sammelt ein Array die Daten ersteinmal in einen Speicher und gibt sie dann weiter, oder passiert das kontinuierlich?
Hängt von deiner Programmierung ab...

Zitat:Welche Angaben muss das Array enthalten?
Die Messdaten!?

Du sammelst z.B. 1024 Messwerte in einem Array und schickst diesen Datenblock (per SharedVariable) an den PC. Der kann dann bequem eine FFT davon berechnen und die UI-Darstellung übernehmen...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
27.07.2011, 14:45
Beitrag #5

TobiasMo Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Jul 2011

2010
2011
kA



RE: Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf
Hallo,

Zitat:Schleifen-Iterationsrate

Wo stell ich diese ein? In den Eigenschaften zur Schleife hab ich gesucht, aber nichts gefunden. Gibt es einen extra Port, den man an die Schleife hängen, und mit einer numerischen Konstante versehen muss?

Zitat: Zitat:Welche Art von Array nimmt man dann?

Gibt es da verschiedene Arten? Ich würde das nehmen, welches am besten zur Aufgabe passt...

Ich meine damit 1D, 2D ... . Reicht zum Sammeln der Daten und zum Erstellen des Signalverlaufs einfach das Erstellen des Array, oder muss danach geschaltet noch etwas passieren? Ich habe folgenden Screenshot gemacht um das nochmal zu verdeutlichen. Mir ist denke ich klar, dass es nicht so einfach geht, aber irgendwie muss man ja anfangen. Dort sind zwei Versionen dargestellt, die ich schon mal in Beispielen gefunden habe, habe aber keine Ahnung wann man was nimmt.

   

Zitat:Du sammelst z.B. 1024 Messwerte in einem Array und schickst diesen Datenblock (per SharedVariable) an den PC.

Für den ersten Schritt würde es auch reichen., Aber ich würde gerne die Messdaten nicht erst irgendwo zwischenspeichern und dann auslesen, sondern gleich weiterverarbeiten und das Leistungsspektrum erstellen. Sozusagen online bei einer Frequenzänderung gleich die Auswirkungen sehen. Sorry, wenn das aus meinen Fragen nicht deutlich hervorging.

Gruß, Tobias
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2011, 08:38
Beitrag #6

TobiasMo Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Jul 2011

2010
2011
kA



RE: Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf
Hallo,

hab ich euch verschreckt?

Möchte nicht den Eindruck erwecken, dass ich mich hier nur berieseln lasse. Ich habe bevor ich den Thread erstellt habe und auch jetzt noch Stunden mit Tutorials, der internen Labviewhilfe und dem Forum hier verbracht. Durch einige Sachen steig ich einfach nicht durch. Hab halt noch überhaupt keine Erfahrungen mit Labview und muss mich jetzt selbstständig da irgendwie zurecht finden.

Beste Grüße,

Tobias
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
29.07.2011, 08:44
Beitrag #7

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf
Hallo Tobias,

Zitat:Schleifen-Iterationsrate - Wo stell ich diese ein?
Die stellt man ein, indem man eine Wartefunktion (aus der "Zeit"-Palette) in die ansonsten ungebremst laufende Schleife einfügt. Beachte: diverse Funktionen bringen ihre eigenen Wartezeiten mit - wie z.B. Datenerfassungsfunktionen...

Zitat:Aber ich würde gerne die Messdaten nicht erst irgendwo zwischenspeichern und dann auslesen, sondern gleich weiterverarbeiten und das Leistungsspektrum erstellen.
Erstelle dir einen Buffer und ersetze darin immer wieder den ältesten durch einen neuen Wert...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2011, 11:02 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2011 19:04 von jg.)
Beitrag #8

TobiasMo Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Jul 2011

2010
2011
kA



RE: Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf
Hallo,

vielen Dank, für die bisherigen Antworten, aber:

Habe nochmal ganz von vorne angefangen. Dazu habe ich mich an unten stehendem Beispiel orientiert (screenshot "einfaches Bsp"), welches auch tadellos funktioniert (simulierter zusammengesetzter Sinus). Dann habe ich analog dazu ein neues Projekt erstellt ("Leistungsspektrum ermitteln.vi" und als Ersatz für den simulierten Sinus mein echtes Signal genommen.
   

Zitat:Erstelle dir einen Buffer und ersetze darin immer wieder den ältesten durch einen neuen Wert...

Frage: Welchen Befehl muss ich für den Buffer verwenden, und muss er an die Stelle, wo ich ihn im Screenshot "Bild_Leistungsspektrum" vermute?
   

Momentan ist es ja logischerweise so, dass der Wert gelesen wird, der einzeln in das Array geschrieben wird, und der dann einzeln weiter gegeben wird. Ist die Bufferfunktion nicht auch mit dem Array anwendbar? Also in das Array z.B. 1000 Werte schreiben und die dann analysieren, und dann in der neuen Schleife die beginnt das Array neu schreiben lassen? Kann oder muss man dann auf den Signalverlauf verzichten?

Oder ist der Fehler bei der Funktion "Signalverlauf erstellen" zu finden? Ich möchte ja keinen einzelnen Wert, sondern aus einer Reihe von Werten einen Signalverlauf erstellen. Muss man dort ein zusätzliches Attribut erzeugen?

Beste Grüße, Tobi


Angehängte Datei(en) Thumbnail(s)
   

2010 .vi  Leistungsspektrum ermitteln.vi (Größe: 14,5 KB / Downloads: 205)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.08.2011, 12:10 (Dieser Beitrag wurde zuletzt bearbeitet: 17.08.2011 12:13 von GerdW.)
Beitrag #9

GerdW Offline
______________
LVF-Team

Beiträge: 17.480
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf
Hallo Tobias,

Zitat:Also in das Array z.B. 1000 Werte schreiben und die dann analysieren,
Ja dann mach das doch! Bisher erzeugst du nur ein Array mit einem einzigen Wert darin...
   
Man kann aber auch 1000 Messwerte in ein Array schreiben (für das richtige Timing musst du noch sorgen!).

Bufferfunktion: Gibt es nicht direkt. Kann man aber einfach machen: Array der gewünschten Größe initialisieren, Einzelwerte darin ersetzen... (Schieberegister sind sehr hilfreich, wenn man sich Werte merken will!)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.08.2011, 12:18
Beitrag #10

TobiasMo Offline
LVF-Grünschnabel
*


Beiträge: 30
Registriert seit: Jul 2011

2010
2011
kA



RE: Datenerfassung mit Compactrio 9022 - Umwandlung von 64bit reell in Signalverlauf
Hallo,

schon mal vielen Dank für den Tipp. War echt gut!

Im weiteren Verlauf möchte ich nun bei einzelnen Frequenzbereichen eine boolesche Anzeige haben, ob ich gerade in diesem Frequenzbereich bin oder nicht. Der untere Zweig im Bild funktioniert sehr gut, aber nur im Gesamtbereich.

Im oberen Zweig des Blockdiagramms möchte ich das auch in einzelnen Frequenzbereichen haben (hier im Beispiel von 1-3,5 Hz). Dazu nutzt man den Bandpassfilter, oder? Setze ich ihn an der richtigen Stelle ein? Ich habe es an mehreren Stellen versucht, logisch wäre es meiner Meinung nach nach dem Cluster und vor der Anzeige, aber da kommen die Datentypen durcheinander.

   

   

Die Labview-Version ist 2010.

Viele Grüße,

Tobias


Angehängte Datei(en)
0 .vi  Leistungsspektrum ermitteln.vi (Größe: 20,87 KB / Downloads: 198)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Kommastellen fehlen in Umwandlung von String to Number dieseldunst 3 5.138 29.03.2017 08:10
Letzter Beitrag: GerdW
  Umwandlung in Zeitbereich mit IFFT Saffier 3 5.401 15.10.2013 09:02
Letzter Beitrag: Saffier
  Umwandlung 1D-Array (Singalverlauf) in 1D-Array (64-Bit Reell (15 Stellen Genauigkeit thhipp 1 3.584 16.09.2011 15:00
Letzter Beitrag: Y-P
  Umwandlung in einen anderen Datentyp !!! FlorianM 43 33.996 18.05.2007 11:56
Letzter Beitrag: FlorianM

Gehe zu: