| 
	
		
			| 
					17.02.2010, 13:11  (Dieser Beitrag wurde zuletzt bearbeitet: 17.02.2010 13:16  von Burning_Man.) Beitrag #1 |  
			| 
					
                                                 | Burning_Man
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 84
 Registriert seit: Nov 2009
 
 2009
 2009
 de
 
 7
 Deutschland
 
 | ein SubVI mehrmals unabhängig ausführen 
					Hallo, 
ich habe folgendes SubVI:
   
damit will ich bei Überschreiten einer bestimmten Temperaturdifferenz erreichen dass eine LED dauerhaft leuchtet (auch bei Temperaturabfall). 
Dies soll dann manuell durch einen RESET Button rückgesetzt werden können. 
Das funktioniert auch aber ich möchte das SubVI mehrmals im HauptVI ausführen (ich habe mehrer Datenkanäle zur Temperaturerfassung). 
Das Problem ist jetzt wenn ein Kanal eine Temperaturüberschreitung signalisiert, habe ich den Alarm bei allen Kanälen. 
Ich dachte das SubVI sei in sich geschlossen, wie kann das dann sein? Ich benutze ja auch keine globalen Variablen
				
				
				 |  |  
			|  |  
	
		
			| 
					17.02.2010, 14:10  
				  Beitrag #2 |  
			|  |  
			|  |  
	
		
			| 
					17.02.2010, 14:22  
				  Beitrag #3 |  
			| 
					
                                                 |   jg
   CLA & CLED
 
   
 Beiträge: 15.864
 Registriert seit: Jun 2005
 
 20xx / 8.x
 1999
 EN
 
 Franken...
 Deutschland
 
 | ein SubVI mehrmals unabhängig ausführen 
					' schrieb:Das Problem ist deine Feedback-Node! Diese wird nirgends neu initialisiert und funktioniert dadurch wie eine FGV sprich:
 Der Wert bleibt auch für die nächste Ausführung erhalten!
 
Eher nicht. Es geht doch um mehrfache parallele Ausführung eines VIs, ohne dass sich die Aufrufe gegenseitig in die Quere kommen.
 
@Burning_Man: Such mal im Forum nach dem Schlagwort "ablaufinvariant" oder "reentrant".
 
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 . 
				
				 |  |  
			|  |  
	
		
			| 
					17.02.2010, 14:51  
				  Beitrag #4 |  
			| 
					
                                                 | Andinger
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 65
 Registriert seit: Feb 2010
 
 7.1
 2010
 de_en
 
 95447
 Deutschland
 
 | ein SubVI mehrmals unabhängig ausführen 
					Ein Feedback-Node behaelt den Wert von zuvor? Und solange bis was(?) passiert? Ich hab sowas noch nie benutzt.  
Wenn ich mehrere gleiche SubVIs an verschiedenen Stellen im Programm einbaue, ist das aequivalent zu jeweils unabhaengigem neuem code im Programm (also waere es dasselbe, wenn ich den eigentlichen Code vom SubVI immer an die entsprechende Stelle manuell reinkopiere), oder merkt sich das SubVI Sachen, die beim naechsten Aufruf dann wieder da sind.  
Wenn letzteres wahr waere und ein Feedback-Node den Wert behaelt, dann waere es ja klar, dass alle Alarme angehen. 
Jens ist nicht der Meinung. Das bedeutet mindestens eine meiner Aussagen hier ist falsch, weil Jens wahrscheinlich meistens Recht hat  - was ist falsch?
				
				
				 |  |  
			|  |  
	
		
			| 
					17.02.2010, 15:06  (Dieser Beitrag wurde zuletzt bearbeitet: 17.02.2010 15:09  von Lucki.) Beitrag #5 |  
			| 
					
                                                 |   Lucki
   Tech.Exp.2.Klasse
 
   
 Beiträge: 7.699
 Registriert seit: Mar 2006
 
 LV 2016-18 prof.
 1995
 DE
 
 01108
 Deutschland
 
 | ein SubVI mehrmals unabhängig ausführen 
					' schrieb:Ein Feedback-Node behaelt den Wert von zuvor? Und solange bis was(?) passiert? 
Durch den Feedback enthält das Sub-VI so eine Art Flip.Flip, es ist schaltungstechnisch gesprochen eine "sequentielle Schaltung" mit internem Speicher. Das VI hat nur einen solchen Speicher, auch wenn es von verschiedenen Ikons für unterschiedliche Aufgaben aufgerufen wird. Es bringt in diesem Fall dann alles durcheinander. 
Die unelegante Methode, das aus der Welt zu schaffen ( - also so wie ich es als blutiger Anfänger selbst mal gemacht hatte - ) wäre: Von dem Sub-VI durch Kopieren Clones mit unterschiedlichen Namen zu erzeugen, also SUB1.vi, SUB2.vi...,  und für jedes Ikon im Haupt.vi einen anderen Clon verwenden.  
Genau das wird aber intern gemacht, ohne daß du davon etwas merkst, wenn Du in den VI-Eigenschaften das VI "reentrant" machst.
				 
				
				 |  |  
			|  |  
	
		
			| 
					17.02.2010, 15:12  (Dieser Beitrag wurde zuletzt bearbeitet: 17.02.2010 15:16  von unicorn.) Beitrag #6 |  
			|  |  
			|  |  
	
		
			| 
					17.02.2010, 15:24  
				  Beitrag #7 |  
			| 
					
                                                 |   jg
   CLA & CLED
 
   
 Beiträge: 15.864
 Registriert seit: Jun 2005
 
 20xx / 8.x
 1999
 EN
 
 Franken...
 Deutschland
 
 | ein SubVI mehrmals unabhängig ausführen 
					Vielleicht hätte ich mit meiner Aussage "eher nicht" genauer sein sollen. "Eher nicht" bezieht sich auf die Aussage ' schrieb:Das Problem ist deine Feedback-Node! 
Das Problem ist nicht die Feedback-Node, sondern dass bei mehrfacher unabhängiger Ausführung eines VIs dieses als reentrant definiert sein muss.
 
Den Rest hat unicorn abgearbeitet, danke  
 
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 . 
				
				 |  |  
			|  |  
	
		
			| 
					17.02.2010, 23:39  
				  Beitrag #8 |  
			| 
					
                                                 | Andinger
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 65
 Registriert seit: Feb 2010
 
 7.1
 2010
 de_en
 
 95447
 Deutschland
 
 | ein SubVI mehrmals unabhängig ausführen 
					Ah, ok  - Danke fuer diese Worte der Erklaerung 
Ich glaube naemlich bei meiner alten LabVIEW Version gibt es die Feedbackknoten noch gar nicht. Deshalb wollte ich mal wissen was die machen... Ich brauch echt ein Update   
Ganz konkret heisst das also: Wenn beim ersten Aufruf eine eins am Feedbackknoten ankommt kommt hinten eine 1 raus. 
Egal was beim naechsten mal ankommt (sagen wir mal eine zwei) - es kommt die eins von zuvor heraus. 
Bei dritten Aufruf kommt dann die zwei ?
 
Hoert sich irgendwie wie ein Shiftregister an..
				
				
				 |  |  
			|  |  
	
		
			| 
					18.02.2010, 07:36  
				  Beitrag #9 |  
			|  |  
			|  |  
	
		
			| 
					18.02.2010, 10:46  
				 |  
			| 
					
                                                 | Burning_Man
   LVF-Gelegenheitsschreiber
 
   
 
 Beiträge: 84
 Registriert seit: Nov 2009
 
 2009
 2009
 de
 
 7
 Deutschland
 
 | ein SubVI mehrmals unabhängig ausführen 
					Hallo, 
da scheine ich ja in ein Wespennest gestochen zu haben   
ich habe aber mein Problem dank eurer Hilfe lösen können !
				
				
				 |  |  
			|  |  |  |