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 bleibt hängen bei zweitem Durchlauf



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!

04.12.2013, 10:20 (Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2013 10:28 von GerdW.)
Beitrag #11

GerdW Offline
______________
LVF-Team

Beiträge: 17.425
Registriert seit: May 2009

LV2021
1995
DE_EN

10×××
Deutschland
RE: Programm bleibt hängen bei zweitem Durchlauf
Hallo Brongx,

- du hast den SoundInput auf "Kontinuierlich" konfiguriert, legst aber immer wieder große Pausen zwischen den Leseoperationen ein. Dies könnte den Lesebuffer sprengen...

Was soll das hier bitte bringen?
   
- Was erwartest du von der While-Loop im ersten Frame? Das Schieberegister startet mit Null (als Default). Null mod 2 = 0. Vergleich mit Null = TRUE. Sofortiger Schleifenabbruch und merken von i=0 im Schieberegister...
- "Numeric" ist nach dieser Loop also Null. Im zweiten Frame gilt (0+1)mod2=1 und dass dann ungleich Null: der True-Case wird nie ausgeführt...
- Warum diese ganzen lokalen Variablen?

- Im GetRowFrquency-VI werden sich überlappende Frequenzbereiche geprüft. Ist das wirklich so - und ist das sinnvoll? (Statt der gestaffelten Vergleiche könnte man auch mit 1D-Schwellwert aus der Array-Palette arbeiten...)
- Im listen_3.vi wird TransmitMode vor der Loop abgefragt. Ist das so gewollt? THINK DATAFLOW...

Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
04.12.2013, 10:33 (Dieser Beitrag wurde zuletzt bearbeitet: 04.12.2013 10:59 von Brongx.)
Beitrag #12

Brongx Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Dec 2013

2011
2013
EN



RE: Programm bleibt hängen bei zweitem Durchlauf
Zum Bild:
Das habe ich gestern nachts noch herausgefunden, aber trotzdem danke! (War schon bisschen übernächtigt und hatte was probiert was eigentlich Schwachsinn war ^^)

Die überlappenden Bereiche sind mir erst jetzt aufgefallen! DANKE! Smile Macht natürlich nicht wirklich Sinn, der Offset ist zu groß gewählt bei der Row.

Für den Transmit-Mode muss ich mir noch was überlegen. Der wird eigentlich von einem aufrunden VI aktiviert...habe aber nun gesehen, dass der Wert ja nie im listen.vi ankommen kann -.-

Ich werde es mal mit Finite-Mode versuchen, Danke! EDIT:---> funktioniert ja nicht in einer Schleife -.-


EDIT: So wenn ich die Pause raus nehme bleibt nix mehr hängen! War also wohl ein Überlauf! Vielen Dank!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.12.2013, 21:02
Beitrag #13

Brongx Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Dec 2013

2011
2013
EN



RE: Programm bleibt hängen bei zweitem Durchlauf
Hallo zusammen,

also Problem gelöst. Ich nehme jetzt im finite mode auf, das aber in einer Schleife (jedes mal neu init und clear). Funktioniert so wie ich es brauche. War wohl genau das Problem was GerdW angesprochen hat. Danke dir!

Der Decoder funktioniert nun auch wunderbar! Erkenne alle Frequenzen und kann diese nun auch richtig zu ordnen.

Mein einziges und letztes Problem ist jetzt noch das Umschalten von Receive- in Transmit-Mode.

Ich habe in meinem "Haupt"-VI ja einen Button mit dem ich vom Empfangen auf Senden umschalten möchte. Nun ist leider das Problem, dass ich sobald ich das VI starte mich logischerweise sofort im listen.vi befinde und ich den Wert von dem anderen nicht da rein übertragen kann zur Laufzeit. Hätte da jemand eine elegante Idee wie ich das lösen könnte?

Vielen Dank!
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.12.2013, 21:41
Beitrag #14

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Programm bleibt hängen bei zweitem Durchlauf
(11.12.2013 21:02 )Brongx schrieb:  Nun ist leider das Problem, dass ich sobald ich das VI starte mich logischerweise sofort im listen.vi befinde und ich den Wert von dem anderen nicht da rein übertragen kann zur Laufzeit. Hätte da jemand eine elegante Idee wie ich das lösen könnte?

Hallo Brongx,

die Status von Knöppen kann man mit glob. Variablen oder eleganter über die Referenz des Knopfes und dessen Wertabfrage innerhalb des SubVIs lösen. Hierbei sollte bei schnellem Polling aber über den Umweg einer parallelen Schleife innerhalb des SubVIs und einer zusätzlichen Variablen nachgedacht werden. Oder man macht es (noch eleganter) über einen Melder.


Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.12.2013, 22:03
Beitrag #15

Brongx Offline
LVF-Neueinsteiger


Beiträge: 9
Registriert seit: Dec 2013

2011
2013
EN



RE: Programm bleibt hängen bei zweitem Durchlauf
Hallo Trinitatis,

danke für die schnelle Antwort!
Auf die Sache mit den Meldern bin ich auch schon gestoßen, leider versteh ich nicht genau wie ich diese benutze. Das Beispiel in der Hilfe macht mich auch nicht schlauer -.-

Hatte mir das so wie in den Bildern gedacht, aber funktioniert leider nicht wirklich...bitte nicht haun wenn ich mich gerade wieder wie der erste Mensch anstelle ^^


Angehängte Datei(en) Thumbnail(s)
       
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.12.2013, 22:19
Beitrag #16

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Programm bleibt hängen bei zweitem Durchlauf
Im Grunde ist in deinem Beispiel schon alles enthalten.
Man definiert einen Melder und weist ihm einen Datentyp zu (in deinem Fall z.B. boolesch). Dann geht man entweder mit der Melder Referenz in das SubVI oder fordert ihn dort namentlich separat an.
Dann wartest du im SubVI auf eine neue Meldung (mit einem Timeout, damit es sich nicht aufhängt) und verschickst die Nachricht im MainVI.

Vielleicht ist es für anfängliche Zwecke aber einfacher, über die Referenz des Knopfes zu gehen. Dazu erstellst du vom Knopf auf dem FP (über rechte Maus-Menü) eine Referenz, die du an dein Sub-VI übergibst. Diese Referenz ist sozusagen die Adresse deines Knopfes. In deinem SubVI kannst du dann einen Eigenschaftsknoten einbauen, an den du diese Referenz anschließt und aus dem du die Eigenschaft WERT ausliest. So bist du auch im SubVI über den boolschen Zustand deines Knopfes (oder jedes x-beliebiegen Controls) informiert und kannst drauf reagieren.



Gruß, Marko
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
11.12.2013, 22:35
Beitrag #17

Trinitatis Offline
LVF-Guru
*****


Beiträge: 1.694
Registriert seit: May 2008

7.1 / 8.0 /2014-1, 18
2002
DE

18055
Deutschland
RE: Programm bleibt hängen bei zweitem Durchlauf
Ich hab´mal ein Beispiel mit Melder zusammengeklickt.


Gruß, Marko


Angehängte Datei(en)
0.0 .zip  Melder.zip (Größe: 15,69 KB / Downloads: 177)
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
  Graphik auf zweitem Monitor anzeigen rist 2 4.989 24.06.2010 11:48
Letzter Beitrag: GerdW
  Chat mit zweitem Wert beginnen Foxi 2 3.673 24.02.2006 16:16
Letzter Beitrag: Foxi

Gehe zu: