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!
ich habe gerade folgende Aufgabe: Über eine große und ziehmlich stark verzweigte SQL-Datenbank würde ich gerne eine Auswertung programmieren. Da die Datenbank von ihrer Performance schon ziehmlich an der Grenze ist, möchte ich die Server mit großartigen Filterungen belasten, sondern nur die Rohdaten auslesen und dann alle Filterungen in LabVIEW realisieren. Ich bin jetzt auf den Gedanken gekommen, alle Rohdaten, die ich brauche, in ein mehrspaltiges Listenfeld zu schreiben und mir damit quasi innerhalb meines LabVIEW-Programms eine eigene, viel kleinere und weniger verzweigte Datenbank anzulegen.
Die Frage (bevor ich da jetzt viel Arbeit reinstecke): Gibt es beim Listenfeld Grenzen, wie viele Daten ich darin ablegen kann?
ein Listenfeld nimmt ein 2D-Array of Strings für die Objektnamen entgegen. Du bist hier nur in der Speichergröße begrenzt (und in der resultierenden Performance der Anzeige)...
Tipp:
- Speicher die Daten intern in einem Schieberegister! Anzeigeelemente erstellen ihre eigene Kopie der angezeigten Daten - du würdest dir also den Speicher (mindestens) doppelt mit den Daten zumüllen, sobald du sie auf dem FP anzeigen lässt...
- Zeige immer nur eine Auswahl der Daten an - das reduziert den Speicherbedarf...
Wenn überhaupt, dann ein Table-Control oder gleich ein 2D-Array, keine Listbox. Die "darstellten Werte" bei einer Listbox musst du per PropertyNode lesen und schreiben, das ist langsam.
Gruß, Jens
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
vielen Dank schon mal für die Hinweise. Auf dem frontpanel soll eigentlich gar nichts dargestellt werden. Die Daten werden intern verarbeitet und anschließend an DIAdem übergeben, um ansehnliche Diagramme auf Papier zu bringen. Ich hab mir nur überlegt, dass ein Listenfeld eventuell komfortabler zu handhaben ist, was die Suche nach bestimmten Zeilen- und Spaltentiteln angeht.
grundsätzlich gibt es da keine Begrenzung. Ich frage mich allerdings, wie agil dein LV-Programm noch ist, wenn die Datenbank schon in die Knie geht.
Gruß, Marko
Die Auswertesoftware selbst läuft dann schon auf einem separaten Rechner (bzw. auf mehreren Rechnern für die Personen, dioe die auswertungen benötigen). Die fehlende Performance der Datenbank ist leider dem Anlagenhersteller zu verdanken.
Zitat:Auf dem frontpanel soll eigentlich gar nichts dargestellt werden. ... Ich hab mir nur überlegt, dass ein Listenfeld eventuell komfortabler zu handhaben ist, was die Suche nach bestimmten Zeilen- und Spaltentiteln angeht.
Ja was denn nun: nicht auf dem FP darstellen oder doch auf dem FP darstellen?
"Suchen" kann man auch, indem man Rings mit den gefundenen Zeilen-/Spaltentiteln befüllt...
Zitat:Auf dem frontpanel soll eigentlich gar nichts dargestellt werden. ... Ich hab mir nur überlegt, dass ein Listenfeld eventuell komfortabler zu handhaben ist, was die Suche nach bestimmten Zeilen- und Spaltentiteln angeht.
Ja was denn nun: nicht auf dem FP darstellen oder doch auf dem FP darstellen?
"Suchen" kann man auch, indem man Rings mit den gefundenen Zeilen-/Spaltentiteln befüllt...
Vielleicht habe ich mich da etwas unklar ausgedrückt: Auf dem FP sollen die Daten nicht dargestellt werden. Mit dem Suchen meine ich, dass ich für verschiedene Auswertemodule immer wieder unterschiedliche Spalten brauche, die ich mir dann programmatisch zusammensuchen würde.
(20.09.2013 11:58 )kwakz schrieb: Mit dem Suchen meine ich, dass ich für verschiedene Auswertemodule immer wieder unterschiedliche Spalten brauche, die ich mir dann programmatisch zusammensuchen würde.
das hat doch dann nichts mehr mit dem Listendeld zu tun ?!
(20.09.2013 11:58 )kwakz schrieb: Mit dem Suchen meine ich, dass ich für verschiedene Auswertemodule immer wieder unterschiedliche Spalten brauche, die ich mir dann programmatisch zusammensuchen würde.
das hat doch dann nichts mehr mit dem Listendeld zu tun ?!
Gruß, Marko
Ich muss ja irgendwo meine Daten ablegen, die ich aus der Datenbank ziehe. Mir ist schon klar, dass ich dafür auch ein einfaches 2D-Array nehmen könnte. Mir erschien aber das Listenfeld durch die getrennten Zeilen- und Spaltentitel etwas komfortabler, wenn ich mir meine Spalten für die einzelnen Teilauswertungen zusammensuche.
ich glaube, hier wird ordentlich etwas missverstanden!
Das Listefeld ist ein FP-Objekt. Wenn du da etwas reinschreibst, dann stellst du es auch auf dem FP dar. Die Vorzüge, die du anführst, hast du in einem Array, das du im Quellcode über Shiftreg. verwaltest auch.