LabVIEWForum.de
Sequenz gestapelt vs. flach - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Sequenz gestapelt vs. flach (/Thread-Sequenz-gestapelt-vs-flach)

Seiten: 1 2


Sequenz gestapelt vs. flach - jochen_k - 01.10.2010 07:38

Guten Morgen,

eine Frage an die Fachleute, wenn ich einen String zerlege und in ein Cluster umwandele tue ich das im Allg. mit einer Sequenz.
Da man ja die flache der gestapleten Sequenz vorziehen sollte entstehen so allerdings Blockdiagramme die deutlich größer werden,
was mach auch wieder vermeiden sollte. Wie also macht man es?

Gruß JochenK

[attachment=29694]

[attachment=29695]


Sequenz gestapelt vs. flach - GerdW - 01.10.2010 07:45

Hallo Jochen,

wenn du die (flache) Sequenz ganz weglässt, funktioniert's dank Dataflow genauso - und könnte dank MultiCore und paralleler Abarbeitung theoretisch sogar schneller sein... Das BD wird dann auch wieder etwas kleiner, da die ganzen Rahmen verschwinden!

Meine Meinung: Sequenzen jedweder Art sind (nahezu) überflüssig. Die gezeigte Funktionalität (Zerlegen der Stringantwort eines Gerätes) kommt bei mir sofort in ein SubVI, welches dem Gerätetreiber zugeordnet ist...

P.S.: Die Nutzung lokaler Variablen in der gestapelten Sequenz ist auch nicht die feine Englische... Wenn schon diese Sequenz, dann doch bitte mit Sequenz-Lokals!!!

P.P.S.: Man kann auch die ganzen BundleByName zusammenfassen (die Aufräumfunktion verdient noch etwas Feintuning...):
[attachment=29696]


Sequenz gestapelt vs. flach - Y-P - 01.10.2010 08:00

Wenn Du LabVIEW 2010 hast, dann bitte Profil_ergaenzen. Da steht noch 8.2 drin.

Gruß Markus

' schrieb:Guten Morgen,

eine Frage an die Fachleute, wenn ich einen String zerlege und in ein Cluster umwandele tue ich das im Allg. mit einer Sequenz.
Da man ja die flache der gestapleten Sequenz vorziehen sollte entstehen so allerdings Blockdiagramme die deutlich größer werden,
was mach auch wieder vermeiden sollte. Wie also macht man es?

Gruß JochenK

[attachment=58622:Aufzeichnen.PNG]

[attachment=58623:BeispielLabVIEW2010.vi]



Sequenz gestapelt vs. flach - GerdW - 01.10.2010 08:01

Hallo Jochen,

anbei noch eine erweiterte Version deiner Stringumwandlung - nur mal so als AnregungSmile
[attachment=29697]


Sequenz gestapelt vs. flach - jochen_k - 01.10.2010 08:05

Danke schon mal,

ich habe es vielleicht nicht deutlich genug gemacht der String ist sehr lang und entsprechend viele (ca 40 Werte) werden zerlegt. Wenn ich das ohne gestapelte Sequenz mache dann ist mein Blockdiagramm 2m lang ;-). Daher habe ich bis jetzt immer gestapelte Sequenzen verwendet. BTW es ist
natürlich ein SubVi in dem ich das mache, das Projekt hat schon weit über 200 VI's.

Gruß JochenK


Sequenz gestapelt vs. flach - GerdW - 01.10.2010 08:08

Hallo Jochen,

wie du an meinem Beispiel siehst, geht es durchaus kompakter als das, was du bisher genutzt hast.:)Meine Art der Umwandlung belegt genauso viel BD-Fläche wie deine gestapelte Sequenz und erledigt das gleiche ohne Frame-Stapelei und lokale Variablen (=Speicherkopien)!


"Projekt hat schon weit über 200 VI's."
Wenn ich eines meiner aktuellen Projekte lade, zählt LabVIEW locker mal bis 1000 hoch. Trotzdem erstelle ich weiterhin neue subVIs...


Sequenz gestapelt vs. flach - jochen_k - 01.10.2010 08:14

' schrieb:Hallo Jochen,

anbei noch eine erweiterte Version deiner Stringumwandlung - nur mal so als AnregungSmile
[attachment=58625:Bundle.png]

Ja so habe ich das früher auch gelöst und bin dann zu meinen Sequenzen übergegangen da mir das zu unübersichtlich wurdeBig Grin
Aber besten Dankeschön mitunter verschlimmbessert man ja auch so manche Sache über die Jahre.

Gruß JochenK


Sequenz gestapelt vs. flach - IchSelbst - 01.10.2010 08:53

' schrieb:Ja so habe ich das früher auch gelöst
Diese Variante im speziellen halte ich auch nicht für geeignet.
Zitat:und bin dann zu meinen Sequenzen übergegangen
Diese aber auch nicht.

Bei 40 Variablen lohnt sich - eben alleine schon wegen der Übersichtlichkeit - ein angepasster Algorithmus.

Ich stell mir folgendes vor: Eine For-Schleife für die Anzahl der Variablen im Cluster. String, Cluster und Index liegen in Schieberegistern auf der For-Schleife. Die Längen der Einzelstrings sind ein einem Array abgelegt. Der erste Teil der For-Scheife schneidet den Datenstring aus und erhöht den Indexzähler. Die Wandlungen aller Datenstrings nach Daten kann man ggf. auch in der For-Schleife machen. Danach kommt eine Case-Struktur, die in Abhängigkeit des Schleifenzählers in die einzelnen Clusterelemente schreibt.

Und mach dir mal wegen 200 eigenen VIs keine Gedanken. Die Anzahl der vorhandenen SubVIs ist überhaupt kein Grund, keine weiteren zu produzieren.


Sequenz gestapelt vs. flach - jochen_k - 01.10.2010 10:26

Hallo,

' schrieb:Ich stell mir folgendes vor: Eine For-Schleife...

habe ich dich richtig verstanden?

[attachment=29700]

Gruß JochenK


Sequenz gestapelt vs. flach - GerdW - 01.10.2010 10:29

Hallo Jochen,

prinzipiell ja.
Jetzt noch den Verdrahtungsfehler entfernen und den Start-Offset für's StringTrennen mitzählen...