LabVIEWForum.de
Werte mit Schieberegister übergeben - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Werte mit Schieberegister übergeben (/Thread-Werte-mit-Schieberegister-uebergeben)



Werte mit Schieberegister übergeben - Schwand - 17.03.2010 13:05

Hallihallo,

hab mal ne Frage zu der Werteübergabe in einer StateMachine:


Wenn ich beispielsweise im ersten Case einen Wert erzeuge/messe und den im 23. Case weiterverwenden möchte, muss ich dann das Schieberegister in den 21 anderen Cases immer verbinden? Oder gibt es da auch ne andere Möglichkeit? Lokale Variable ginge ja auch noch, aber das ist ja auch nicht unbedingt das Gelbe vom Ei, oder? Andererseits ist das Verbinden auch ein gewisser Aufwand und fördert nicht unbedingt die Übersichtlichkeit.....

Grüßle
S.


Werte mit Schieberegister übergeben - jg - 17.03.2010 13:21

' schrieb:hab mal ne Frage zu der Werteübergabe in einer StateMachine:
Wenn ich beispielsweise im ersten Case einen Wert erzeuge/messe und den im 23. Case weiterverwenden möchte, muss ich dann das Schieberegister in den 21 anderen Cases immer verbinden?
Ja, musst du. Wobei man das in den neueren Versionen (ich meine seit 8.6) automatisieren kann. (Rechtsklick auf eine Tunnel -> etc etc).
' schrieb:Oder gibt es da auch ne andere Möglichkeit? Lokale Variable ginge ja auch noch, aber das ist ja auch nicht unbedingt das Gelbe vom Ei, oder?
Kommt darauf an. Lokale Variablen haben die Gefahr von Race-Conditions. Und bei Arrays wird dann unnötig Speicher belegt.
' schrieb:Andererseits ist das Verbinden auch ein gewisser Aufwand und fördert nicht unbedingt die Übersichtlichkeit.....
Lösung: Alles zu einem Cluster zusammenbauen, und dann nur diesen Cluster als Shift-Register weitergeben!

Gruß, Jens


Werte mit Schieberegister übergeben - Schwand - 19.03.2010 09:43

Die Idee mit dem Cluster ist mir in dem Fall noch nicht gekommen. Die waren mir auch lange Zeit eher suspekt, aber so langsam komm ich dahinter...und für einige wenige Werte kann ich ja mal ne globale Variable einsetzen. Danke.


Werte mit Schieberegister übergeben - abrissbirne - 19.03.2010 09:48

' schrieb:...und für einige wenige Werte kann ich ja mal ne globale Variable einsetzen. Danke.
Ich frag mich nur immer warum? Der Aufwand für eine Global Variable ist doch viel größer als ein neues Schieberegister anzulegen und hat gleichzeitig Raceconditions vermieden.


Werte mit Schieberegister übergeben - jg - 19.03.2010 10:21

' schrieb:Ich frag mich nur immer warum? Der Aufwand für eine Global Variable ist doch viel größer als ein neues Schieberegister anzulegen und hat gleichzeitig Raceconditions vermieden.
100% ACK. Und wenn man den Cluster noch typdefiniert, dann kann man das problemlos erweitern, wenn man weitere Variablen im Shiftregister braucht. Dann kann man so einen Cluster auch durch SubVIs schleifen. Und per (Un)Bundle by Name ist das auch hochgradig lesbar!

Gruß, Jens


Werte mit Schieberegister übergeben - Schwand - 22.03.2010 08:35

' schrieb:Ich frag mich nur immer warum? Der Aufwand für eine Global Variable ist doch viel größer als ein neues Schieberegister anzulegen und hat gleichzeitig Raceconditions vermieden.

Wenn ich wie in oben genanntem Beispiel dann erst 21 Cases durchverbinden muss, dauert das Schieberegister ja schon länger. Außerdem wird mein Blockdiagramm langsam so schon voll, da ich auf die Möglichkeit des Clustern erst jetzt gekommen bin (wurde).


Werte mit Schieberegister übergeben - IchSelbst - 22.03.2010 08:48

' schrieb:Wenn ich wie in oben genanntem Beispiel dann erst 21 Cases durchverbinden muss, dauert das Schieberegister ja schon länger.
Das Schieberegister mag während der Entwicklungszeit länger dauern. Das ist aber irrelevant. Schieberegister sind auf jeden Fall einer GV vorzuziehen.

Zitat:Außerdem wird mein Blockdiagramm langsam so schon voll, da ich auf die Möglichkeit des Clustern erst jetzt gekommen bin (wurde).
Schon mal an das Auslagern von Code in SubVIs gedacht?


Werte mit Schieberegister übergeben - Schwand - 22.03.2010 11:32

' schrieb:Schon mal an das Auslagern von Code in SubVIs gedacht?

Klar, das mach ich auch. Nur dadurch, dass ich für die Weitergabe der einzelnen Werte keine Cluster benutzt habe, sind die Diagramme eben mehr oder weniger voll mit Schieberegistern. Es ist jetzt nicht der schlimmste Spaghettisalat, da die Register ja meist geradlinig verlaufen, aber es könnte etwas besser aussehen. Wenn ich mir Diagramme von Kollegen anschaue, bin ich aber immer noch höchst zufrieden mit meinen BDs.