![]() |
Bitte um Optimierungen - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Bitte um Optimierungen (/Thread-Bitte-um-Optimierungen) Seiten: 1 2 |
Bitte um Optimierungen - TSC - 09.03.2009 16:41 Hallo zusammen, ich habe mal wieder was programmiert. Es geht um eine Fehlerbehandlung. Die eigentliche Fehlerbehandlung habe ich hier mal minimiert (Ausgabe des Fehlers durch einen einfachen ErrorHandler und Fehler löschen). Das ganze ist ein SubVI, welches in meiner Hauptapplikation mehrmals aufgerufen wird. In dem aufrufenden VI soll ein Array mit allen auftretenden Fehlern gefüttert werden. Der Fehler muss also vor dem Löschen in meinem SubVI noch in das Array des HauptVIs eingefügt werden. Die Arrayanzeige soll dabei immer den zuletzt aufgetretenen Fehler anzeigen (vgl. "Array-Anzeige soll letztes Element anzeigen"). Zum besseren Verständnis habe ich mein SubVI in drei Bereiche eingeteilt. Rahmen 1 dient dazu, das FehlerArray aus dem HauptVI einzulesen. In Rahmen 2 wird der neue Fehler diesem FehlerArray hinzugefügt. Rahmen 3 setzt den Index des AnzeigeElementes vom FehlerArray auf den letzten Wert. [attachment=17112] ![]() Das ganze Funktioniert bisher zuverlässig. Allerdings vermute ich noch optimierungspotential, besonders in Rahmen 3. Evtl gibt es eine geschicktere Möglcihkeit, das Array zu referenzieren? Lieben Dank an alle die sich hiermit auseinander setzen. Torsten Bitte um Optimierungen - Y-P - 09.03.2009 17:29 :bahn:Hab' LabVIEW auf Englisch und kann das nicht mal nachbauen. Kannst Du mal das VI hochladen? Bei mir gibt's überhaupt keine Methode oder Property "Element".... ![]() Gruß Markus Bitte um Optimierungen - TSC - 09.03.2009 17:42 ' schrieb::bahn:Hab' LabVIEW auf Englisch und kann das nicht mal nachbauen. Kannst Du mal das VI hochladen? Habs oben im Beitrag #1 ergänzt. Dachte ein VI-Upload Bringt nichts, weil das Main-VI ja eh nicht dabei ist. Soll ich das auch noch zusammenbasteln? Oder geht es so? Bitte um Optimierungen - Y-P - 09.03.2009 17:46 Ich blick' irgendwie nicht ganz, was Du da machst. ![]() ![]() Gruß Markus Bitte um Optimierungen - Y-P - 09.03.2009 17:53 Wenn ich ein paar Elemente (Controls) einfüge und im Error-Control einen Fehler erzwinge, bekomme ich Fehler1..... (vgl. Bsp.) [attachment=17114] ![]() Gruß Markus EDIT: Beim VI-Pfad nehme ich übrigens ein Current VI's path (hat's bei der Konvertierung nach 8.0 weggehauen...) ' schrieb:Ich blick' irgendwie nicht ganz, was Du da machst. Bitte um Optimierungen - jg - 09.03.2009 17:57 Mal zurück zum Hauptthema, ohne dass ich mir das jetzt im Detail angeschaut habe: Wäre das nicht möglicherweise über Queues wesentlich einfacher und übersichtlicher zu lösen? Gruß, Jens Bitte um Optimierungen - TSC - 09.03.2009 18:01 ' schrieb:Ich blick' irgendwie nicht ganz, was Du da machst. Okay also im Ersten Rahmen erstelle ich zunächst eine Referenz auf das HauptVI (Der Pfad dazu ist gegeben). Im HauptVI gibt es ein Element mit dem Namen "Fehler" und vom Typ "Array von FehlerClustern". Der Eigenschaftsknoten Elementwert.Ermitteln liefert mir ein Variant mit den Daten die in diesem Array "Fehler" sind. Dieses Variant wandel ich in den richtigen Datentyp um. Rahmen 2 fügt zu diesem Array von FehlerClustern noch ein weiteres Element hinzu (den aktuellen Fehler). Das erweiterte Array wird dann wieder mittels Eigenshcaftsknoten in das Element im HauptVI geschrieben. Diesesmal verwende ich den Knoten "Elementwert.Setzen". Der Name des Elementes ist nach wie vor "Fehler". Im dritten Rahmen verscuhe ich zunächst, eine Referenz auf das Array "Fehler" zu bekommen. Dazu erstelle ich eine Referenz auf das Panel des MainVIs, daraus ermittel ich dann ein Array mit allen Anzeige und Bedienelementen. Dieses Array durchsuche ich in der Forschleife. Da ist dann ein kleiner Fehler in der Grafik. Ich verglecihe den Beschriftungstext jedes Elements mit dem String "Fehler" (nicht "Fehler und Warnungen"). Wenn ich das Element gefunden habe, beende ich die Forschleife und gebe die Referenz auf das Element raus. Diese Referenz wandel ich dann in eine ArrayReferenz um. Mit dieser Referenz auf das Array "Fehler" kann ich nun den angezeigten Index einstellen. Dazu verwende ich wiederum einen Eigenschaftsknoten. Bitte um Optimierungen - TSC - 09.03.2009 18:04 ' schrieb:Mal zurück zum Hauptthema, ohne dass ich mir das jetzt im Detail angeschaut habe: Das wäre schon mal ein stichwort, was ich mir ansehen könnte. Da kenne ich mich noch nicht mit aus. Bitte um Optimierungen - TSC - 09.03.2009 18:10 ich hab mal Main und Sub zusammen gebastelt. ![]() ![]() Bitte um Optimierungen - Y-P - 09.03.2009 18:18 Ich steh' voll auf dem Schlauch.... Ich verstehe den Sinn immer noch nicht. ![]() Gruß Markus |