LabVIEWForum.de
Sequenz zur Dokumentation, Einfluss auf das Timing - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: Sequenz zur Dokumentation, Einfluss auf das Timing (/Thread-Sequenz-zur-Dokumentation-Einfluss-auf-das-Timing)



Sequenz zur Dokumentation, Einfluss auf das Timing - TSC - 18.10.2016 07:32

Hallo zusammen,

aus meinen LabView-Anfängen habe ich noch im Kopf: Sequenzen sind der Teufel! Mag sein! Dennoch Frag ich mich gelegentlich was an ihnen so schlimm ist? Ich nutze sie ganz gerne um das Blockdiagramm zu strukturieren. Man kann wunderbar einzelne Rahmen dokumentieren und der Datenfluss wird noch etwas sauberer dargestellt als ohne die Sequenzen. Ich habe im Anhang mal ein kleines Beispiel fotografiert, wie ich Sequenzen nutze. Der Datenfluss ist dabei auch ohne die Sequenz sicher gestellt. Nun zu meiner Frage:
Hat die Sequenz an dieser Stelle einen Einfluss auf die Laufzeit? Wird sie beim Compilieren evtl sogar entfernt?

Vielen Dank für eure Infos,
Torsten

[attachment=56794]


RE: Sequenz zur Dokumentation, Einfluss auf das Timing - GerdW - 18.10.2016 12:21

Hallo Torsten,

Zitat:Hat die Sequenz an dieser Stelle einen Einfluss auf die Laufzeit?
Ich sehe keinen wirklich wichtigen Einfluss.
Der einzige Punkt ist: das Datum aus dem Schieberegister wird nun erst dann zum zweiten subVI geliefert, wenn der erste Frame abgearbeitet ist. Vorher konnte das parallel zum ersten subVI passieren…

Zitat:Wird sie beim Compilieren evtl sogar entfernt?
KA - musst du NI fragen.
Ich könnte mir vorstellen, dass die Sequenzierung erhalten bleibt, u.a. wegen der oben beschriebenen Auswirkung…
Außerdem erzählt NI ja immer gern wieder was vom "Code-Clumping", hier könnte die Sequenz auch Einfluss haben!


RE: Sequenz zur Dokumentation, Einfluss auf das Timing - TSC - 18.10.2016 13:22

Erstmal vielen Dank für den spannenden Hinweis "CodeClumping", darunter findet man bei NI ne Menge zum Compiler!

(18.10.2016 12:21 )GerdW schrieb:  Der einzige Punkt ist: das Datum aus dem Schieberegister wird nun erst dann zum zweiten subVI geliefert, wenn der erste Frame abgearbeitet ist. Vorher konnte das parallel zum ersten subVI passieren…

In wie weit das Weiterreichen von Daten in einer textbasierten Zwischensprache noch relevant ist müsste dann wohl wirklich NI beantworten. Quasi, zu welchem Zeitpunkt fordert ein SubVI die anliegenden Eingangsdaten an? Denn das, was uns das gelbe Lämpchen als Datenfluss anzeigt, ist ja nicht das, was nach dem Compilieren tatsächlich passiert.

Nunja, es war ohnehin eine reine Interessensfrage, da meine Sequenzen den ausführungsrelevanten Datenfluss nicht ändern. Und eine große Timing-Differenz erwarte ich an der Stelle auch nicht.


RE: Sequenz zur Dokumentation, Einfluss auf das Timing - jg - 18.10.2016 14:04

(18.10.2016 07:32 )TSC schrieb:  aus meinen LabView-Anfängen habe ich noch im Kopf: Sequenzen sind der Teufel! Mag sein!
Übel waren/sind die Stacked-Sequences, vor allem, wenn man Daten zwischen Sequenzschritten weitergibt. Der Code ist dann meist "unlesbar".

Gruß, Jens


RE: Sequenz zur Dokumentation, Einfluss auf das Timing - TSC - 18.10.2016 14:27

(18.10.2016 14:04 )jg schrieb:  Übel waren/sind die Stacked-Sequences, vor allem, wenn man Daten zwischen Sequenzschritten weitergibt. Der Code ist dann meist "unlesbar".
Gruß, Jens

Ja, ich hatte schonmal überlegt, mir ein Skript zu basteln, was gestapelte durch flache Sequenzen ersetzt. Einer meiner ersten Schritte wenn ich die Dinger bei Fremdsoftware sehe! Wink Aber programmiertechnisch sind die Dinger ja identisch! Oder?


RE: Sequenz zur Dokumentation, Einfluss auf das Timing - GerdW - 18.10.2016 14:31

Hallo Torsten,

Zitat:Aber programmiertechnisch sind die Dinger ja identisch!
Nein, sind sie nicht!
Bei "flat sequences" kannst du Ein-/Ausgänge an jedem Frame haben - und die gehorchen weiterhin THINK DATAFLOW.
Bei "stacked sequences" hast du Ein-/Ausgänge dagegen immer am ersten bzw. letzten Frame…


RE: Sequenz zur Dokumentation, Einfluss auf das Timing - BNT - 18.10.2016 16:17

(18.10.2016 14:31 )GerdW schrieb:  Bei "stacked sequences" hast du Ein-/Ausgänge dagegen immer am ersten bzw. letzten Frame…

und die Sequence Local's zur Übergabe von Daten von einem Case zu Folgenden.

Gruß Holger


RE: Sequenz zur Dokumentation, Einfluss auf das Timing - TSC - 19.10.2016 07:08

Hab das grade mal getestet und es ist in der tat so wie Gerd es sagt:

Eingänge an einer flachen Sequenz können in jedem beliebigen Rahmen eingeführt werden. Genauso kann ein Ausgang aus der falchen Sequenz aus einem beliebigen Rahmen heraus geführt werden. Das bedeutet, dass eine flache Sequenz nach jedem Rahmen einen parallelen Aufruf erlaubt. Eine gestapelte Sequenz muss erst vollständig mit allen Rahmen abgearbeitet werden.

Die von Holger angedeuteten lokalen Sequenzvariablen der gestapelten Struktur entsprechen einem simplen durchschleusen von Daten durch einen Rahmen der flachen Sequenz (quasi alle Anschlussknoten zwischen den einzelnen Rahmen).

Übrigens ist das Umwandeln einer falchen Sequenz in eine gestapelte Sequenz wegen der oben genannten Unterschiede nicht reversibel!