INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.


Antwort schreiben 

Frage zu 2 Schleifen und Abfrage einer Variable



Wenn dein Problem oder deine Frage geklärt worden ist, markiere den Beitrag als "Lösung",
indem du auf den "Lösung" Button rechts unter dem entsprechenden Beitrag klickst. Vielen Dank!

28.04.2010, 20:07 (Dieser Beitrag wurde zuletzt bearbeitet: 28.04.2010 20:10 von bluesaturn.)
Beitrag #1

bluesaturn Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 145
Registriert seit: Jan 2010

2009
2010
en

-
United Kingdom
Frage zu 2 Schleifen und Abfrage einer Variable
Hallo LabVIEW-Forum.

Ich moechte gerne zwei Fragens stellen.


1. Frage:
In Main_v2_LabVIEW2009_test1.vi ist die Main.vi meines LabVIEW Progs dargestellt.
Wenn man dieses nachher ausfuehrt, spielt sich alles in der zweiten Schleife ab.
Wenn ich die Flow rate waehrend des Programms aendern moechte (versteckt sich in Set_flow_rate_direction.vi), dann muesste diese vi eigentlich in die zweite Schleife. Das funktioniert theoretisch, aber dann flackert das Display meiner Pumpe, weil bei jedem Schleifendurchlauf die Flussrate kontrolliert und uebertragen wird. Das ist eher daemlich.
Jetzt suche ich nach einer Moeglichkeit, die Flow rate waehrend des Programms zu aendern, aber nicht staendig zu uebertragen, so dass das Display nicht wackelt. Es soll nur etwas uebertragen werden, wenn man die Flowrate geandert hat.
Geht das vielleicht mit Schiftregister, aber was mache ich in diesem Fall mit dem error in (gruene Linie) und der visa resource -Line (lila Linie) bitte?

2. Frage:

Ich habe zwei Schleifen und somit zwei Stop-Buttons. Muss ich die nicht verbinden und wenn ja, bitte wie geht das? Ueber eine lokale Variable oder muss man das auch verdrahten?

Vielen Dank fuer die Beantwortung der Fragen.

Alles inLv09_img2. Harvard... .zip beinhaltet die vis der Firma. Die sind normalerweise in der instr.lib bei mir.

Gruss
Blue


Angehängte Datei(en) Thumbnail(s)
   

Sonstige .vi  Main_v2_LV2009_test1.vi (Größe: 24,9 KB / Downloads: 144)

Sonstige .vi  Set_flow_rate_and_direction.vi (Größe: 18,42 KB / Downloads: 160)

Sonstige .zip  Harvard_Apparatus_PHD_Ultra_Series.zip (Größe: 410,38 KB / Downloads: 163)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
28.04.2010, 20:21
Beitrag #2

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Frage zu 2 Schleifen und Abfrage einer Variable
Hallo blue,

1) Ja, Shiftregister und ein Vergleich helfen hier ungemein:)Siehe Anhang.

2) Wenn die zwei Schleifen unabhängig voneinander beendet werden sollen, brauchst du auch 2 Stopp-Buttons...


Angehängte Datei(en)
Sonstige .vi  Main_v2_LV2009_test1.vi (Größe: 26,18 KB / Downloads: 143)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2010, 13:01 (Dieser Beitrag wurde zuletzt bearbeitet: 06.05.2010 13:04 von bluesaturn.)
Beitrag #3

bluesaturn Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 145
Registriert seit: Jan 2010

2009
2010
en

-
United Kingdom
Frage zu 2 Schleifen und Abfrage einer Variable
' schrieb:Hallo blue,

1) Ja, Shiftregister und ein Vergleich helfen hier ungemein:)Siehe Anhang.

2) Wenn die zwei Schleifen unabhängig voneinander beendet werden sollen, brauchst du auch 2 Stopp-Buttons...


Hallo GerdW,

vielen Dank fuer die Erklaerung mit dem Schiftregister und den Stop-Buttons.
Ich moechte die Kreise beide unabhaengig stoppen. Der innere Kreis soll nur die Pumpe stoppen und so wie ich das verstehe, wird das LabVIEW-Programm komplet beendet mit dem aeusseren Kreis. Warum kann man dann nicht den roten Punkt oben in der LabVIEW-Leiste nehmen?Brauche ich wirklich einen Knopf im Panel zum Programmabbruch?

Viele Gruesse

