18.10.2016, 07:32
Beitrag #1
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Sequenz zur Dokumentation, Einfluss auf das Timing
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
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
18.10.2016, 12:21
Beitrag #2
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Sequenz zur Dokumentation, Einfluss auf das Timing
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?
- 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!
|
|
|
18.10.2016, 13:22
Beitrag #3
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
RE: Sequenz zur Dokumentation, Einfluss auf das Timing
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.
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
18.10.2016, 14:04
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
RE: Sequenz zur Dokumentation, Einfluss auf das Timing
(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
Wer die erhabene Weisheit der Mathematik tadelt, nährt sich von Verwirrung. (Leonardo da Vinci)
!! BITTE !! stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort!
Einführende Links zu LabVIEW, s. GerdWs Signatur.
|
|
|
18.10.2016, 14:27
Beitrag #5
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
RE: Sequenz zur Dokumentation, Einfluss auf das Timing
(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! Aber programmiertechnisch sind die Dinger ja identisch! Oder?
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
18.10.2016, 14:31
Beitrag #6
|
GerdW
______________
Beiträge: 17.469
Registriert seit: May 2009
LV2021
1995
DE_EN
10×××
Deutschland
|
RE: Sequenz zur Dokumentation, Einfluss auf das Timing
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…
|
|
|
18.10.2016, 16:17
Beitrag #7
|
BNT
LVF-Freak
Beiträge: 744
Registriert seit: Aug 2008
5.0 - 22Q3
1999
EN
64291
Deutschland
|
RE: Sequenz zur Dokumentation, Einfluss auf das Timing
(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
|
|
|
19.10.2016, 07:08
Beitrag #8
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
RE: Sequenz zur Dokumentation, Einfluss auf das Timing
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!
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
| |