Listbox ist zu langsam - Druckversion +- LabVIEWForum.de (https://www.labviewforum.de) +-- Forum: LabVIEW (/Forum-LabVIEW) +--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein) +--- Thema: Listbox ist zu langsam (/Thread-Listbox-ist-zu-langsam) Seiten: 1 2 |
Listbox ist zu langsam - daniel-le - 21.11.2006 00:22 Danke, am ende ist es doch so einfach, die Idee mit der Tabelle ist echt super !!! Die Tabelle sieht genau so schön aus wie die Listbox, das einzige Problem, ich bekomme den Hintergrund der Tabelle nicht weiß, aber das lässt sich verschmerzen. Da ich die CAN Nachrichten noch in eine Textdatei schreiben will, die man auch mit dem Editor lesen kann, muß ich schon in strings wandeln. Was wäre eigentlich die optimale Version die Nachrichten zu Puffern? Ich hab einfach die Nachrichten beim Auslesen über eine Schleife in ein Array gesteckt und werte dieses aus. Hier kann jedoch passieren das der Puffer überläuft, da wäre eine First In First Out Version die den Puffer beschränkt schon ehher was. Aber das geht über meine Elektrotechnikkenntnisse hinaus. *g* Hat das dann was mit Semaphore und Queue zu tun? Listbox ist zu langsam - Achim - 21.11.2006 07:50 Hi, die Farben deiner Tabelle kannst du ganz leicht mit dem Pinsel von der Tools-Palette einfärben, da ist jede beliebige Farbe möglich! Gruss Achim Listbox ist zu langsam - Lucki - 21.11.2006 08:34 Freut mich, daß Du Erfolg melden konntest. Zitat:das einzige Problem, ich bekomme den Hintergrund der Tabelle nicht weißHauptmenu --> Anzeigen --> Werkzeugbox --> Farbe setzen Im Bemühen um so viel wie möglich an Geschmacklosigkeit bei der Farbauswahl präsentiere ich Dir dieses Beispiel: [attachment=4074] Listbox ist zu langsam - daniel-le - 21.11.2006 09:57 10:00 Uhr hmm, der färbt bei mir nur den hintergrund der tabelle, damit ist die Front trotzdem grau, hmmm...? 10:05 Uhr jetzt gehts auf einmal, also alles bestens. Bleibt nur noch die Frage der Nachrichtenpufferung. danke, mfg Daniel Listbox ist zu langsam - Lucki - 21.11.2006 13:54 <div align="left"> ' schrieb:Bleibt nur noch die Frage der Nachrichtenpufferung.Du läßt aber auch gar nicht locker, zum Glück habe ich noch ein 2 Vis gefunden, die ich mal hier mal geostet habe und die das Prinzip der Nachrichtenübermittlung über Melder/Queues zeigen. Hier wird ein Melder verwendet, der nicht, wie die Queue, Nachrichten in einer Warteschlange zwischenspeichern kann. Die Funktionen sind aber im Prinzip gleich, so daß ich mir nicht die Mühe machen muß das umzustricken. Erläuterungen:[list=1] [*]Das SubVi wird mit dem Haupt-Vi gestartet. Das Sub-Vi sollte keinen angeschlossenen Ausgang haben, damit das HaupVi nicht auf die Beendigung des Sub-VI wartet.<> [*]Wenn das Haupt-VI beendet wird, wird die Queue freigegeben und zerstört (s. die true-Konstante). Damit kommt es im Sub-VI zu einem Fehler, und der wird listigerweise dazu benutzt, damit auch das SUB-Vi zu beenden<> [*]Es lassen sich Daten beliebiger Komplexität übertragen. Das Datenformat it nur anzugeben. In Deinem Falle müßte also anstelle der Integer-Null bei "Element-Datentyp" ein String (der auch leer sein kann) angegeben werden.<> [*]Es gibt noch weitere Funktionen bei den Queues, Du mußt selbst herausfinden, ob Du davon noch etwas brauchst.<> [*]Das eigentlich Erstaunliche ist, wie einfach der Umgang mit Meldern und Queues doch ist, so daß man sich im Nachhinein fragt, warum man sich nicht eher damit auseinandergesetzt hat. Also keine Scheu, es geht alles ganz problemlos.<> [st]</div> Listbox ist zu langsam - daniel-le - 21.11.2006 23:53 jaja nur nicht locker lassen... *g*, heißt das ich kann die gelesenen Daten in eine Queue schreiben, diese Queue auf z.b. 100 begrenzen, gleichzeitig die queue auslesen und damit diese Daten auswerten. Dauert nun meine Auswertung zu lange, weil z.B. zu viele Daten gesendet werden läuft so der puffer nicht mehr über? Die Queue benutzt schon das fifo prinzip oder? Ich werds mal probieren eine queue ins programm zu stecken. Listbox ist zu langsam - Lucki - 22.11.2006 10:09 <div align="left"> ' schrieb:heißt das ich kann die gelesenen Daten in eine Queue schreiben, diese Queue auf z.b. 100 begrenzen, gleichzeitig die queue auslesen und damit diese Daten auswerten. Dauert nun meine Auswertung zu lange, weil z.B. zu viele Daten gesendet werden läuft so der puffer nicht mehr über? Die Queue benutzt schon das fifo prinzip oder?Ja, es ist so wie Du sagst. Es sollte natürlich die Datenauswertung, im Mittel betrachtet, schneller sein als die Erzeugunge, damit der Buffer nicht zwangsläufig überläuft. (Was geschehen soll, wenn der Buffer voll ist, das ist einstellbar). Du hast aber keine Probleme, wenn Du z.B. gelegentlich Daten abspeicherst und das etwas länger dauert. Dann sammeln sich eben ein paar Werte in der Schlange an, die später wieder abgebaut werden. Das Schöne an den Queues ist auch , daß sich die Schleifen selbst synchronisieren. D-h wenn die Schlange leer ist, dann wird (wenn man es so eingestellt hat) beim Auslesen schön gewartet, bis wieder etwas da ist. Man kann natürlich die Datenerzeugens- und Datenverarbeitungsschleife auch ein einem einzigen VI laufen lassen und trotzdem Queues verwenden. Aber übersichtlicher wird es wohl mit getrennten VIs, und Nachteile hat es keine. </div> |