LabVIEWForum.de - C Struktur in LabVIEW einbinden

LabVIEWForum.de

Normale Version: C Struktur in LabVIEW einbinden
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
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
<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>
' 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
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
Referenz-URLs