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 

Programm lässt sich nicht beenden / hängt sich auf



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!

11.07.2008, 14:09
Beitrag #11

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Programm lässt sich nicht beenden / hängt sich auf
Danke für die guten Tipps.

Also das mit dem Metronom und der Globalen Variablen habe ich umgesetzt.

Nur leider funktioniert der Programmabbruch mit der Globalen Variabeln noch nicht ganz.

Wie unten zu sehen ist, habe ich in der großen While Schleife den Beenden Knopf mit einer Globalen Variabeln verbunden, die eben das "True" an die darüber liegende While Schleife schicken soll.

Nur habe ich das Problem, dass diese While Schleife scheinbar noch gar nicht läuft, wenn aus der Queue noch keine Daten nach oben geschickt werden?!?!

Und somit wird zwar die untere While Schleife beendet, aber die obere kann nicht beendet werden, weil sie noch gar nicht angelaufen ist? Huh

Oder suche ich an der falschen Stelle und die Ursache ist doch eine ganz andere? Dry

Cheers.


Angehängte Datei(en) Thumbnail(s)
   
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.07.2008, 15:11
Beitrag #12

IchSelbst Offline
LVF-Guru
*****


Beiträge: 3.689
Registriert seit: Feb 2005

11, 14, 15, 17, 18
-
DE

97437
Deutschland
Programm lässt sich nicht beenden / hängt sich auf
' schrieb:und der Globalen Variablen habe ich umgesetzt.
Ich galube, dir reicht da eine ganz normale Lokale Variable. Also quasi eine "Lokale Variable" vom Abbruch-Button.

Zitat:Nur habe ich das Problem, dass diese While Schleife scheinbar noch gar nicht läuft, wenn aus der Queue noch keine Daten nach oben geschickt werden?!?!
Wie sollte die auch laufen? Die ist in einen Datenfluß eingebunden - und kommen deswegen erst zur Ausführung, wenn die große While-Schleife beendet ist.

Warum hat du denn das Anfordern der Queue in die große While-Schleife hinein gemacht? Das Anfordern gehört so, wie du weiter oben gepostet hast.

Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller).
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2008, 11:34
Beitrag #13

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Programm lässt sich nicht beenden / hängt sich auf
Zitat:Warum hat du denn das Anfordern der Queue in die große While-Schleife hinein gemacht? Das Anfordern gehört so, wie du weiter oben gepostet hast.

Weil ich irgendwie dachte, dass das anfordern der Queue dann deaktiviert wird, wenn die While-Schleife abgebrochen wird.

Aber jetzt habe ich es einmal so umgestellt, wie es vorher war und es funktioniert immer noch nicht (Bild 1).

Wenn ich Highlight Execution mache, dann kann ich verfolgen, wie die einzelnen While - Schleifen über die globale Variable nach und nach ihre Abbruchbedingung erhalten.
Doch der Datenfluss (wenn ich das so nennen kann) bleibt dann einfach beim Dequeue stehen und die Sub VIs bleiben noch ausgegraut. Natürlich macht das irgendwo Sinn, weil die Sub VIs auch nicht ausgeführt werden, solange kein Element aus der Queue herausfällt, dass sie ausführen können.

Also mit Highlight Execution sieht es dann auch wie folgt aus (Bild 2).

Edit: Um der ganzen Sache weiter auf den Grund zu gehen, habe ich bei den While - Schleifen mal einen Indicator an das i gekoppelt.
Dabei musste ich zuerst feststellen, dass die obere While - Schleife keine Durchläufe macht. Soll das so sein? Ich dachte mir, dass sie keine Durchläufe macht, weil zu Beginn noch kein Element aus der Queue herausfällt. Aber "weiß" die While Schleife das?
Und zweitens musste ich mit Erschrecken feststellen, dass die nebeliegende While Schleife manchmal ausgeführt wird (Counter läuft), manchmal aber auch nicht (Counter läuft nicht). Huh
Muss ich das ganze irgendwie in einen Datenfluss gießen? Ich habe ja schon verstanden, dass man bei so einer Konstruktion keinen Einfluss darauf hat, welche Schleife zuerst ausgeführt wird (deswegen sollte man dann eine Sequenz verwenden, wenn es eine Rolle spielt), aber dass es gänzlich *nicht* ausgeführt wird, überrascht mich jetzt doch.

Cheers.

Cheers.


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2008, 12:48
Beitrag #14

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Programm lässt sich nicht beenden / hängt sich auf
Schau dir doch mal die Beispiele im NI-Examplefinder zu Queues und Notifiers an!

