Reihenfolge von 2 Case-Strukturen bzw. Case-Struktur allgemein - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Reihenfolge von 2 Case-Strukturen bzw. Case-Struktur allgemein (/Thread-Reihenfolge-von-2-Case-Strukturen-bzw-Case-Struktur-allgemein) |
Reihenfolge von 2 Case-Strukturen bzw. Case-Struktur allgemein - Bob - 10.08.2007 13:16 Moin, hab ne Frage zu meinem Programm, das irgendwie nicht ganz das macht, was es soll...:)Das Programm soll die Bilder einer Kamera anzeigen, auswerten und bei Bedarf eine mit einem bestimmten Zeitschritt definierte Bildfolge in eine avi-datei schreiben. Es ist so aufgebaut, dass das Kamerabild immer mit einem ImageDraw immer auf der Programmoberfläche ausgegeben wird. Es gibt einen Button "Fenster". Ist dieser aktiv, so wird das Bild zusätzlich in einem externen Fenster angezeigt. Ausserdem gibt es einen Button "Aufnehmen", wird dieser aktiviert, dann wird eine avi-Datei erstellt. Und nun zum eigentlichen Problem, ( bzw. Problemen, da mehrere Sachen nicht einwandfrei funktionieren, vlt hängt aber alles irgendwie zusammen...) Im Anhang hab ich 2 Auszüge aus dem Blockdiagramm angehängt, die 2 Case-Strukturen ("Fenster" und "Aufnehmen") zeigen, im True und im False Zustand. Problem 1: Wird der "Fenster"-Button aktiviert, erscheint auch ein externes Bild und ich kann das Bild skalieren und die Farbpalette auswählen. Die Änderungen wirken sich sowohl auf das Bild im externen Fenster (Imaq wind draw) als auch auf das Bild auf der Programmoberfläche (ImageDraw). Ist der Button deaktiviert, wirken sich die Änderungen auf das ImageDraw NICHT aus, obwohl (bis auf die Farbpalette) der Aufbau der gleiche ist??? Problem 2: Wenn mein "Aufnehmen"-Button aktiviert ist, reagiert das Programm auf Änderungen des "Fenster"-Buttons überhaupt nicht. Gibt es sowas wie eine Priorität von LabVIEW bei der Abarbeitung des "Quellcodes" (oder wie es auch immer bei LabVIEW heisst)??? Problem 3: Wenn der "Aufnehmen"-Button wieder deaktiviert wird, reagiert das Programm auf Änderungen des "Fenster"-Buttons ebenfalls nicht. Die erstellte avi-Datei kann ich nicht anschauen, da sie "im Moment von einem anderen Programm verwendet wird". Erst wenn ich das laufende Programm manuell beende (stop-button im Programm tut dann auch nicht), kann ich die avi-Datei anschauen. Ich als LabVIEW-Neuling tappe momentan im Dunkeln. Komm einfach nicht drauf, woran das liegen könnte. Für erfahrenere Benutzer wird es ein Leichtes sein, das Problem zu erkennen, denke ich. Wahrscheinlich hab ich irgendwo nen Denkfehler drin, nur komm im Moment net drauf, wo... Bin für jeden Tipp und jede Hilfe dankbar gruss bob Reihenfolge von 2 Case-Strukturen bzw. Case-Struktur allgemein - A.Berndsen - 10.08.2007 14:13 Hallo Bob, mit dem kleinen Ausschnitt des Programms ist es schwierig einen tatsächlichen Fehler zu finden. Ich versuche es mal mit ein paar Fragen. Die Programmteile in den Cases, sollen diese dauerhaft ausgeführt oder nur ein einziges mal? Wenn die Cases immer wieder ausgeführt werden sollen, wie ist das Schaltverhalten Deiner Buttons (rechte Maustaste) eingestellt? Hast Du den Programmablauf mal im Blockdiagramm mit der Highlightfunktion (die Glühbirne) untersucht? Grüße Andreas Reihenfolge von 2 Case-Strukturen bzw. Case-Struktur allgemein - Bob - 10.08.2007 14:52 Hmm, an die Highlight-Funktion hab ich mal garnicht gedacht... Werd ich ausprobieren. Sonst sollen die Cases schon mehrmals nach belieben gestartet und beendet werden können. Also das Kamerabild soll immer im ImageDraw ausgegeben werden. Jetzt soll der Benutzer nach Belieben das Bild zusätzlich in nem externen Fenster anzeigen lassen und dieses wieder schliessen können, ohne dass das Programm neu gestartet werden muss. Das hat soweit ja auch geklappt, bis ich den "Aufnahme"-Case reingebastelt hab... Die Aufnahme als avi soll auch jeder Zeit auch mehrmals möglich sein, ohne dass das Programm neugestartet werden muss (was momentan der Fall ist wie im ersten Post beschrieben). Das Hauptprogramm hab ich vorgesetzt bekommen (da wurde nur das Bild im image draw ausgegeben) und an den ganzen äußeren Strukturen/Funktionen nichts geändert. Hab lediglich die Operationen für Bildskalierung (+externes Fenster) , Bildaufnahme und Bildauswertung eingefügt. Beim Schaltverhalten, wenn es das ist, was ich denke, waren die Buttons so eingestellt (sinngemäß): button wird umgelegt/umgeschaltet--> Zustand ändert sich auf True. Das Schaltverhalten hat ja nichts mit der Reihenfolge der Cases zu tun, oder? Ich hab irgendwie den Verdacht, dass ich irgendwelche Stop-Bedingungen (wenns sowas üebrhaupt gibt) für den "Aufnahme"-Case nicht richtig gesetzt habe, bzw. dessen Bedingungen für den Zustand "False". Denn wie gesagt, mein "Fenster"-Case funktioniert solange, bis der "Aufnahme"-Button betätigt wird. Danach geht nix mehr und ich muss das Programm neu starten. Danke für den Tipp mit der Highlight-Funktion, werd ich auf jeden Fall mal ausprobieren. gruss bob |