| 
	
		
			| 
					29.08.2013, 07:01  
				  Beitrag #1 |  
			| 
					
                                                 | finalr
   LVF-Grünschnabel
 
  
 
 Beiträge: 12
 Registriert seit: Oct 2012
 
 2012
 2011
 DE
 
 
 Deutschland
 
 | Aufruf über Referenz 
					Hallo,
 ich hab ein kleines Problem mit dem VI "Aufruf über Referenz".
 Das Szenario:
 Ein Prüfablauf-VI wird mittels Aufruf über Referenz gestartet. Das klappt auch.
 
 Nun möchte ich gerne vom aufrufenden VI über einen Cancel-Button den Prüfablauf stoppen können. Mein Problem ist jedoch, dass das aufrufende VI während der Abarbeitung des Prüfablaufs nicht gereagiert. Erst nach Ablauf des Prüfablaufs kann ich das abrufende VI wieder bedienen.
 
 Gibt es eine Einstellung, sodass das aufrufende VI während der Abarbeitung bedienbar ist? Bzw. vielleicht hat jemandeine Idee, wie ich den Prüfablauf noch stoppen könnte.
 
 Gruss Daniel
 
				
				 |  |  
			|  |  
	
		
			| 
					29.08.2013, 07:14  
				  Beitrag #2 |  
			| 
					
                                                 |   Y-P
   ☻ᴥᴥᴥ☻ᴥᴥᴥ☻
 
   
 Beiträge: 12.612
 Registriert seit: Feb 2006
 
 Developer Suite Core -> LabVIEW 2015 Prof.
 2006
 EN
 
 71083
 Deutschland
 
 | RE: Aufruf über Referenz 
					Hab hier schnell mal ein altes "Call by Reference" - Bsp. um einen Stop-Knopf erweitert. 
Hoffentlich meintest Du auch "Call by Reference". Ich habe die deutsche Version nämlich nicht.
    Haupt-VI.vi  (Größe: 7,63 KB / Downloads: 347) 
    Plus.vi  (Größe: 5,79 KB / Downloads: 312) 
    Minus.vi  (Größe: 5,81 KB / Downloads: 308) 
 
Gruß Markus
				
 
--------------------------------------------------------------------------Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
 --------------------------------------------------------------------------
 
				
				 |  |  
			|  |  
	
		
			| 
					29.08.2013, 07:41  
				  Beitrag #3 |  
			| 
					
                                                 | finalr
   LVF-Grünschnabel
 
  
 
 Beiträge: 12
 Registriert seit: Oct 2012
 
 2012
 2011
 DE
 
 
 Deutschland
 
 | RE: Aufruf über Referenz 
					Vielen Dank für deine Antwort. So ähnlich habe ich das auch gelöst.   
Das Problem ist nicht das Beenden an sich, sondern das sich das Haupt-VI nicht bedienen lässt, in der Zeit, wo der Prüfablauf abläuft. 
Konkrekt: Das Haupt-VI reagiert nicht auf Buttonklicks oder sonst was. Erst wenn der Prüfablauf fertig ist, dann kann ich den Button wieder drücken bzw. er reagiert wieder.
 
Im Prüfablauf wird über eine Sequenzstruktur mehrere Messungen abgearbeitet. Ohne While-Schleife oder sonstiges.
 
Gruss Daniel
				
				
				 |  |  
			|  |  
	
		
			| 
					29.08.2013, 07:58  
				  Beitrag #4 |  
			| 
					
                                                 |   Y-P
   ☻ᴥᴥᴥ☻ᴥᴥᴥ☻
 
   
 Beiträge: 12.612
 Registriert seit: Feb 2006
 
 Developer Suite Core -> LabVIEW 2015 Prof.
 2006
 EN
 
 71083
 Deutschland
 
 | RE: Aufruf über Referenz 
					Dann lad' mal Deine VIs hoch.
 Gruß Markus
 
 
--------------------------------------------------------------------------Bitte stellt mir keine Fragen über PM, dafür ist das Forum da - andere haben vielleicht auch Interesse an der Antwort !!
 --------------------------------------------------------------------------
 
				
				 |  |  
			|  |  
	
		
			| 
					29.08.2013, 08:41  
				  Beitrag #5 |  
			|  |  
			|  |  
	
		
			| 
					29.08.2013, 09:14  
				  Beitrag #6 |  
			|  |  
			|  |  
	
		
			| 
					29.08.2013, 09:21  
				  Beitrag #7 |  
			| 
					
                                                 | finalr
   LVF-Grünschnabel
 
  
 
 Beiträge: 12
 Registriert seit: Oct 2012
 
 2012
 2011
 DE
 
 
 Deutschland
 
 | RE: Aufruf über Referenz 
					Hallo Marko,
 der Button Exit wird im Prüfablauf via globale Variabel abgefragt. Funktioniert auch aber ich kann das Haupt_VI nicht bedienen, sobald der Prüfablauf läuft (eingefroren).
 
 Gruss Daniel
 
				
				 |  |  
			|  |  
	
		
			| 
					29.08.2013, 09:24  (Dieser Beitrag wurde zuletzt bearbeitet: 29.08.2013 09:25  von jg.) Beitrag #8 |  
			| 
					
                                                 |   jg
   CLA & CLED
 
   
 Beiträge: 15.864
 Registriert seit: Jun 2005
 
 20xx / 8.x
 1999
 EN
 
 Franken...
 Deutschland
 
 | RE: Aufruf über Referenz 
					So wird das nichts. "Call by Reference" ist wie ein normaler SubVI Aufruf, du bleibst solange in der Event-Struktur hängen (MERKE: Lange andauernde Prozesse gehören NICHT in die Event-Struktur), bis das VI beendet ist. Deshalb wird im Aufrufer-VI auch nichts mehr abgearbeitet. 
Lösungen: 
1) Der SubVI Aufruf wird parallel zur Event-Struktur in einer eigenen Schleife aufgerufen. 
2) Start des VI per Invoke Node "Run VI"
   
3) Ab LabVIEW gibt es auch asynchrones Aufrufen von VIs: http://zone.ni.com/reference/de-XX/help/..._vi_calls/ 
Gruß, 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 . 
				
				 |  |  
			|  |  
	
		
			| 
					29.08.2013, 09:39  
				  Beitrag #9 |  
			|  |  
			|  |  
	
		
			| 
					29.08.2013, 09:46  
				 |  
			| 
					
                                                 |   jg
   CLA & CLED
 
   
 Beiträge: 15.864
 Registriert seit: Jun 2005
 
 20xx / 8.x
 1999
 EN
 
 Franken...
 Deutschland
 
 | RE: Aufruf über Referenz 
					@Marko: Haken oder nicht, das nützt bei dem Aufbau nichts. Wie schon gesagt, Call by Reference ist identisch zu einem SubVI Aufruf. Die Node wartet also, bis das SubVI abgearbeitet ist. Erst dann wird die Event Struktur beendet und erst danach kann ein weiteres Event verarbeitet werden.
 THINK Dataflow.
 
 Gruß, 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 . 
				
				 |  |  
			|  |  |  |