Blue
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2010, 13:09
Beitrag #4

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Frage zu 2 Schleifen und Abfrage einer Variable
Hallo blue,

das mit den 2 Stopp-Buttons nicht zu wörtlich nehmen. Du musst nicht 20 Stopp-Buttons verwenden, wenn du mal ein VI mit 20 Schleifen hast...

Eher gemeint ist: jede Schleife benötigt ihre eigene Stopp-Bedingung. Ob diese nun von einem Button kommt oder anders generiert wird, ist unerheblich...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2010, 13:13 (Dieser Beitrag wurde zuletzt bearbeitet: 06.05.2010 13:19 von bluesaturn.)
Beitrag #5

bluesaturn Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 145
Registriert seit: Jan 2010

2009
2010
en

-
United Kingdom
Frage zu 2 Schleifen und Abfrage einer Variable
' schrieb:Hallo blue,

das mit den 2 Stopp-Buttons nicht zu wörtlich nehmen. Du musst nicht 20 Stopp-Buttons verwenden, wenn du mal ein VI mit 20 Schleifen hast...

Eher gemeint ist: jede Schleife benötigt ihre eigene Stopp-Bedingung. Ob diese nun von einem Button kommt oder anders generiert wird, ist unerheblich...

Hi Gerd,

in Ordnung. Aber in meinem Fall macht der Stop-Button genau dasselbe wie oben der rote Punkt in der Leiste. Kann ich den Knopf fuer die ausserste Schleife nicht einfach ausblenden? Im Prinzip soll das Programm staendig laufen, also solange laufen, wie es fuer die Experimente gebraucht wird.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2010, 13:16
Beitrag #6

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Frage zu 2 Schleifen und Abfrage einer Variable
Hallo blue,

"macht der Stop-Button genau dasselbe wie oben der rote Punkt in der Leiste"

Das glaube ich nicht. Der Stop-Button bewirkt, dass die (äußere) Schleife komplett abgearbeitet wird und dann beendet wird. Der "rote Punkt" unterbricht das Programm sofort, ohne irgendwelche Schleifen zu beenden...
Üblicherweise ist es sinnvoll, Hardware zu deinitialisieren, Dateien/Referenzen/etc zu schließen, usw. usf.

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
06.05.2010, 13:21
Beitrag #7

bluesaturn Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 145
Registriert seit: Jan 2010

2009
2010
en

-
United Kingdom
Frage zu 2 Schleifen und Abfrage einer Variable
Hallo Gerd. Entschuldige, ich habe noch etwas anderes nicht kapiert.

Verstehe ich das richtig, das mein "Pause"-Button und der "innere Stop-Button" einfach nur die innere Schleife kurz anhalten?
Wenn ich den Stopp-Button fuer die innere Schleife druecke, beendet sich ja nicht das gesamte Programm, weil ich noch eine auessere Schleife habe.
Der Pause-Button stoppt auch die Pumpe. Vielleicht mag es daran liegen, dass das urspruengliche LabVIEW-Programm keine auessere Schleife hatte, die ich aber benoetige, so dass jetzt Stopp- und Pause-Button dasselbe machen. Tut mir leid, ich bin gerade etwas verwirrt.

Ich kann nicht erkennen, dass die Pumpe deinitialisiert wird. Der Punkt, die Dateien zunaechst zu schliessen, ist gut. Dann werde ich den auesseren Stop-Button sichtbar platzieren.

Die Stop.vi kommt vom Hersteller und wird zum Stoppen der Pumpe benutzt.Lv09_img2


Angehängte Datei(en)
Sonstige .vi  Stop_Pump.vi (Größe: 11,76 KB / Downloads: 147)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2010, 16:26 (Dieser Beitrag wurde zuletzt bearbeitet: 06.05.2010 16:28 von GerdW.)
Beitrag #8

GerdW Offline
______________
LVF-Team

Beiträge: 17.427
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
Frage zu 2 Schleifen und Abfrage einer Variable
Hallo blue,

"verstehe ich das richtig..." Nein.

Der "Pause"-Knopf bewirkt nur, dass die Pumpe einen Befehl (zufällig noch ein "Stop") gesendet bekommt... Der "innere Stop" bewirkt einen Abbruch der inneren Schleife.

Die Angaben "Deinitialisieren, Schließen von Dateien&Referenzen" waren nur Beispiele, was ein Programm üblicherweise noch erledigen sollte, wenn es beendet wird. Und somit Dinge, die nicht passieren, wenn die den Stop-Knopf von LV benutzt (den "roten Punkt").

