LabVIEWForum.de - Reihenfolge

LabVIEWForum.de

Normale Version: Reihenfolge
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo,

ich hab eine for-Schleife. Ist diese abgearbeitet soll eine globale Variable ausgelsen werden. Kann man das so machen wie im angehängten Bild dargestellt? Oder muss man doch eine Sequenz benutzen?

Dank und Gruß

Philipp

[attachment=19902]
Wenn du es machst wie im Bild machst du genau das Gegenteil von dem, was du willst. Leg eine Seqzenrahmen um die Variable und leg einen Draht aus der Forloop raus in den Rahmen.
anstelle von schrottis sequenzrahmen könntest du auch den datenfluss mit einem errorcluster kontrollieren.
[attachment=19903]
LG
Torsten
' schrieb:anstelle von schrottis sequenzrahmen könntest du auch den datenfluss mit einem errorcluster kontrollieren.
[attachment=47882:Bild_200...13_46_11.png]
LG
Torsten
Das geht aber nur bei Shared Variable und nicht bei einer globalen Variablen.
das mit dem Errorcluster klingt sympathisch. Kannst Du mir auch verraten, was das um die globale Variable rum ist?
Wenn ich, bevor die for-Schleife ausgeführt wird, die globale Variable zu 0 setzen möchte, wie kann ich das ohne Sequenz machen? Wahrscheinlich ganz ähnlich, oder?

Philipp
*Zustimm* da hab ich mich mal ein wenig verguckt!

Sorry!
man liest doch immer wieder "verwende keine Sequenzen". Geht das jetzt also wirklich nicht schöner als dass ich um mein ganzes Blockdiagramm wegen einer popligen Variablen eine Sequenz mache?

Anbei ein Beispiel, was ich eigentlich machen will. Vielleicht gibt's da ja was Elegantes.

Philipp

[attachment=19908]
du kannst es im prinzip so machen wie ich es angedeutet habe. da die globale variable nun aber keinen fehlereingang hat. musst du einen erzeugen. das geht am schnellsten mit einer sequenz. du ziehst also um die globale varible einen sequenzrahmen (nicht um deinen gesamten code) und verbindest den fehler aus der schleife mit der sequenz.

[attachment=19909]
' schrieb:man liest doch immer wieder "verwende keine Sequenzen". Geht das jetzt also wirklich nicht schöner als dass ich um mein ganzes Blockdiagramm wegen einer popligen Variablen eine Sequenz mache?
Man ließt viel öfter: "verwende keine globalen variablen" (sondern z.B. funktionale, globale Variablen (FGVs)). Und so schlimm sind Sequenzrahmen auch nicht.
Evtl. ein paar Worte warum Sequenzrahmen als "böse" angesehen werden:

LabVIEW arbeitet nach dem Datenflussprinzip. Von Natur aus ist es dabei möglich, bestimmte Programmteile in beliebiger Reihenfolge auszuführen. Durch diese Dynamik kann der Programmablauf einfach und effektiv beschleunigt werden. Gerade wenn man sich mal die Möglichkeiten von echter paraleller Abarbeitung bei MultiCoreSystemen vorstellt. Sequenzstrukturen zwingen LabVIEW gewisse Dinge nacheinander auszuführen. Es wird also ein bestimmter Datenfluss festgelegt. Wenn man das im Hinterkopf hat und Sequenzrahmen eben nur so einsetzt, wie es wirklich nötig ist (z.B. wie Schrotti es vorgeschlagen hat und es in meinem Screenshot zu sehen ist), dann sind Sequenzrahmen nichts böses. Allerdings passiert es sehr schnell, dass man auch da Sequenzen einsetzt, wo es nicht nötig ist. Beispielsweise kenne ich Programme, die 5 Sequenzen hintereinander abarbeiten:
INIT, DO1, DO2, DO3, FINAL
es wird also erst der gesamte Inhalt von INIT abgearbeitet, dann der nächste Rahmen usw. Dabei gibt es ja auch Dinge (z.B. Konstante Werte an Funktionen übergeben) die schon längst erledigt werden können.

Also einfach immer ein bissl drauf achten, ob man die Sequenz wirklich braucht.

LG
Torsten
Referenz-URLs