1. Eine Queue bzw. Notifier würde ich am Ende des Programms über das ensprechende VI "zerstören".
2. Eine Schleife, die nur auf ein neues Ereignis in der Queue oder Melder wartet, kannst du darüber beenden, dass du den Error-Ausgang des Queue/Notifier-VI an die Abbruchbedingung der Schleife anschließt.

Dann passiert folgendenes:
-Beenden der Queue/Notifier über das entsprechende VI =>
-Die Dequeue,Wait on Notifier etc.-VI haben plötzlich keine Queue mehr und enden mit Error-Ausgang =True =>
-Die Schleife endet, da plötzlich Error 0 True ist.

Und schon kannst du dir die eine oder andere globale/lokale Variable sparen.

MfG, 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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2008, 12:56
Beitrag #15

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Programm lässt sich nicht beenden / hängt sich auf
Ääääääääh.....

Jens G schrieb:Beenden der Queue/Notifier über das entsprechende VI

Sehe ich das richtig, dass das dann gerade IchSelbst's Kommentar entgegenläuft, die Queue außerhalb der While Schleife zu plazieren?
Denn wenn ich dich jetzt richtig verstehe, dann kommt es primär darauf an das "Obtain Queue" zu deaktivieren? Sprich ich nehme die beiden "Obtain Queue"s in die große While Schleife rein, dann werden sie durch beenden der While Schleife deaktiviert...
...und die andere While Schleife mit den "Dequeue Element" werden durch deine Vorgabe beendet...?

Cheers.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2008, 13:23
Beitrag #16

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Programm lässt sich nicht beenden / hängt sich auf
AAAAALLES KLAR!!!

FUNKTIONIERT!!!

HERVORTRABEND!!!


DANKE SCHÖN!!!!


IHR SEID DIE BESTEN!!!!

JUHU!!!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2008, 13:27
Beitrag #17

Y-P Offline
☻ᴥᴥᴥ☻ᴥᴥᴥ☻
LVF-Team

Beiträge: 12.612
Registriert seit: Feb 2006

Developer Suite Core -> LabVIEW 2015 Prof.
2006
EN

71083
Deutschland
Programm lässt sich nicht beenden / hängt sich auf
Krass.... Huh

Big Grin

Gruß Markus

' schrieb:AAAAALLES KLAR!!!

FUNKTIONIERT!!!

HERVORTRABEND!!!
DANKE SCHÖN!!!!
IHR SEID DIE BESTEN!!!!

JUHU!!!

--------------------------------------------------------------------------
Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
--------------------------------------------------------------------------
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2008, 13:42
Beitrag #18

jg Offline
CLA & CLED
LVF-Team

Beiträge: 15.864
Registriert seit: Jun 2005

20xx / 8.x
1999
EN

Franken...
Deutschland
Programm lässt sich nicht beenden / hängt sich auf
' schrieb:HERVORTRABEND!!!
Bin ich jetzt ein Pferd?Pony:hehe:WIEHER...Lol

Und das nächste Mal bitte gesamtes Posting lesen (1. Punkt war Beispiele anschauen, was du ja dann wohl gemacht hast) und ausführen, bevor du "wirre" und "falsche" Antworten schreibst.

MfG, Jens

P.S.: Ich hoffe, dieses Bsp. hast du dir reingezogen:
   

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.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
14.07.2008, 14:27
Beitrag #19

Labview-Beginner Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 114
Registriert seit: Oct 2007

6.1
2007
kA

67705
Deutschland
Programm lässt sich nicht beenden / hängt sich auf
Zitat:P.S.: Ich hoffe, dieses Bsp. hast du dir reingezogen:

Jawohlja! ^_^

Ganz artig.Smile
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
  Blockdiagramm lässt sich nicht zeigen Edi70 5 3.793 12.07.2021 11:14
Letzter Beitrag: GerdW
  Programm beenden State Machine simcum 3 3.411 17.10.2020 20:57
Letzter Beitrag: BNT
  Frontpanel wird beim beenden nicht immer geschlossen Winterkind 4 3.516 08.04.2020 08:30
Letzter Beitrag: Freddy
  .exe verbindet sich nicht mit NI 6008 shurtugalLF 11 7.627 02.02.2019 12:18
Letzter Beitrag: shurtugalLF
  Bei bestehenden VIs lässt sich Codefenster nicht öffnen _Markus_ 5 4.473 25.09.2018 09:17
Letzter Beitrag: _Markus_
  Programm hängt sich auf Benutzer1 49 24.110 23.04.2018 18:28
Letzter Beitrag: Benutzer1

Gehe zu: