LabVIEWForum.de
von C# -> Labview Vi aufrufen - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+---- Forum: ActiveX & .Net (/Forum-ActiveX-Net)
+---- Thema: von C# -> Labview Vi aufrufen (/Thread-von-C-Labview-Vi-aufrufen)



von C# -> Labview Vi aufrufen - masterofeye - 06.05.2014 10:44

Hallo an alle,

ich habe ein Problem. Ich möchte gerne eine Vi (eher eine lvlib ) von C# aufrufen (Nur mit der Runtime von LV). Ich scheiter aber bei allen meinen Versuchen.

Ich habe es zunächst mit ActiveX versucht. Sprich Labview Instance erzeugen und dann mit GetVIReference das Vi holen usw. Aber sobald ich mein Projekt auf einen Rechner nur mit der Runtime werfe kann ich keine Labview instance erzeugen.

zweiter Versuch war es eine Interop .net Dll zu erzeugen. Sobald ich aber die Funktion aufrufen will aus meinem Vs2010 kommt "Failed to call InitLVClient function".

Könnte mir jemand dabei helfen?

Gruß Moe


RE: von C# -> Labview Vi aufrufen - masterofeye - 07.05.2014 06:42

Eventuell noch ein paar Infos:

LV-Version 2013
Runtime Version : 2013

Ich möchte das Agilent 34401A über C# ansteuern.
Gruß Moe


RE: von C# -> Labview Vi aufrufen - GerdW - 07.05.2014 07:58

Hallo Moe,

Zitat:Ich habe es zunächst mit ActiveX versucht. Sprich Labview Instance erzeugen und dann mit GetVIReference das Vi holen usw. Aber sobald ich mein Projekt auf einen Rechner nur mit der Runtime werfe kann ich keine Labview instance erzeugen.
Wenn kein LabVIEW auf dem Rechner installiert ist, kannst du natürlich auch keine LabVIEW-Instanz starten lassen!
Die LV-RTE dient (sehr vereinfacht ausgedrückt) "nur" als unterliegende Funktionssammlung für ein mit LabVIEW erzeugtes Executable.

Du könntest aber eben ein LV-Executable erzeugen und mit diesem kommunizieren, z.B. über Netzwerk-Funktionen…

Zitat:zweiter Versuch war es eine Interop .net Dll zu erzeugen
Damit habe ich keine Erfahrung, da müsste jemand wie RolfK einspringen. Aber auch der wird dir als erstes sagen, dass aufgrund mangelhafter Informationen deinerseits keine Fehleranalyse vorgenommen werden kann…


RE: von C# -> Labview Vi aufrufen - masterofeye - 07.05.2014 10:36

Hallo GerdW,

vielen Dank für deine Info. Ist die Ausführung von vi's denn nur durch executable möglich oder auch z.b. durch .net Assembly?

Zur Interop .net welche Informationen fehler noch?

Ich habe die Library genommen und wollte das "Init" Vi als .net Assembly erzeugen. Den Rest habe ich einfach als "always included" hinzugefügt und einen Build ausgeführt.
Wenn ich dann Versuche die Funktion aufzurufen.

Code:
InteropAssembly.Agilent__3234401.Initialize("COM1");

bekomme ich eine Exception "Failed to call InitLVClient function". Wie geschrieben ist die Runtime installiert und ein Verweiß auf NationalInstruments.LabVIEW.Interop gesetzt.
.net Version ist 4.0.

Gruß Moe