11. Utilisation du Yocto-4-20mA-Tx en VisualBasic .NET
Vous avez alors le choix entre simplement ajouter ces fichiers à votre projet, ou les ajouter en tant
que lien (le bouton Ajouter est en fait un menu déroulant). Dans le premier cas, Visual Studio va
copier les fichiers choisis dans votre projet, dans le second Visual Studio va simplement garder un
lien sur les fichiers originaux. Il est recommandé d'utiliser des liens, une éventuelle mise à jour de la
librairie sera ainsi beaucoup plus facile.
Ensuite, ajoutez de la même manière la dll
4
. Puis depuis la fenêtre Explorateur de solutions, effectuez un clic droit sur la DLL, choisissez
dll
Propriété et dans le panneau Propriétés, mettez l'option Copier dans le répertoire de sortie à
toujours copier. Vous êtes maintenant prêt à utiliser vos modules Yoctopuce depuis votre
environnement Visual Studio.
Afin de les garder simples, tous les exemples fournis dans cette documentation sont des applications
consoles. Il va de soit que que les fonctionnement des librairies est strictement identiques si vous les
intégrez dans une application dotée d'une interface graphique.
11.3. Contrôle de la fonction CurrentLoopOutput
Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment
de code VisualBasic .NET qui utilise la fonction CurrentLoopOutput.
[...]
' On active la détection des modules sur USB
Dim
errmsg
As
String
YAPI.RegisterHub("usb",
[...]
' On récupère l'objet permettant d'intéragir avec le module
Dim
currentloopoutput
currentloopoutput
("TX420MA1-123456.currentLoopOutput")
' Pour gérer le hot-plug, on vérifie que le module est là
If (currentloopoutput.isOnline()) Then
' Utiliser currentloopoutput.set_current()
[...]
End If
[...]
Voyons maintenant en détail ce que font ces quelques lignes.
YAPI.RegisterHub
La fonction
YAPI.RegisterHub
être recherchés. Utilisée avec le paramètre
connectés localement à la machine. Si l'initialisation se passe mal, cette fonction renverra une valeur
différente de
YAPI_SUCCESS
YCurrentLoopOutput.FindCurrentLoopOutput
La fonction
YCurrentLoopOutput.FindCurrentLoopOutput
4-20mA en fonction du numéro de série de son module hôte et de son nom de fonction. Mais vous
pouvez tout aussi bien utiliser des noms logiques que vous auriez préalablement configurés.
Imaginons un module Yocto-4-20mA-Tx avec le numéros de série TX420MA1-123456 que vous
auriez appelé "MonModule" et dont vous auriez nommé la fonction currentLoopOutput "MaFonction",
les cinq appels suivants seront strictement équivalents (pour autant que MaFonction ne soit définie
qu'une fois, pour éviter toute ambiguïté):
currentloopoutput
("TX420MA1-123456.currentLoopOutput")
currentloopoutput
4
Pensez à changer le filtre de la fenêtre de sélection de fichiers, sinon la DLL n'apparaîtra pas
70
errmsg)
As
YCurrentLoopOutput
=
YCurrentLoopOutput.FindCurrentLoopOutput
initialise l'API de Yoctopuce en indiquant où les modules doivent
, et retournera via le paramètre
=
YCurrentLoopOutput.FindCurrentLoopOutput
= YCurrentLoopOutput.FindCurrentLoopOutput("TX420MA1-123456.MaFonction")
, qui se trouve dans le répertoire
yapi.dll
, elle permet de travailler avec les modules
"usb"
errmsg
Sources/
un explication du problème.
permet de retrouver une sortie
www.yoctopuce.com