04.06.2013, 10:25
Hallo!
Von einem Gerät bekomme ich ein eindimensionales Array. Das Array könnte z.B. 1000 Werte beinhalten. Die Werte von 0-9 bilden einen Block, dann von 10-19 ...
Ich bilde mir eine Clusterkonstante (später eine Typdefinition, in dem Beispiel aber noch nicht) mit 10 Elementen, die ich benennen kann, z.B. Messwert X, Messwert Y ...
Zunächst erzeuge ich aus dem 1D-Array ein 2D-Array mit entsprechender Spalten- und Zeilenzahl. So ein Array ist unübersichtlich, weil für spätere Datenweiterverarbeitung die Messwerte in unterschiedlichen Bereichen weiterverarbeitet werden. Also möchte ich aus dem 2D-Array ein Cluster-Array machen, damit die Messwerte in dem Cluster benannt werden können.
Dazu habe ich eine "Schnittstelle" gebildet in einer for-Schleife, dort die Daten in ein Cluster umgewandelt. Dann hab ich diesen unbenannten Cluster in einen benannten Cluster umgewandelt und wieder an einen indizierten Schleifenausgang gelegt, so dass ich am Ende ein Clusterarray bekomme in der Form, wie ich es haben möchte.
Das Beispiel funktioniert so gut.
Meine Frage nun - ist es möglich, dies auf eine andere Variante zu tun? Der Grund ist folgender - ich muss bei der Funktion Array mach Cluster angeben, welche "Dimension" der Cluster haben soll. Ich gehe davon aus, dass die Dimension vor dem Programmstart angegeben werden muss und ähnlich wie bei der Größe der Historiendaten bei einer Graphenanzeige nicht während der Laufzeit veränderbar ist. Das macht auch in diesem Beispiel keinen Sinn, da die entsprechende Anzahl an Verbindungslinien zwischen benannten und unbenannten Cluster angepasst werden müsste.
Eine andere Variante wäre mit zwei verschachtelten for-Schleifen zu arbeiten und die Werte dann in den Cluster übergeben, um so schnell auf eine Änderung der Anzahl der Elemente in dem Cluster reagieren zu können.
Aber geht es vielleicht auch mit einer Art "Typenumwandlung"? Es gibt in dem Bereich "Cluster, Klasse, Variant" z.B. die Funktionen nach spezifischer Klasse umwandeln.
Bieten diese Funktionen nach spezifischer Klasse / nach allgemeiner Klasse auch eine Möglichkeit, mein "Problem" auf eine elegante übersichtliche Art zu lösen?
Ich habe mal das bisherige als Bild und als LabView-Programm (in der Version 2010 gespeichert) beigefügt.
Falls mir jemand einen Tipp für eine andere Variante geben könnte, würde ich mich sehr darüber freuen. Vielen Dank im Voraus.
Von einem Gerät bekomme ich ein eindimensionales Array. Das Array könnte z.B. 1000 Werte beinhalten. Die Werte von 0-9 bilden einen Block, dann von 10-19 ...
Ich bilde mir eine Clusterkonstante (später eine Typdefinition, in dem Beispiel aber noch nicht) mit 10 Elementen, die ich benennen kann, z.B. Messwert X, Messwert Y ...
Zunächst erzeuge ich aus dem 1D-Array ein 2D-Array mit entsprechender Spalten- und Zeilenzahl. So ein Array ist unübersichtlich, weil für spätere Datenweiterverarbeitung die Messwerte in unterschiedlichen Bereichen weiterverarbeitet werden. Also möchte ich aus dem 2D-Array ein Cluster-Array machen, damit die Messwerte in dem Cluster benannt werden können.
Dazu habe ich eine "Schnittstelle" gebildet in einer for-Schleife, dort die Daten in ein Cluster umgewandelt. Dann hab ich diesen unbenannten Cluster in einen benannten Cluster umgewandelt und wieder an einen indizierten Schleifenausgang gelegt, so dass ich am Ende ein Clusterarray bekomme in der Form, wie ich es haben möchte.
Das Beispiel funktioniert so gut.
Meine Frage nun - ist es möglich, dies auf eine andere Variante zu tun? Der Grund ist folgender - ich muss bei der Funktion Array mach Cluster angeben, welche "Dimension" der Cluster haben soll. Ich gehe davon aus, dass die Dimension vor dem Programmstart angegeben werden muss und ähnlich wie bei der Größe der Historiendaten bei einer Graphenanzeige nicht während der Laufzeit veränderbar ist. Das macht auch in diesem Beispiel keinen Sinn, da die entsprechende Anzahl an Verbindungslinien zwischen benannten und unbenannten Cluster angepasst werden müsste.
Eine andere Variante wäre mit zwei verschachtelten for-Schleifen zu arbeiten und die Werte dann in den Cluster übergeben, um so schnell auf eine Änderung der Anzahl der Elemente in dem Cluster reagieren zu können.
Aber geht es vielleicht auch mit einer Art "Typenumwandlung"? Es gibt in dem Bereich "Cluster, Klasse, Variant" z.B. die Funktionen nach spezifischer Klasse umwandeln.
Bieten diese Funktionen nach spezifischer Klasse / nach allgemeiner Klasse auch eine Möglichkeit, mein "Problem" auf eine elegante übersichtliche Art zu lösen?
Ich habe mal das bisherige als Bild und als LabView-Programm (in der Version 2010 gespeichert) beigefügt.
Falls mir jemand einen Tipp für eine andere Variante geben könnte, würde ich mich sehr darüber freuen. Vielen Dank im Voraus.