Ich habe den äußeren Stop nochmal woanders hingeschoben, erschien mir sinnvoller (u.a. ein local weniger)...


Angehängte Datei(en)
Sonstige .vi  Main_v2_LV2009_test1.vi (Größe: 19,95 KB / Downloads: 142)

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2010, 18:39 (Dieser Beitrag wurde zuletzt bearbeitet: 07.05.2010 06:56 von Lucki.)
Beitrag #9

Lucki Offline
Tech.Exp.2.Klasse
LVF-Team

Beiträge: 7.699
Registriert seit: Mar 2006

LV 2016-18 prof.
1995
DE

01108
Deutschland
Frage zu 2 Schleifen und Abfrage einer Variable
Meines Erachtens ist hier das Einzig Wahre eine parallele Schleife zur Ereignisbehandlung bei Wertänderung der Flow-Properties:
   
Edit: Graphik geändert (Property Node Value signalisierend eingefügt, fehlt im VI)
lv2009
Sonstige .vi  Main_v2_LV2009_test1.vi (Größe: 27,2 KB / Downloads: 164)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
06.05.2010, 19:29
Beitrag #10

bluesaturn Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 145
Registriert seit: Jan 2010

2009
2010
en

-
United Kingdom
Frage zu 2 Schleifen und Abfrage einer Variable
Hall Lucki.
Danke fuer deinen Vorschlag.
Der Grund fuer die aeussere Schleife ist, das das Programm tatsaechlich immer laufen soll und nicht nach Beendigung eines Vorgangs LabVIew sozusagen verlaesst. Das ist mit nur einer Schleife damals immer passiert. Die auessere Schleife haelt das Programm sozusagen am Laufen, die innere Schleife ist wohl ein Uebrigbleibsel eine Versuches, eine Evenstruktur ohne diese event structure.vi zu erzeugen. Funktioniert aber gut.

Moechte man aber Parameter wie flow rate oder target veraendern, so muessen die mit in die innere Schleife, weil das Programm sich am Ende dort abspielt. So habe ich bisher verstanden bzw es war mir nicht moeglich, die Flow rate zu aendern, als die flow rate properties noch ausserhalb der inneren Schleife waren. Es gibt sicherlich noch bessere, elegantere Moeglichkeiten, aber ich habe nur noch 2 Wochen bis zur Messzeit und bis dahin muss ich etwas haben, was meine Pump bewegt.SmileBig Grin Ich versuche, dennoch LabVIEW ordentlich zu lernen.

Wieso bist du somit der Ueberzeugung, dass die Schleife parallel ablaufen soll?
Laueft sie dann immer parallel ab , so dass ich immer die Moeglichkeit habe, die Flow rate zu aendern, bevor ich etwas injiziere oder heraussauge?


__________________________________________________


Hallo GerdW.
Danke ebenfalls fuer deine Erklaerung und ich denke, ich erkenne den Unterschied. Druecke ich den "inneren Stop"-Button so bricht die Schleife ab. Da ich allerdings keine Auswirkungen fuer diesen Fall programmiert habe, was man sicherlich koennte, sieht es halt wie ein gewoehnliches Stop aus, welches auch von der Stop.vi gemacht wird. Der Teufel steckt im Detail.

Ich bedanke mich und wuensche Euch noch einen schoenen Abend.

Gruesse
Blue
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Antwort schreiben 


Möglicherweise verwandte Themen...
Themen Verfasser Antworten Views Letzter Beitrag
  Pfadangabe/-abfrage hulk 14 7.674 30.01.2021 18:31
Letzter Beitrag: hulk
  VISA Abfrage an virtuellem COM Port liefert nur bei erster Abfrage Wert (MarCator) Ksanto 3 3.882 27.07.2017 09:40
Letzter Beitrag: Ksanto
  Zahl Abfrage ARaj 11 6.807 18.10.2015 16:37
Letzter Beitrag: GerdW
  Werte zu einer Variable addieren (Schleife) Legoview 10 17.599 27.02.2014 08:19
Letzter Beitrag: Y-P
  Zeitgesteuertes Ereignis einer booleschen Variable TiCy 5 5.301 27.11.2012 14:36
Letzter Beitrag: GerdW
  Konstanten innerhalb oder außerhalb einer Schleifen einfügen BEng Thomas 9 6.540 18.09.2012 11:05
Letzter Beitrag: BEng Thomas

Gehe zu: