| 
	
		
			| 
					08.09.2010, 16:21  (Dieser Beitrag wurde zuletzt bearbeitet: 10.09.2010 16:12  von jg.) Beitrag #1 |  
			| 
					
                                                 | halhar
   LVF-Neueinsteiger
 
 
 Beiträge: 4
 Registriert seit: Sep 2010
 
 6.1
 -
 de
 
 
 Deutschland
 
 | DLL: Zwischenergebnisse an LabView senden? 
					Moin, 
Es geht um mathematische Berechnungen, die innerhalb einer DLL ausgeführt werden. 
Soweit alles klar, funktioniert. 
Gibt es nun eine Möglichkeit, während die DLL aktiv ist -- das können durchaus mehrere Minuten sein -- 
Zwischenergebnisse an Labview zu senden? 
Und das möglichst ohne den Umweg über eine entsprechende Pufferdatei auf Festplatte.
 
Ich denke da an folgende Informationen, die die DLL senden soll: 
* Wert, der den Fortschritt der Berechnungen darstellt 
* Signal, wenn aktualisierte Daten der DLL vorliegen, die dann in LabView entgegengenommen werden 
* die eigentlichen Daten (beispielsweise als Array) 
* Auslösen von Ereignissen (Plot aktualisieren, neue Werte abspeichern etc.)
 
Kann mir jemand ein paar Tipps geben, wie man sowas realisieren kann? 
Was sind hier eigentlich die entsprechenden Schlagwörter, dass ich mich mal selbst auf die Suche nach Informationen machen kann? 
Kann man die DLL irgendwie entkoppelt vom eigentlichen LabView-Programm laufen lassen? 
Normalerweise ist ja solange Pause, bis die DLL abgearbeitet ist...
 
Dank!
 
EDIT:
Crosspost im NI-Forum ?   
				
				 |  
    |  
			|  |  
	
		
			| 
					09.09.2010, 11:37  
				  Beitrag #2 |  
			| 
					
                                                 |   IchSelbst
   LVF-Guru
 
      
 
 Beiträge: 3.708
 Registriert seit: Feb 2005
 
 11, 14, 15, 17, 18
 -
 DE
 
 97437
 Deutschland
 
 | DLL: Zwischenergebnisse an LabView senden? 
					' schrieb:Gibt es nun eine Möglichkeit, während die DLL aktiv ist -- das können durchaus mehrere Minuten sein - Zwischenergebnisse an Labview zu senden?
 
Ja, das geht. 
Hast du dir hier  mal das Tutorial heruntergeladen? Da ist ein Muster dabei, wie eine laufende DLL in ein LabVIEW-Frontpanelelement schreiben kann.
 Zitat:Ich denke da an folgende Informationen, die die DLL senden soll: 
Da hier alles über Pointer geht, ist Anzahl und Typ der Daten per se egal. Probleme können nur auftreten beim Decodieren der Daten (das lässt sich aber immer, mal einfacher mal aufwändiger, lösen). 
 Zitat:Kann man die DLL irgendwie entkoppelt vom eigentlichen LabView-Programm laufen lassen? 
Im Prinzip ja. Du hast es ja schon gesagt: In deiner DLL muss du einen Thread starten, der selbständig läuft - dann läuft auch die DLL selbständig. Nur so kann die DLL im Übrigen von selbst Daten an LV senden.
 Zitat:Normalerweise ist ja solange Pause, bis die DLL abgearbeitet ist... 
Das würde nur gelten, wenn die DLL "im Datenfluss" aufgerufen wird. Da deine DLL aber einen eigenen Thread besitzt, spielt das hier keine Rolle.
 
Du könntest auch folgendes machen (das ist aber nicht so schön): Mach eine eigene While-Schleife, in der nur die DLL abgearbeitet wird. Die Daten, die dann ganz normal aus der DLL herauskommen, würden dann per Queue an den Rest des LV-Programmes gesendet werden. Das unschöne hier ist, dass das DLL-Programm vom LV-Programm abhängig ist. Die Sache mit der Queue sieht zwar auch unschön aus, ist aber richtig so.
				 
 
Jeder, der zur wahren Erkenntnis hindurchdringen will, muss den Berg Schwierigkeit alleine erklimmen (Helen Keller). 
				
				 |  
    |  
			|  |  
	
		
			| 
					09.09.2010, 13:28  
				  Beitrag #3 |  
			| 
					
                                                 | halhar
   LVF-Neueinsteiger
 
 
 Beiträge: 4
 Registriert seit: Sep 2010
 
 6.1
 -
 de
 
 
 Deutschland
 
 | DLL: Zwischenergebnisse an LabView senden? 
					Danke für den Tipp mit dem Tutorial.Leider habe ich hier nur eine alte LV 6.1 - Version, deswegen kann ich die beigefügten Beispiele nicht öffnen.
 Werde mal schauen, ob ich mit der aktuellen Testversion (LV 8?) weiterkomme.
 
				
				 |  |  
			|  |  
	
		
			| 
					09.09.2010, 16:04  
				  Beitrag #4 |  
			|  |  
			|  |  
	
		
			| 
					09.09.2010, 16:07  (Dieser Beitrag wurde zuletzt bearbeitet: 09.09.2010 16:13  von halhar.) Beitrag #5 |  
			| 
					
                                                 | halhar
   LVF-Neueinsteiger
 
 
 Beiträge: 4
 Registriert seit: Sep 2010
 
 6.1
 -
 de
 
 
 Deutschland
 
 | DLL: Zwischenergebnisse an LabView senden? 
					Habe jetzt die LV2010 Evaluation installiert und kann die Beispiele öffnen.Leider sind die Beispiele jedoch nicht dokumentiert, und im Tutorial finde ich auch keinen Hinweis auf das von Dir erwähnte Beispiel, wie eine laufende DLL Daten an LV sendet.
 Beispiele leider in Delphi... Kenn mich nur mit C gut aus.
 
 Könnte hier jemand mit einem leicht verständlichen Beispiel, bei dem die DLL in C geschrieben wurde, aushelfen?
 Literaturhinweise zu diesem Thema sind auch gerne gesehen.
 Habe mittlerweile haufenweise Forenbeiträge und die online-Hilfe bei National Instruments zu LV gelesen, aber dieses Thema scheint nirgends
 anfängergerecht (also anhand von lauffähigen und dokumentierten Beispielen) behandelt zu werden.
 
				
				 |  |  
			|  |  
	
		
			| 
					10.09.2010, 15:00  (Dieser Beitrag wurde zuletzt bearbeitet: 10.09.2010 15:00  von GerdW.) Beitrag #6 |  
			| 
					
                                                 |   GerdW
   ______________
 
   
 Beiträge: 17.529
 Registriert seit: May 2009
 
 LV2019 (LV2021)
 1995
 DE_EN
 
 10×××
 Deutschland
 
 | DLL: Zwischenergebnisse an LabView senden? 
					Ist dies evtl. ein Cross-Link ?
				
 
				
				 |  |  
			|  |  
	
		
			| 
					10.09.2010, 15:39  
				  Beitrag #7 |  
			| 
					
                                                 | halhar
   LVF-Neueinsteiger
 
 
 Beiträge: 4
 Registriert seit: Sep 2010
 
 6.1
 -
 de
 
 
 Deutschland
 
 | DLL: Zwischenergebnisse an LabView senden? 
					Ja, habe im NI LabView - Forum einen thread zu diesem Thema gestartet, nachdem die Sache hier stagniert... 
Habe jedenfalls hier ein Beispiel gefunden, was einen string aus der dll an LV sendet, und diesen zweimal updatet, während die dll läuft.
http://zone.ni.com/devzone/cda/epd/p/id/1480 
Eventuell komme ich damit weiter, um wenigstens das Konzept dahinter zu verstehen. 
Eventuell auch nicht, da der Code unkommentiert daherkommt.
				
				
				 |  |  
			|  |  
	
		
			| 
					10.09.2010, 16:11  
				  Beitrag #8 |  
			| 
					
                                                 |   jg
   CLA & CLED
 
   
 Beiträge: 15.864
 Registriert seit: Jun 2005
 
 20xx / 8.x
 1999
 EN
 
 Franken...
 Deutschland
 
 | DLL: Zwischenergebnisse an LabView senden? 
					 
Bitte in Zukunft an die LVF-Regeln  denken. Crossposts sind hier nur unter Angabe eines Links zum Crosspost erlaubt.
 
@GerdW: Danke für den Hinweis, somit weiß hier jeder Bescheid und kann selber nachschauen, ob im NI-Forum Antworten kommen.
 
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 . 
				
				 |  |  
			|  |  
	
		
			| 
					10.09.2010, 17:16  
				  Beitrag #9 |  
			|  |  
			|  |  |  |