LabVIEWForum.de - Sub-VI's für stabileren Programmablauf?!

LabVIEWForum.de

Normale Version: Sub-VI's für stabileren Programmablauf?!
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Bitte nicht mehr als eine Eventstruktur und eine State Machine pro VI. O

Gruß Markus

' schrieb:Im Moment versuche ich gerade über Eventstrukturen und State-Machines mein vi ein bißchen besser zu machen.
' schrieb:Und noch ein paar SubVIs, alles zippen und nochmals hier posten - das würde eine Hilfestellung erleichtern.

Kannst du auch den Menüring mal so einbauen, dass nichts mehr funktioniert? Irgendwie hab ich bei deinem Programm keinen Fehler feststellen können.


Da mir leider die Routine für die SubVIs noch fehlt (wie gesagt, ich steck noch in den Anfängen!!!) wird das auf die schnelle leider nichts Sad


Aber ich hab eine Version, die nicht funktioniert mal angehängt... (Menüring für Geräteauswahl usw. in Registerkarte "Extras")
Es ist eigentlich alles Vorhanden (außer eine "Peak hold" funktion) und sollte jetzt nur auch so funktionieren.

Vielen Dank für die Hilfe!!!

Striggi

Lv86_img [attachment=22717]

ps: Danke Markus für die Info Smile werde es Beachten!!!
Habe es soweit jetzt mal zum laufen bekommen!!!
Ich habe in der Case-Struktur "FFT-Graph" die While-Schleife um den ganzen Block gelegt und nun funktioniert es.

Allerdings nur ein paar Sekunden, dann bricht es irgendwie ab und ich seh nichts mehr auf meinem Graphen Sad
Wenn ich am Schleifenzähler i messe, zählt er zwar hoch aber am Graphen wird nichts ausgegeben.
Komischerweise, wenn er nicht hochzählt wird das Signal ausgegeben...

Kann mir da evtl. jemand erklären weshalb das so ist???


[attachment=22723]
Die Schleife (mittlerweile mit einer For-Schleife) wird nur 4 mal durchlaufen und rennt dann hoch bis zum definierten Wert (N auf 20 gesetzt).

Bei der While-Schleife waren es auch genau 4 durchläufe und dann fing sie an sehr schnell hoch zu zählen!!!

Kennt jemand dieses Problem und kann mir da weiter helfen???
' schrieb:Die Schleife (mittlerweile mit einer For-Schleife) wird nur 4 mal durchlaufen und rennt dann hoch bis zum definierten Wert (N auf 20 gesetzt).

Bei der While-Schleife waren es auch genau 4 durchläufe und dann fing sie an sehr schnell hoch zu zählen!!!

Kennt jemand dieses Problem und kann mir da weiter helfen???

Ich hab den rest nicht gelesen, jedoch würde ich darauf tippen, dass du keine gültige Abbruchbedingung für diesen Fall in deiner While-Schleife definiert hast
Ich habe als Abbruchbedingung eine Stoptaste mit dem Bedingungsanschluss verbunden.
Bei "Stopp wenn TRUE" soll die Schleife stoppen...

Müsste also eigentlich passen oder?!
' schrieb:Ich habe als Abbruchbedingung eine Stoptaste mit dem Bedingungsanschluss verbunden.
Bei "Stopp wenn TRUE" soll die Schleife stoppen...

Müsste also eigentlich passen oder?!

Soweit ich verstanden habe, soll nach einer bestimmten Anzahl die Schlaufe verlassen werden, deshalb funktioniert es ja jetzt auch mit der For-Schleife.
Die While-Schlaufe läuft jedoch solange bis die Abbruchbedingung eintrifft, deshalb auch das schnelle hochzählen. Deshalb muss man noch eine zweite Prüfung einbauen, die prüft ob das maximum an Durchläufen erreicht wurde.

Ich gehe jetzt mal davon aus, dass du nur eine bestimmte Anzahl an Durchgängen hast.


Ansonsten hab ich es falsch vestanden ^_^und entschuldige mich Wink
Die While-Schleife soll so lange durchlaufen werden, so lange ich mich in diesem bestimmten Case befinde.
Es werden dadurch ständig die Werte der Soundkarte eingelesen und weiter verarbeitet.

Allerdings klappt das im Moment nur ganze 4 durchläufe (die auch recht langsam ablaufen; deswegen wahrscheinlich auch das ruckeln im Graphen!!!) Sad
Nach diesen 4 rennt mein Schleifenzähler los und hört nicht mehr auf...



ps: Entschuldigen braucht sich keiner der mir hilft, bin ja über jeden Tip und jede Hilfe sehr Dankbar!!!!!
' schrieb:[attachment=22729]

Mir ist aufgefallen, dass du in jedem Schleifendurchlauf deine Signalerfassung neu initialisierst und startest.
Ich würde dies vor der Schleife machen, da du im Moment nicht alle geöffneten Referenzen schliesst. Zudem benötigt das initialisieren in jeder Schleife unnötig Zeit Wink
Könnte eine mögliche Fehlerquelle sein

Greetz M Nussbaumer
Vielen Dank für den Hinweis!!!
Hab ich zwar auch schon bemerkt aber nicht weiter beachtet...

Werde es ändern und dann mal schaun ob es damit zusammenhängt (bzw. mein Schleifenfehler behebt)Smile

Gruß Striggi


---> Also, ich hab jetzt die Schleife nach der Initialisierung und diesmal läuft sie ohne Probleme durch (ohne durchrennen Smile)
Allerdings hab ich trotzdem noch ein paar Bugs drin.

Werde aber versuchen selber irgendwie drauf zu kommen!!! Vor allem weich ich hier vom eigentlichen Thema ab Rolleyes

Trotzdem nochmal Vielen Dank an alle, die mir bisher hier geholfen haben!!! Echt klasse...
Es wird bestimmt noch die eine oder andere Frage zu meinem Projekt kommen Tongue

Viele Grüße Striggi
Seiten: 1 2 3
Referenz-URLs