Seite 1 von 1

Python <> Labview Schnittstelle über DLL

Verfasst: Sonntag 28. Januar 2007, 14:37
von Hand
Hallo,
ich habe das Problem dass ich zyklisch Daten mit Labview austauschen muss.
Python soll senden und empfangen, Labview die Daten auswerten und verändert.
Python agiert also als Kommunikationsprozess.

Leider hat Labview keine vernünftigen Schnittstellen, nur ActiveX und .net

Jetzt hab ich mir gedacht ich mach das ganze einfach über eine DLL die auf Python zugreift und damit Daten aus einer MySql DB liest oder evtl über xml-rpc.

Code: Alles auswählen

DLL_API const char* DLL_func(void)
{
  const char* x;
  Py_Initialize();
  PyRun_SimpleString("print test");
  x = Py_GetVersion();
  Py_Finalize();
  return x;
}
Das problem ist jetzt, wenn das Python script nur einmal aufgerufen wird muss ja bei jeder Abfrage eine neue Verbindung zur Datenbank hergestellt werden.

Kann ich das Python Script mit PyRun starten und dann irgendwie über DLL Aufrufe auf die in Python vorhandenen Variablen/Funktionen zugreifen?

Verfasst: Montag 29. Januar 2007, 10:24
von berndr
Hallo,
du kannst über die Pythonapi Python in Labview einbetten. Diese ist in der Hilfe ausführlich dokumentiert. Die größte Schwierigkeit ist aus meiner Sicht das ständige Konvertieren der Daten Typen
LabVIEW <-> C <-> Python

Alternativ gibt es bei NI noch eine Beschreibung/Beispiel zu Ironpython:

http://community.ni.com/examples/using- ... om-labview

Vielleicht hilft dir das ja weiter.

Gruß,
Bernd.

Verfasst: Donnerstag 8. Februar 2007, 13:10
von Rolf
Hallo

Wenn du Daten von einer Anwendung zur andere senden und empfangen musst, könntest du das ja auch über ein TCP/IP(Socket) verbindung machen.

Das würde dann ähnlich funktionieren, wie wenn ich über die serielle Schnittstelle mit einem anderen Gerät, etc. kommuniziere.

Vorteil: Du könntest deine zwei Anwendungen auch geographisch getrennt benutzen.

Nur so ne Idee

Gruss

Rolf