Problème de communication avec un automate et sa DLL

Posté par Geo69 le 14/10/2009 16:08:04
Bonjour,

J'essaie de communiquer en série avec un automate TBOX.
J'arrive à charger la DLL puis à ouvrir le port COM comme suit:
iHandle = AppelDLL32("TComm.DLL", "TCommOpenCom", "COM1", 9600, 1, 8, 1)

Ensuite je n'arrive pas à récupérer la valeur des Entrées/Sorties:
ReadOK = AppelDLL32("TComm.DLL", "TCommReadAbsolute", iHandle, 1, 0, 20480, 1, &ValeurLue, False)
La fonction me rend toujours "ReadOK = 0".
Je soupconne que le problème vient de la variable "ValeurLue": ce paramètre doit donner à la dll l'adresse mémoire dans laquelle l'automate doit mettre les valeurs des mots lus.
Je ne sais pas quel type de variable utiliser...

Voilà la défintion de la fonction dans la DLL:
BOOL CALLBACK TCommReadAbsolute(HANDLE hFile, int nStation, int nType, int nAddress, int nLength, int *pnData, BOOL bPSTN);
pnData: Pointer on buffer that receives the read values. Each register, regardless of its type (digital, 16 bits, 32 bits) is stored as 32 bits variable.

Le code marche en VB et je n'arrive pas à récupérer qqch avec Windev!

Merci d'avance...

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=20&topic_id=6294&post_id=24971