LabVIEWForum.de
C Struktur in LabVIEW einbinden - Druckversion

+- LabVIEWForum.de (https://www.labviewforum.de)
+-- Forum: LabVIEW (/Forum-LabVIEW)
+--- Forum: LabVIEW Allgemein (/Forum-LabVIEW-Allgemein)
+--- Thema: C Struktur in LabVIEW einbinden (/Thread-C-Struktur-in-LabVIEW-einbinden)



C Struktur in LabVIEW einbinden - Cubaner - 24.08.2006 09:49

Hallo allerseits,

mein Problem dregt sich um eine C Struktur in einer DLL, die ich LabVIEW über den Baustein "Aufruf externer Bibliotheken" einbinden will. Die DLL hat eine Funktion, die die Struktur erwartet.

Die Struktur sieht folgendermasen aus:

typedef struct tagSERVICE
{
unsigned char bService, //service to execute
fShortCnf; //short confirmation enable
unsigned short wTargetAddress; //target address or PC-interface
unsigned short wIndex, //Parameter-Index
wDataLength; //Anzahl PD bei READ..., WRITE.. bzw. Nutzdaten bei SCOPE
unsigned char bTeleType; //0:zykl. sonst: azyklische Telegramme

union
{
long lDate; //standard READ, WRITE
unsigned char abData[10]; //abData[0]:# of channel with GET_SCOPE
}Data; //abData[1]:# ob block with GET_SCOPE


unsigned short awPA[10], //process data to send
awPE[10]; //received process data

unsigned char far* fpbDataPointer;
unsigned char abReserve[10];
ERRORMSG Error;
}SERVICE, far* FPSERVICE;


Weis jemand wie man diese Struktur einer DLL übergeben kann.
Hab es mit einem Cluster versucht, leider kein Erfolg.

Gruß

Nico


C Struktur in LabVIEW einbinden - jg - 25.08.2006 08:09

<div align="left">Hallo, Nico,

da hast du einiges an Arbeit vor dir.

Am einfachsten wäre es, eine wrapper.dll zu basteln, die dir die structures in für LabVIEW einfach zu handhabende Variablentypen zerlegt.

Anders wird es ganz ekelig (zumindest was ich bisher so gelesen habe). Zu diesem Thema hier ein Link von NI.

MfG, Jens.</div>


C Struktur in LabVIEW einbinden - Cubaner - 29.08.2006 10:27

' schrieb:<div align="left">Hallo, Nico,

da hast du einiges an Arbeit vor dir.

Am einfachsten wäre es, eine wrapper.dll zu basteln, die dir die structures in für LabVIEW einfach zu handhabende Variablentypen zerlegt.

Anders wird es ganz ekelig (zumindest was ich bisher so gelesen habe). Zu diesem Thema hier ein Link von NI.

MfG, Jens.</div>


Hallo Jens,

vielen dank für deine Antwort.

Jetzt frage ich mich, ob es für einen Anfänger einfach ist so eine DLL zu erstellen?
Ist das große Problem für LabVIEW, dass der Code nicht in C geschrieben ist?
Oder kann man in der orginal DLL nur noch zusätzlich die Datentypen in der Strucktur so deklarieren dass diese für LabVIEW zu handhaben sind.


Grüße

Nico


C Struktur in LabVIEW einbinden - Cubaner - 29.08.2006 11:10

Was ich vergessen habe zu fragen, ist was ich bei der Erstellung einer Wrapper DLL beachten muss.
Wäre echt nicht schlecht wenn mir jemand einen Leitfaden geben kann, oder ein link der mir dabei weiterhilft.

Grüße

Nico