04-02-2009 06:25 AM
04-06-2009 03:02 AM
Bonjour Mikel
Vous pouvez programmer votre API a partir de la function <<Call Library Function Node>> et ouvrir l'application (double-click) et en selectionant ton fichier DLL fournit;
Ensuite simplement selectioner la Function 73 a partir du menu deroulant sous Nom de Fonction.
Dans l'onglet Parametre vous devez editer les parametres fournit par le client pour la fonction:
function F73( bteDeviceAddr, bteChannel: Byte; var sinValue: Single; var bteStat: Byte): Smallint; stdcall; export;
Faites attention de bien representer la dimension des variables, comme var_sinValue qui es 32bit par exemple.
Une fois terminee la fonction devrais ressembler a l'image ci-dessous.
Comme les donnees de pression et temperature sont donnees sous "floating-point format" j'ai selectione 32bit mais vous devrez peut-etre decomposer les donnees pour retrouver la pression et temperature.
Aussi, d'autres fonctions preleminaires peuvent etre necessaire comme initialiser l'appareil par-exemple?
Plus de details et info sur l'utilisation de librarie disponible sous le liens ci-dessous:
http://zone.ni.com/devzone/cda/tut/p/id/4877
Aussi j'ai une application cree pour un client et que vous pouvez consulter pour reference.
J'utilise les fichiers DLL pour faire functioner un appareil USB pour lire/ecrire avec une interface ECU.
Vous pouvez telecharger cet example a partir du lien ci-desous en appuyant l'icone jaune et en selectionant RAMScope Driver example.vi .
Certain texte son en Japonais et risque de ne pas etre visible mais ca donne une idee d'application...
http://digital.ni.com/worldwide/japan.nsf/web/all/B8F46E586D186DCE492574F00009A6A4
N'hesitez pas a repondre au message si vous avez plus de questions.
04-06-2009 09:57 AM
Bonjour,
en regardant sur la page 24 de la doc, vous voyez que les parametres avec le mot-cle val doivent etre passes avec un pointeur et non pas par valeur.
Le type sinValue dans labview correspond a floating point single (32-bits).
Les 4 parametres sont donc:
retour: I16 (smallint)
par1: U8
par2: U8
par3: pointeur sur single (4-byte)
par4: pointeur sur U8
Aussi, n'oubliez pas d'ouvrir le port et de le refermer a la fin avec les fonctions OpenComPort() et CloseComPort().
Bonne chance.