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!
Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN
71083
Deutschland
Ergänzung einer Case-Struktur (Dynamisch)
Kein Problem, ist ja auch schon 2 Monate her.
Gruß Markus
' schrieb:sorry. habe ich total vergessen. Kommt nicht wieder vor.
Gruß Joe
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Hi,
vielleicht ist die Case-Struktur eine falsche Lösung. Hat vielleciht jemand einen anderen Vorschlag wie man das dynamisch gestalten kann.
Mir geht es eigentlich darum, dass ich Variablen, die aus dem Gerät kommen, ordnen kann.
Die Verarbeitung dieser Variablen ist dann ja eine andere Sache.
' schrieb:Hat vielleciht jemand einen anderen Vorschlag wie man das dynamisch gestalten kann.
Mir geht es eigentlich darum, dass ich Variablen, die aus dem Gerät kommen, ordnen kann. <- Und genau da liegt mein Problem es eben dynamisch zu gestalten. Es muss doch irgendwie möglich sein, dass ich in einer externen Liste die Variablen(384, 385,...) festlege und diese dann in meinem Hauptprogramm nach der Liste ordnen kann.
Klar geht das.
Mach ein Array of Cluster of (Kennung, Data). Die Kennung ist dabei der Variablenname (384 etc). Data (respektive wieder ein Cluster, eben je nach Anforderungen) sind dabei die Daten, die zur Kennung gehören. Das Verfahren ist praktisch ein serielles. Je nach Vorgabe in der externen Liste kannst du mehr oder weniger Array-Elemente angelegen. Willst du Daten ändern, musst du zuerst den richtigen Index suchen (dafür ist Softwareaufwand notwendig, der aber von LV unterstützt wird) und dann über diesen Index das Array ändern.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Mach ein Array of Cluster of (Kennung, Data). Die Kennung ist dabei der Variablenname (384 etc). Data (respektive wieder ein Cluster, eben je nach Anforderungen) sind dabei die Daten, die zur Kennung gehören. Das Verfahren ist praktisch ein serielles. Je nach Vorgabe in der externen Liste kannst du mehr oder weniger Array-Elemente angelegen. Willst du Daten ändern, musst du zuerst den richtigen Index suchen (dafür ist Softwareaufwand notwendig, der aber von LV unterstützt wird) und dann über diesen Index das Array ändern.
Hi,
also ich bin jetzt soweit, dass ich ein Cluster mit (Kennung, Data) habe. In diesem Cluster sind auch nur die Werte, die ich in meiner vroherigen Liste ausgewählt habe. So, nun will ich das irgendwie selektieren, aber wie?
Bsp:
ClusterArray{(384, Data1), (385, Data1), (384, Data2), (385, Data2), (384, Data3), (385, Data3), (384, Data4), (385, Data4)}
Nun muss ich irgendwie n (n= die Anzahl der verschiedenen IDs) Arrays erzeugen, und die Werte dort einfach hineinschreiben.
Ergebnis:
Array1{(384, Data1), (384, Data2), (384, Data3), (384, Data4)}
Array2{(385, Data1), (385, Data2), (385, Data3), (385, Data4)}
Ich denke, es wäre sogar besser ein 3D-Array zu erstellen, welcher die 2 Arrays beinhaltet. Mir fehlt jedoch die Idee, wie ich das selektieren kann!!!
Wenn ich es schaffen könnte diese Symbol anhand meiner Liste mit den IDs variabel zu machen, dann könnte ich so mein Cluster nach IDs ohne die Case-Struktur sortieren!!!
-------------------------------------------------------------------------- Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
' schrieb:Naja. Ich brauche halt am Ausgang ein 3D-Array. Die 3te Dimension sollte dann zwischen den einzelnen Arrays switchen.
Naja, du könntest ja folgendes machen:
Index des Elementes suchen (in While-Schleife), das als erstes ungleich dem ersten Element ist. Diesen Indexbereich schneidest du aus und fügst ihn zu dem bestehenden 3D-Array hinzu. Mit dem Rest verfährst du genausso. Und zwar solange, bis der Rest die Länge 0 hat.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Zufällg hab ich gerade ein ähnliches Problem gehabt.
Ein 1D-Array (array of cluster of data) soll in ein 2D-Array (array of cluster of (kennung, array of cluster of data)) überführt werden. Im Data-Cluster steht neben diversen Daten auch eine Kennung. Nach dieser Kennung sollen die Data-Cluster nun sortiert werden. Die Kennung soll dann als Index in genau dieses Array genommen werden, um an die Daten dieser Kennung zu kommen. Dumm nur, dass die Anzahl der Data-Cluster pro Kennung unterschiedlich ist.
Das Datenkonstrukt "array of cluster of (kennung, array of cluster of data)" hat den Vorteil, dass man damit quasi unterschiedlich lange Arrays machen kann - was mit einem 2D-Array leider nicht geht.
Hier mal einlv85Muster.
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).