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 

Daten aus for-Schleife in while-Schleife



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!

29.06.2006, 16:56
Beitrag #1

Katagia
Unregistered


 







Daten aus for-Schleife in while-Schleife
<div align="left">Hallo

Bin noch ziemlich neu in LabVIEW und hänge gerade.
Ich habe ein primitives EKG aufgebaut.
Die Messdaten lese ich vorerst über die Soundkarte ein.
Ich weiß der Hochpass am Eingang mach mir mein Signal kaputt,
aber zum Erkennen reicht es.
Ich habe mir die Beispielanwendung dazu in der Hilfe angesehen.
"SI Read" wird in einer while-Schleife ausgeführt. Die neuen Messdaten
landen zusammen mit den vergangenen Messungen in einem Schieberegister.
Die Daten werden gefiltert und dann als Graph ausgegeben.

Jetzt sollen die Messdaten als zusätzliche Funktion aus einer Spreadsheet-Datei gelesen
werden. Wenn ich die Datei lade, sind alle Daten in einem großen Array.
Ich will aber ein "reales" Signal emulieren, also die while-Schleife alle 100ms mit den
Daten der letzen 100ms füttern.

Meine Idee war, neben die While-Schleife, in der das Signal verarbeitet wird, eine
For-Schleife zu setzen, die alle 100ms ein Array mit den Daten ausgibt.
Leider funktioniert das ganze so nicht. Im "Highlight" Modus sehe ich, wie die For-Schleife
sauber durchlaufen wird. Leider kommen die Daten aus der For-Schleife nicht heraus und
meine While-Schleife wird nicht mit den Daten gefüttert.

Meine Idee war, dass die Signalverarbeitung in der while-Schleife für beide Fälle, also
Signal von Line-In oder Signal aus Datei, identisch ist.
Lediglich die Datenquelle soll umgeschaltet werden.

Bis dann,</div>
Diese Nachricht in einer Antwort zitieren to top
Anzeige
29.06.2006, 18:01
Beitrag #2

Katagia
Unregistered


 







Daten aus for-Schleife in while-Schleife
Anbei noch ein Screenshot. Ist so vielleicht leichter verständlich Smile


Angehängte Datei(en) Thumbnail(s)
   
Diese Nachricht in einer Antwort zitieren to top
30.06.2006, 07:14
Beitrag #3

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Daten aus for-Schleife in while-Schleife
Hi,

wenn ich mich nicht ganz arg täusche, dann kannst Du nicht das gesamte Array nach einem Schleifendurchlauf von 100 ms (durch Verzögerung) auslesen. Entweder liest Du einzeln pro Schleifendurchlauf einen Wert aus, dann musst Du aber "Enable Indexing" aktivieren (Rechtsklick auf die beiden "Ausgänge" Deiner For-Schleife und dann "Enable Indexing" anklicken. Oder aber die For-Schleife läuft so oft durch, wie viele Elemente in Deinem Array sind und gibt dann das gesamte Array auf einmal aus.
Daher würde ich in Deinem Fall die Verzögerung nicht in der For-Schleife setzen, sondern außerhalb. Dann kannst Du ja schauen, wie lange die For-Schleife benötigt und die Differenz auf 100 ms auffüllen. Weil um ein Array auszulesen dauert es bestimmt keine 100 ms.
Hoffentlich habe ich Dein Problem richtig erkannt. Rolleyes

Gruß M.Weippert

' schrieb:<div align="left">Hallo

Bin noch ziemlich neu in LabVIEW und hänge gerade.
Ich habe ein primitives EKG aufgebaut.
Die Messdaten lese ich vorerst über die Soundkarte ein.
Ich weiß der Hochpass am Eingang mach mir mein Signal kaputt,
aber zum Erkennen reicht es.
Ich habe mir die Beispielanwendung dazu in der Hilfe angesehen.
"SI Read" wird in einer while-Schleife ausgeführt. Die neuen Messdaten
landen zusammen mit den vergangenen Messungen in einem Schieberegister.
Die Daten werden gefiltert und dann als Graph ausgegeben.

Jetzt sollen die Messdaten als zusätzliche Funktion aus einer Spreadsheet-Datei gelesen
werden. Wenn ich die Datei lade, sind alle Daten in einem großen Array.
Ich will aber ein "reales" Signal emulieren, also die while-Schleife alle 100ms mit den
Daten der letzen 100ms füttern.

Meine Idee war, neben die While-Schleife, in der das Signal verarbeitet wird, eine
For-Schleife zu setzen, die alle 100ms ein Array mit den Daten ausgibt.
Leider funktioniert das ganze so nicht. Im "Highlight" Modus sehe ich, wie die For-Schleife
sauber durchlaufen wird. Leider kommen die Daten aus der For-Schleife nicht heraus und
meine While-Schleife wird nicht mit den Daten gefüttert.

Meine Idee war, dass die Signalverarbeitung in der while-Schleife für beide Fälle, also
Signal von Line-In oder Signal aus Datei, identisch ist.
Lediglich die Datenquelle soll umgeschaltet werden.

Bis dann,</div>

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.06.2006, 09:10
Beitrag #4

Katagia
Unregistered


 







Daten aus for-Schleife in while-Schleife
Guten morgen.

Wenn alle Elemente aus dem Array auf einmal an die while Schleife übergebe,
am Übergabepunkt "Enable Indexing" verwende, funktioniert das ganze.
Jetzt will ich die Daten von Line-In mit der selben Methode übergeben.
Hierbei bekomme ich pro Sekunde ein neues Array mit 2x4096.
Leider gibt die while Schleife, in der ich die Daten von Line-In lese,
nur beim letzten Durchlauf Daten aus.
Wie kann ich dafür sorgen, dass die Schleife bei jedem Durchlauf Daten
ausgibt?

Bis dann,


Angehängte Datei(en) Thumbnail(s)
   
Diese Nachricht in einer Antwort zitieren to top
30.06.2006, 09:25
Beitrag #5

nemesis Offline
LVF-Grünschnabel
*


Beiträge: 16
Registriert seit: Apr 2006

8.20 inkl. Real-Time und FPGA Module
2004
kA


Deutschland
Daten aus for-Schleife in while-Schleife
Ich bin jan och nicht so lange bei LabVIEW dabei, aber liest du nicht in der ersten While schleife deine Daten ein bis die Stp bedingung erfüllt wird, erst dann geht er in die andere Schleife und gibt die Daten aus oder?

In dem Fall gibt er natürlich nur die letzten Daten aus, die Ausgabe sollte in derselben Schleife erfolgen, z.B über lokale Varablen.

Hoffe mal ich hab das Problem hier richtig erkannt, wenn nicht sorry...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.06.2006, 09:53
Beitrag #6

Katagia
Unregistered


 







Daten aus for-Schleife in while-Schleife
Es ist genau so wie du schreibst.

Ich weiß, wenn ich die rechte While-Schleife mit den Schieberegistern in die linke while-Schleife
stecke, würden die Daten richtig ankommen.
Dann hätte ich den Code in der innersten while-Schleife doppelt, da der selbe Code für
Daten aus einer geladenen Datei verwendet wird.

Die Idee mit der lokalen Variable ist nicht schlecht. Nur in welche Variable kann ich ein 2x4096 Array
speichern?

Mir fehlt noch ein wenig der Überblick.

Bis dann,
Diese Nachricht in einer Antwort zitieren to top
Anzeige
30.06.2006, 12:29
Beitrag #7

Kvasir Offline
LVF-Freak
****


Beiträge: 642
Registriert seit: May 2006

10
2004
DE_EN

0000
Oesterreich
Daten aus for-Schleife in while-Schleife
Solange deine Messschleife läuft, kannst du außerhalb dieser Schleife nicht arbeiten.

Du könntest aber die Indizierung aktivieren bei der Schleife. Dadurch bekommst du dann einen 3D Array mit 2x4096xN(Messungen) als Größe.
Den kannst du dann wieder abarbeiten.

Oder du packst die gesamte rechte Schleife in deine Messschleife, dann werden die Daten gleich bei jeder Messung verarbeitet und sekündlich aktualisiert.

A few weeks of developement and testing can save a WHOLE afternoon in the library!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
30.06.2006, 16:37
Beitrag #8

Katagia
Unregistered


 







Daten aus for-Schleife in while-Schleife
Meinst du Indizierung am Ausgang der linken while-Schleife? Das funktioniert leider nicht.
Die Daten kommen wieder erst beim letzten Durchlauf raus.

Ich will die Daten bereits während der Messung ausgeben.

Ich habe in einem anderen Posting einen Tip bekommen.
Ich speichere die Abtastwerte in einer lokalen Variable.
Leider hängt es hier noch bei mir.

Wie kann überhaupt eine lokale Variable für Arrays erstellen?
Ich habe über das Frontend ein Array erstellt.
Wenn ich versuche, dieses Array mit dem 8Bit Stereo Ausgang verbinde,
erhalte ich den Fehler:
The type of the source is 2-D array of unsigned byte [8-bit integer (0 to 255).
The type of the sink is 2-D array of void.

Ich wollte darauf verzichten, die rechte while-Schleife in die Linke hereinzupacken,
da ich sonst den gesammten Code in der rechten Schleife doppelt im Programm hätte,
da die selbe Schleife auch verwendet wird, wenn Messdaten aus einer Datei gelesen werden.

Bis dann,
Diese Nachricht in einer Antwort zitieren to top
30.06.2006, 18:36 (Dieser Beitrag wurde zuletzt bearbeitet: 30.06.2006 18:37 von Kvasir.)
Beitrag #9

Kvasir Offline
LVF-Freak
****


Beiträge: 642
Registriert seit: May 2006

10
2004
DE_EN

0000
Oesterreich
Daten aus for-Schleife in while-Schleife
Thread

Das Problem in diesem Thread läuft sich auch auf dein Problem hinaus. Wenn du es also außerhalb der Schleife haben willst, solltest du am besten Notifier verwenden.

Was meinst du mit frontend?
Rechte Maustaste auf den Ausgang deines "SI Read" und dann "Anzeigeelement erstellen". Von diesem Element dann eine lokale Variable erstellen.

A few weeks of developement and testing can save a WHOLE afternoon in the library!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
03.07.2006, 12:44
Beitrag #10

Katagia
Unregistered


 







Daten aus for-Schleife in while-Schleife
Super, danke für die Hilfe. Jetzt funktioniert es.

Mit Frontend habe ich das Bedienelement gemeint.

Jetzt muss ich mir nur noch richtige Elektrodenkabel besorgen.
Mit meinen ungeschirmten Kabeln ist die ganze Schaltung ein prima
RadioSmile

Bis dann,
Diese Nachricht in einer Antwort zitieren to top
30
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Prüfstand mit LabVIEW ansteuern - Schleife mit vielen Zyklen Thomas_E 3 6.063 24.08.2023 13:43
Letzter Beitrag: Thomas_E
  Schleife stoppen in subVI illy777 31 13.577 14.09.2020 18:00
Letzter Beitrag: illy777
  ungebremste Schleife / laufendes VI finden Trinitatis 3 2.988 18.08.2020 13:13
Letzter Beitrag: Trinitatis
  While-Schleife sofort beenden ? RobertRoth 17 10.756 21.10.2019 11:00
Letzter Beitrag: RobertRoth
  Schleife Werte Ausgeben MarcelXX 4 3.937 30.08.2019 09:19
Letzter Beitrag: jg
  For-Schleife takten Christoph1993 4 4.011 23.06.2019 12:05
Letzter Beitrag: Christoph1993

Gehe zu: