18.03.2015, 15:05
Hallo zusammen.
In einem bestehenden Projekt existiert eine MCListbox, die mit unterschiedlichen Daten gefüttert wird. Eine Spalte zeigt stetig aktuelle Messwerte an. Die Daten dazu werden aus einem Subvi als Array gelesen.
Nun besteht der Wunsch, dass man in der Listbox einzelne Zeilen anklicken kann und diese dann in einem Graphen dargestellt werden können. Bei meinen Experimenten habe ich mittlerweile eine Lösung wie ich mit den ItemSymbols umgehen muss. Das Selektieren und Deselektieren klappt problemlos (Das hier war meine Quelle: https://decibel.ni.com/content/docs/DOC-25000).
Was mir aber wirklich Kopfzerbrechen bereitet, ist folgendes:
Wie muss ich die Sache aufziehen, damit ich dynamisch Plots anzeigen bzw. wieder ausblenden kann? Aktuell wird ein XY Graph verwendet. Auf der X-Achse läuft kontinuierlich de Zeit mit und auf der Y-Achse wird dann jeweils der Messwert aufgetragen. Die Anzeige ist langsam und zeigt nur die letzten 100 Messwerte an.
Der Haken an der Sache ist, dass es mal 10 Kanäle oder aber auch mal gut 25 Kanäle sein können, die im Graph dargestellt werden sollen (Niemand wird 25 Kanäle anzeigen lassen, aufgrund der Übersicht, aber die Möglichkeit muss gegeben sein). Bisher habe ich sowas immer statisch gelöst, meine X und Y Daten gebündelt und dann mit Build Array für die einzelnen Plots zusammengefasst. Das geht aber für mein aktuelles Vorhaben nicht auf und mir fehlt gänzlich der Ansatz, wie ich das lösen könnte.
Mein Ansatz:
Ich habe ein stark vereinfachtes Beispiel erstellt, um einen Lösungsansatz zu entwickeln. Das Teil ist unfertig, wie bereits erwähnt. Vielleicht könnt ihr etwas damit anfangen und meinem Gedankengang besser folgen. Es fehlt die Anbindung zum Graphen. Die VIs sind von 2014 auf 2010 heruntergespeichert.
Kurz und knapp nochmal zusammengefasst, wohin die Reise gehen soll:
Jenachdem wie groß das Array ist, sollen alle "Values" wahlweise im Graphen darstellbar sein (ca 100 Werte pro Eintrag). Die Größe des Arrays ist variabel. In meinem Beispiel ist sie auf drei Einträge limitiert.
Gruß
NoWay
In einem bestehenden Projekt existiert eine MCListbox, die mit unterschiedlichen Daten gefüttert wird. Eine Spalte zeigt stetig aktuelle Messwerte an. Die Daten dazu werden aus einem Subvi als Array gelesen.
Nun besteht der Wunsch, dass man in der Listbox einzelne Zeilen anklicken kann und diese dann in einem Graphen dargestellt werden können. Bei meinen Experimenten habe ich mittlerweile eine Lösung wie ich mit den ItemSymbols umgehen muss. Das Selektieren und Deselektieren klappt problemlos (Das hier war meine Quelle: https://decibel.ni.com/content/docs/DOC-25000).
Was mir aber wirklich Kopfzerbrechen bereitet, ist folgendes:
Wie muss ich die Sache aufziehen, damit ich dynamisch Plots anzeigen bzw. wieder ausblenden kann? Aktuell wird ein XY Graph verwendet. Auf der X-Achse läuft kontinuierlich de Zeit mit und auf der Y-Achse wird dann jeweils der Messwert aufgetragen. Die Anzeige ist langsam und zeigt nur die letzten 100 Messwerte an.
Der Haken an der Sache ist, dass es mal 10 Kanäle oder aber auch mal gut 25 Kanäle sein können, die im Graph dargestellt werden sollen (Niemand wird 25 Kanäle anzeigen lassen, aufgrund der Übersicht, aber die Möglichkeit muss gegeben sein). Bisher habe ich sowas immer statisch gelöst, meine X und Y Daten gebündelt und dann mit Build Array für die einzelnen Plots zusammengefasst. Das geht aber für mein aktuelles Vorhaben nicht auf und mir fehlt gänzlich der Ansatz, wie ich das lösen könnte.
Mein Ansatz:
Ich habe ein stark vereinfachtes Beispiel erstellt, um einen Lösungsansatz zu entwickeln. Das Teil ist unfertig, wie bereits erwähnt. Vielleicht könnt ihr etwas damit anfangen und meinem Gedankengang besser folgen. Es fehlt die Anbindung zum Graphen. Die VIs sind von 2014 auf 2010 heruntergespeichert.
Kurz und knapp nochmal zusammengefasst, wohin die Reise gehen soll:
Jenachdem wie groß das Array ist, sollen alle "Values" wahlweise im Graphen darstellbar sein (ca 100 Werte pro Eintrag). Die Größe des Arrays ist variabel. In meinem Beispiel ist sie auf drei Einträge limitiert.
Gruß
NoWay