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 

Schleife in Subvi hängt Hauptprogramm 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!

16.05.2011, 10:55
Beitrag #1

onsight8c Offline
Schwerionenschubser
*


Beiträge: 16
Registriert seit: Mar 2011

2012 12.0f3
2009
DE


Deutschland
Schleife in Subvi hängt Hauptprogramm auf
Hallo zusammen!

Hab folgendes Problem:

in meinem Hauptprogramm (AutosaveFunktion.vi) benötige ich für einen Datenlogger eine Art zeitgesteuerten Latch-Schalter, der mir einen true/false-Impuls sendet. Mit diesem Impuls wird der Log-Vorgang initiiert. Das Zeitinverall soll frei wählbar, sowie auch manuell beliebig überbrückbar sein.

Zur Vereinfachung habe ich die Zeiterfassung und Tastersteuerung als SubVI ausgelagert. Allerdings kam ich nicht drumrum, im SubVI eine Schleife mit Schieberegistern laufen zu lassen. Dachte über die Weitergabe des Stop-Impulses des main-Programms ließe sich die ebenfalls ausschalten.

Mein Problem ist aber, dass das Hauptprogramm einfriert und nicht mehr reagiert. Woran liegt das? Wird bestimmt wieder was triviales sein..

Danke euch schonmal für eure Hilfe!

Grüße,
Boris


Angehängte Datei(en)
8.2 .vi  ticker_elog1.vi (Größe: 22,39 KB / Downloads: 208)

8.2 .vi  AutosaveFunktion.vi (Größe: 9,55 KB / Downloads: 202)
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
16.05.2011, 12:43
Beitrag #2

F.Bi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 152
Registriert seit: Oct 2007

LabView 2016
2007
EN

55218
Deutschland
RE: Schleife in Subvi hängt Hauptprogramm auf
Solange dein Sub-VI nicht gestoppt wird, was bei deinem Sub-VI nur geschehen kann, wenn dort der STOP Button gedrückt wird, wartet dein Hauptprogramm bis dein Sub-VI beendet wird. Du musst also dafür sorgen, dass nach Ablauf der gewünschten Zeit die Schleife beendet wird. Wenn du das Sub-VI von externer Stelle abbrechen willst, musst du das per Notifer, Global Variable o.ä. durchführen, was aber vom Hauptprogramm aus, in einer weiteren unabhängigen Schleife geschehen muss.

Gruß
Frank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.05.2011, 13:00
Beitrag #3

onsight8c Offline
Schwerionenschubser
*


Beiträge: 16
Registriert seit: Mar 2011

2012 12.0f3
2009
DE


Deutschland
RE: Schleife in Subvi hängt Hauptprogramm auf
Hm stimmt, ist vom Schema her einleuchtend mit dem Beenden.

Allerdings läuft das Programm schon nach dem Einschalten nicht. Der Counter läuft nicht hoch und der gelatchte Schalter "save now" hängt..

Liegt es vllt am Timing bzw der Unsynchronität der beiden Schleifen?
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.05.2011, 15:55
Beitrag #4

NWOmason Offline
Simultator
*****


Beiträge: 1.078
Registriert seit: Dec 2010

2012.SP1
2008
EN

93047
Deutschland
RE: Schleife in Subvi hängt Hauptprogramm auf
(16.05.2011 13:00 )onsight8c schrieb:  Allerdings läuft das Programm schon nach dem Einschalten nicht. Der Counter läuft nicht hoch und der gelatchte Schalter "save now" hängt..

Das Programm läuft schon. Allerdings ist es im Sub-VI "gefangen". Dort befindet sich die Whileschleife, welche nur durch den Stoptaster auf dem SubVis-FP abgebrochen werden kann. Dies ist zwar mit der Stop-Taste des Haupt-Vis verbunden, die wird aber nur einmal beim Aufruf des Sub-Vis ausgelesen und dann erst wieder beim nächsten Durchlauf. Also so lange das Programm im Sub-Vi steckt, kannst du auf dem FP des Main-VIs soviel klickern, wie du willst, da ändert sich gar nichts.

Was du brauchst ist eine Routine, um Daten zwischen Elmenten aus dem Main-VI und dem SubVI auszutauschen, das geht mit:
  • Queues/Meldern
  • Referenzen
  • GV/FGVs
  • usw.

Wie auch schon F.Bi erläutert hat.

Am Besten mal das Programm ordentlich debuggen mit der Lampe, Breakpoints und Sonden. Dann siehts du ganz genau, was wie 'verkehrt' läuft.

z.B. läuft der Counter im Haupt-Vi deswegen nicht hoch, da das Sub-Vi erst den Wert zurückliefert, wenn es beendet ist. Und da das Sub-Vi sich in seiner Schleife befindet, gibt es auch keinen Wert zurück.

Beste Grüße,
NWO

9 von 10 Stimmen in meinem Kopf sagen: Ich bin nicht verrückt,
die andere summt die Melodie von Tetris
.

NI schrieb:To use the abort button is like using a tree to stop a car!

(20.01.2012 11:02 )NWOmason schrieb:  Getting Started with NI LabVIEW Student Training
http://zone.ni.com/devzone/cda/tut/p/id/7466

Introduction to NI LabVIEW - Learn LabVIEW Basics
http://www.ni.com/gettingstarted/labviewbasics/

Top 5 der Empfehlungen für LabVIEW-Einsteiger
http://www.ni.com/newsletter/51735/de/
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.05.2011, 15:59 (Dieser Beitrag wurde zuletzt bearbeitet: 16.05.2011 16:01 von toaran_.)
Beitrag #5

toaran_ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 237
Registriert seit: Feb 2007

2012
2006
EN

90763
Deutschland
RE: Schleife in Subvi hängt Hauptprogramm auf
Hi

also du musst immer auf den Datenfluss achten... solange in einem Subvi welces du mit Eingängen direkt im HauptVI startest muss dein Haupt Vi solange warten bis das Subvi fertig ist. in deinem Fall bis die While Schleife gestoppt wird ... also garnicht ...

Ausserdem hast du in der Whileschleife des Haupt und des Sub Vis keine Verzögerung eingebaut ... d.h. die ´Schleife läuft auf Voller Pulle und kann auch mal eine 100% CPU Last bedeuten...

ich habe deine Vis mal umgebaut ...ohne die Funktion des subvis mit näher anzusehen (evtl habe ich den AutoSave Eingang falsch verdrahtet ...)

jetzt wird dein Log Vi vor der Schleife deines Haupt Vis dynamisch gestartet.. d.h. quasi im Hintergrund .. Die Datenübertragung erfolgt per Notifier bei dem alle Buttons und Controlls die vorher direkt am Vi angeschlossen waren in einem Cluster zusammengefasst sind. Wenn sich jetzt der Zustand eines Controls änder wird eine neue message geschickt und im Subvi empfangen.

ich hoffe das vom Runterspeichern von 2010 auf 8.2 es keine Probleme gibt ...


8.2 .vi  AutosaveFunktion.vi (Größe: 19,23 KB / Downloads: 272)

8.2 .vi  ticker_elog1.vi (Größe: 27,09 KB / Downloads: 242)



T
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
16.05.2011, 22:43
Beitrag #6

onsight8c Offline
Schwerionenschubser
*


Beiträge: 16
Registriert seit: Mar 2011

2012 12.0f3
2009
DE


Deutschland
RE: Schleife in Subvi hängt Hauptprogramm auf
Guten Abend in die Runde!

Danke dir toaran_ für das Umschreiben, glaub das Runterspeichern hat doch einiges zerbröselt, das Programm läuft war sehr schnieke, aber es kommt von den Eingaben im main-VI nichts im Subvi an.. Wenn du mir den 2010er Code anhängen könntest, wär das super!

Ich denke ich weiß, wo ich an meinem eigentlichen Programm noch nacharbeiten muss ^^

Vielen Dank euch allen nochmal!
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
Anzeige
17.05.2011, 11:42
Beitrag #7

toaran_ Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 237
Registriert seit: Feb 2007

2012
2006
EN

90763
Deutschland
RE: Schleife in Subvi hängt Hauptprogramm auf
Hallo

so ich hab das ganze nochmal umgestickt ... meine erste Version war ncith wirklich brauchbar ...

so nun hier eine funktionierene Version als 2010er ... ich hab jetzt auch mal mein Hirn eingeschaltet ... naja .. vor dem Mittag .. was da halt noch so geht ...Big Grin


2010 .vi  AutosaveFunktion.vi (Größe: 15,93 KB / Downloads: 207)

0 .vi  ticker_elog1.vi (Größe: 23,53 KB / Downloads: 200)


T
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
17.05.2011, 22:32
Beitrag #8

onsight8c Offline
Schwerionenschubser
*


Beiträge: 16
Registriert seit: Mar 2011

2012 12.0f3
2009
DE


Deutschland
RE: Schleife in Subvi hängt Hauptprogramm auf
Hi toaran_

Danke dir fürs Umschreiben!

Liegt wohl am Tag heute Bahn das fehlende logger_stats.ctl hab ich schnell noch geschrieben, als TypeDef.

Soweit so gut, die Eingaben, die ich im main mache, werden an das Subvi einwandfrei übergeben und verarbeitet - sieht man ja auf den Anzeigen im SubVI sehr gut.

Da ich mit den Notifyiern noch net so wirklich durchblicke, meine Frage: sendet das SubVI die Daten auch wieder ans main zurück? Ich bräuchte im Wesentlichen im main-vi den Schreib-Impuls (als Latch-Schalter). Mit diesem spreche ich eine case-Struktur an, die mir eine Datenloggerfunktion ausführt.

Entweder bin ich zu doof, dass es nicht funktioniert bei mir oder mein LV mag mich nicht...

Für heut ist erstmal Feierabend, Gute Nacht allerseits!
Webseite des Benutzers besuchen Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2011, 06:58
Beitrag #9

F.Bi Offline
LVF-Gelegenheitsschreiber
**


Beiträge: 152
Registriert seit: Oct 2007

LabView 2016
2007
EN

55218
Deutschland
RE: Schleife in Subvi hängt Hauptprogramm auf
Du musst halt dein Signal mit "Send Notification" im Sub-VI senden und über "Get Notifier Status" im Main-VI abfragen.

Gruß
Frank
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren to top
18.05.2011, 10:49
Beitrag #10

onsight8c Offline
Schwerionenschubser
*


Beiträge: 16
Registriert seit: Mar 2011

2012 12.0f3
2009
DE


Deutschland
RE: Schleife in Subvi hängt Hauptprogramm auf
Ok ich bin eindeutig zu doof... sorry Leute, ich raffs nicht, schaut selbst..


Angehängte Datei(en)
2010 .vi  AutosaveFunktion.vi (Größe: 18,27 KB / Downloads: 184)

2010 .ctl  logger_stats.ctl (Größe: 4,02 KB / Downloads: 209)

2010 .vi  ticker_elog1.vi (Größe: 28,38 KB / Downloads: 191)
Webseite des Benutzers besuchen 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
  Programm "hängt" sich immer auf alex0505 5 6.697 02.01.2012 17:08
Letzter Beitrag: GerdW
  XY Multiplot hängt sich auf jak888 5 5.553 25.11.2010 00:12
Letzter Beitrag: Matze

Gehe zu: