VI funktioniert nicht mehr - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: VI funktioniert nicht mehr (/Thread-VI-funktioniert-nicht-mehr) |
VI funktioniert nicht mehr - Striggi - 25.11.2009 10:30 Hallo zusammen, nachdem ich in meinem VI einige Sachen umgestellt habe, ging nichts mehr wie es sollte. Allerdings kann ich (denke ich zumindest) bei dem größten Problem sagen wo es liegt!!! Aber ich weiß nicht wie ich es beheben kann... Es wäre echt klasse, wenn sich jemand mein VI mal anschaut und mir einen Tip geben oder ein Bsp. zeigen kann, wie ich es wieder zum laufen bekommen könnte. Problem 1: Ich denke das Problem liegt in der Auswahl der Soundparameter im Register "Extras". Ich gebe diese Werte über Lokale Variable weiter in die anderen Cases. Wenn ich dort im laufenden Betrieb die Daten auslese, stehen nicht die Daten drin, die ich eingestellt habe!!! Irgendwas stimmt hier nicht mit der Datenübergabe. Deswegen sehe ich in den Graphen nur Müll... Problem 2: Ich habe ein Zoom-Funktion für den FFT-Graphen. Wenn ich aber meinen Cursor an eine Stelle schiebe und über den Schieberegler zoomen möchte, hängt sich das komplette VI auf!!! Da weiß ich leider nicht wo das Problem ist. Problem 3: Mein FFT-Graph läuft nicht flüssig. Es ist eigentlich immer ein gewackel. Die normale Waveform läuft ohne Probleme... Ich habe zwar schon den Tip bekommen es mit einer Eventgesteuerten Producer-Consumer-Loop oder einer Eventgesteuerten State-Machine zu machen (danke Markus ). Aber ich habe es leider nicht hin bekommen (da fehlt mir noch der nötige Hintergrund ). Ich habe die entsprechenden Teile mit einem roten Rahmen markiert und so gut wie alle Teile des VI's beschrieben, damit mein Programm verständlicher ist!!! Ich hoffe Ihr könnt mir bei meinen Problemen helfen!!! Vielen Dank Striggi ps: falls für die vollständige Funktion noch ein SubVI fehlt, bitte melden, dann kann ich es noch posten!!! [attachment=22781] VI funktioniert nicht mehr - RoLe - 25.11.2009 11:34 Du solltest dich mal mit den Grundlagen/Design zum erstellen einer Applikation schlau machen. Es braucht immer eine Haupt-Schleife, sonnst wird der Code nur einmal ausgeführt. (und nicht über den Doppelpfeil ausführen) Event-Struct solltest du nur eine verwenden. Am besten baust du alles um :Dund baust das basierend auf der Vorlage unter Datei Neu Template ...... Producer/Consumer Design pattern (Events) neu. VI funktioniert nicht mehr - Striggi - 25.11.2009 12:08 ' schrieb:Du solltest dich mal mit den Grundlagen/Design zum erstellen einer Applikation schlau machen. Hallo RoLE, Vielen Dank für deine Antwort erstmal... Leider hatte ich bisher nicht wirklich die Zeit um mich richtig in LabVIEW einzuarbeiten (ich werde es nachholen, versprochen ). Und da ich für dieses Projekt leider nicht mehr genügend Zeit habe um das jetzt noch halbwegs professionell zu programmieren, dachte ich man kann mir hier im Forum einen Tip geben, wie ich das noch ohne großes Umstellen hinbekomme. Bevor ich die Umstellungen in meinem VI gemacht habe hat es ja auch halbwegs funktioniert... (aber eben nur halbwegs!!!) Und da ich nun leider nicht mehr weiter weiß, wo das Problem (bzw. die 3 Probleme) liegen bin ich fast ein bißchen auf die Hilfe im Forum angewiesen... Hoffe der eine oder andere kann mir doch noch etwas dazu sagen oder zeigen. Gruß Striggi VI funktioniert nicht mehr - RoLe - 25.11.2009 13:14 ' schrieb:Es braucht immer eine Haupt-Schleife, sonnst wird der Code nur einmal ausgeführt. (und nicht über den Doppelpfeil ausführen)Diese 2 Punkte sind leider notwendig, sonnst läuft es NIE. Schau dir die Ausführung deines Programmes einmal mit der "Glühbirne Ein" an, dann siehst du, z.Bsp. das aller Code ausserhalb nur einmal ausgeführt wird und auf Bedienelement nicht mehr reagiert. VI funktioniert nicht mehr - IchSelbst - 25.11.2009 19:47 @Striggi repeat Zitat:until false;Zitat:Es braucht immer eine Haupt-Schleife, sonnst wird der Code nur einmal ausgeführt. (und nicht über den Doppelpfeil ausführen)Diese 2 Punkte sind leider notwendig, sonnst läuft es NIE. Und? Hast du diese beiden Sachen gemacht? While-Schleife um alles herum und ein Buuton zum Beenden der While-Schleife. Den "Zoom"-Case aus der rechten Event-Struktur in die linke Event-Struktur übernehmen und die rechte Event-Struktur löschen. Und schon geht schon mal das mit dem Zoom. VI funktioniert nicht mehr - IchSelbst - 25.11.2009 20:35 ' schrieb:Und schon geht schon mal das mit dem Zoom.So, und jetzt der nächste unumgängliche Schritt. Eine Event-Struktur liegt (für gewöhnlich) in einer eigenen While-Schleife. Also: While-Schleife um die (einzige) Event-Struktur. Diese While-Schleife wird durch ein Ereignis beendet. In deinem Falle ist das der Stopp-Button aus der While-Schleife, die du ja schon oben neu erstellt hast. Diese While-Schleife kann nicht in der obigen While-Schleife liegen. Also: While-Schleife mit Event-Struktur aus der oberen While-Schleife herauslegen quasi parallel zur ersten While-Schleife. Weil: Die Event-While-Schleife wird erst bei Programmende beendet. Dadurch kann aber die Haupt-While-Schleife nicht mehr als Schleife arbeiten, weil hierzu das Beenden aller Elemente in der While-Schleife (Evant-While-Schleife und Case-Sequenz) notwendig ist. VI funktioniert nicht mehr - Striggi - 26.11.2009 07:52 Guten Morgen, Vielen Dank für die Antworten!!! Das mit der Event-Struktur habe ich gestern bereits gemacht. Heute morgen noch eine große While-Schleife um alles (mit Stop-Button), die Event-Struktur raus aus der Schleife und Event mit Extraschleife versehen. Soweit so gut... Aber wenn ich das Teste hängt sich trotzdem alles auf (also wenn ich versuche zu zoomen oder den Cursor bewege). Aber vielleicht liegt das ja auch noch an den restlichen Problemen... Momentan lese ich mich noch in die Queue Geschichte ein, da mir RoLe das Bsp. Producer/Consumer Design pattern (Events) empfohlen hat. (aber ich tu mir da noch etwas schwer damit...) Für weitere Tips bin ich natürlich jederzeit dankbar Gruß Striggi (Das ist der Teil unten rechts im VI wie er jetzt mit den neuen Schleifen aussieht; in der Event-Struktur befindet sich auch noch der Case für die Zoom-Funktion!!!) [attachment=22811] VI funktioniert nicht mehr - M Nussbaumer - 26.11.2009 08:22 Der Fehler liegt darin, dass deine Event-Schleife auf den Wert von Stopp wartet. Dieser bekommt sie jedoch erst, wenn die obere Schleife beendet ist. Deine Events in der unteren Schleife werden also nicht ausgeführt. Um die untere Schleife zu beenden solltest du ein Wertveränderungs-Event für den Stopp-Button einbauen [attachment=22812] [attachment=22813] LabVIEW 8.5 Zudem solltest du dir überlegen, ob es notwendig ist den Wert des Zooms mit jedem Durchgang auszulesen. Ich würde hier eher auf ein Event für Wertveränderung tippen. Greetz M Nussbaumer VI funktioniert nicht mehr - Striggi - 26.11.2009 09:23 Ah, das Problem war wohl die Datenabhängigkeit klar... Hab das mal geändert und siehe da, ich kann ohne Probleme wieder zoomen Damit wäre ein Problem gelöst Vielen Dank dafür!!! Wegen dem Zoom-Event, da hab ich schon "Wertänderung" drin!!! [attachment=22818] Ich hab auch noch die Case-Struktur damit die X-Achse nach dem Zoomen wieder auf "0" geht in die untere Schleife gezogen. Sonst stand die X-Achse irgendwo und nicht da wo ich wollte Gruß Striggi VI funktioniert nicht mehr - M Nussbaumer - 26.11.2009 09:55 Ich hab LabVIEW 8.5.1 und kann deshalb nur den Screenshot beurteilen |