30.08.2006, 12:42
Hallo liebe LabVIEW Gemeinde,
kann mir jemand sagen was ich zu beachten habe beim erstellen einer wrapper DLL?
Mein Problem dreht sich darum, dass es erforderlich ist eine Strucktur, von einer vorhandenen DLL, in die für LabVIEW handhabbare Variablentypen zerlegt.
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;
Welche Software am besten ist (LabWindows/CVI)?
Welche Dateien man benötigt? Reichen die .c und die .h?
Ein großes Problem wird eventuell die Union sein?
Wie geht man vor? Hat jemand ein Tutorium zur Hand? Hab bis jetzt noch nichts brauchbares gefunden.
Ich weiß das ist viel verlangt!
Wär cool wenn ich ein paar tipps bekommen würde.
Vielen Dank im voraus.
Gruß
Nico
kann mir jemand sagen was ich zu beachten habe beim erstellen einer wrapper DLL?
Mein Problem dreht sich darum, dass es erforderlich ist eine Strucktur, von einer vorhandenen DLL, in die für LabVIEW handhabbare Variablentypen zerlegt.
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;
Welche Software am besten ist (LabWindows/CVI)?
Welche Dateien man benötigt? Reichen die .c und die .h?
Ein großes Problem wird eventuell die Union sein?
Wie geht man vor? Hat jemand ein Tutorium zur Hand? Hab bis jetzt noch nichts brauchbares gefunden.
Ich weiß das ist viel verlangt!
Wär cool wenn ich ein paar tipps bekommen würde.
Vielen Dank im voraus.
Gruß
Nico