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!
Hallo, ich als absoluter LabVIEW Neueinsteiger habe gleich mal ein Problem, bei dem ich hoffe, dass ihr mir helfen könnt.
Ich habe ein Programm aufgebaut, dass aus einer Eventstruktur (MAINMENU (Bild 1)) besteht. Klickt man auf einen Button öffnet sich das jeweilige Untermenu (jeweils ein SubVi).
Eines der Untermenus (TCMENU (Bild 2)) besteht wiederrum aus einer Eventstruktur, die genauso wie das Hauptmenu zum Aufruf weiterer SubVi`s dient.
Das Problem besteht nun darin, dass ich den Wert des Strings, der in im TCMENU (Bild 2) in "übermittelte Befehlszeile HEX-CODE" erzeugt wird, auch im MAINMENU (Bild 1) im gleichnamigen String ausgeben lassen soll. Und das funktioniert irgendwie nicht, wobei ich denke, dass ich das SubVi TCMENU richtig verkabelt habe (also der String "übermittelte Befehlszeile ...) ist als Ausgangssignal des TC Menus festgelgt).
Wäre über einen Tip zur Lösbarkeit des Problems sehr dankbar.
Mfg Karl-Heinz
15.03.2007, 21:37 (Dieser Beitrag wurde zuletzt bearbeitet: 15.03.2007 21:39 von Kvasir.)
Kannst du eventuell auch den Eventcase posten, der ausgeführt wird, wenn du dein Untermenu beendest?
Ich vermute folgendes: Im Case "Value Change" schreibst du zwar deinen String in dein Anzeigeelement, das übergeben wird, aber im Case für den Abbruch wird wieder etwas neues hineingeschrieben.
Lösen kannst du das z.B.: mit einem Schieberegister. Du schreibst beim "Value Change" den Wert in das Schieberegister und beim Beenden des Untermenu übergibst du diese Variable dann.
Gruß
A few weeks of developement and testing can save a WHOLE afternoon in the library!
Wenn ich mir das Bild 2 anschaue, dann sehe ich dass du aus der While-Schleife beim Event "Quitting Voltage Error" nicht rausgehst. D.h. du hast evtl. noch einen Button Exit o.ä. Wenn du aber Exit anklickst, wird deine Stringanzeige "Übermittelte Befehlszeile Hex-Code" überschrieben und aus dem VI kommt was falsche als Output raus.
Ich glaube Kvasir hat das gleiche gemeint, aber ob du es verstanden hast? Also am einfachsten erstellst du eine lokale Variable (in deinem Fall gibt es keine Race Conditions) und übergibst den Wert der Variable an dein String Ausgang aus jedem Event im SubVI, oder viel besser, wie Kvasir schon sagte, einen Schieberegister nehmen.
Willst du etwa meine Art und Weise kritisieren, wie ich etwas erklären versuche Eugen?
Schäm dich. Schon schlimm genug, dass ich mich selbst meist nicht verstehe *hehe*
Habe übrigens das Gleiche gemeint. Schreibe manchmal etwas wirr.
A few weeks of developement and testing can save a WHOLE afternoon in the library!
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Wertübergabe
Lade am besten mal das VI (inkl. der SubVIs) hoch. Dann kann man sich das mal als ganzes anschauen.
Gruß Markus
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
vielen herzlichen Dank für die Hinweise, ich werde mich am Wochenende hinsetzen und die Variante mit den Schieberegistern mal ausprobieren. Mal sehen ob ich das hinbekomme.
Leider kann ich die kompletten Vi`s nicht hochladen, da Uni-Kram.
Also nochmal vielen Dank und ein schönes Wochenende euch allen.
17.03.2007, 11:04 (Dieser Beitrag wurde zuletzt bearbeitet: 17.03.2007 11:11 von Lucki.)
Der Fehler wurde zwar von Kvasir und EG schon benannt, aber ein zusätzliches Bild kann ja nichts schaden:
(Mit meiner Matrox-Graphikkarte kann ich so herrlich leicht Schnapschüsse machen, daß mir das keine große Mühe macht)