23.07.2009, 12:32
Beitrag #1
|
DrHoas
LVF-Gelegenheitsschreiber
Beiträge: 117
Registriert seit: Oct 2007
2011
2007
DE
Deutschland
|
Reihenfolge
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
|
|
|
23.07.2009, 12:38
Beitrag #2
|
|
|
23.07.2009, 12:46
Beitrag #3
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Reihenfolge
anstelle von schrottis sequenzrahmen könntest du auch den datenfluss mit einem errorcluster kontrollieren.
LG
Torsten
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
23.07.2009, 13:10
Beitrag #4
|
jg
CLA & CLED
Beiträge: 15.864
Registriert seit: Jun 2005
20xx / 8.x
1999
EN
Franken...
Deutschland
|
Reihenfolge
' 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.
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.
|
|
|
23.07.2009, 13:14
Beitrag #5
|
DrHoas
LVF-Gelegenheitsschreiber
Beiträge: 117
Registriert seit: Oct 2007
2011
2007
DE
Deutschland
|
Reihenfolge
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
|
|
|
23.07.2009, 13:21
Beitrag #6
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Reihenfolge
*Zustimm* da hab ich mich mal ein wenig verguckt!
Sorry!
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
23.07.2009, 13:34
Beitrag #7
|
DrHoas
LVF-Gelegenheitsschreiber
Beiträge: 117
Registriert seit: Oct 2007
2011
2007
DE
Deutschland
|
Reihenfolge
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
Z_hlen.llb (Größe: 21,66 KB / Downloads: 235)
|
|
|
23.07.2009, 13:42
(Dieser Beitrag wurde zuletzt bearbeitet: 23.07.2009 13:48 von TSC.)
Beitrag #8
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Reihenfolge
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.
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
23.07.2009, 16:29
Beitrag #9
|
|
|
23.07.2009, 17:30
|
TSC
LVF-Team
Beiträge: 1.882
Registriert seit: Sep 2008
LV 2018 SP1
2008
EN
52379
Deutschland
|
Reihenfolge
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
"Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf!" ( Konrad Zuse)
|
|
|
| |