15. Utilisation du Yocto-4-20mA-Tx en Python
Il suffit de quelques lignes de code pour piloter un Yocto-4-20mA-Tx. Voici le squelette d'un fragment
de code Python qui utilise la fonction CurrentLoopOutput.
[...]
# On active la détection des modules sur USB
errmsg=YRefParam()
YAPI.RegisterHub("usb",errmsg)
[...]
# On récupère l'objet permettant d'intéragir avec le module
currentloopoutput
("TX420MA1-123456.currentLoopOutput")
# Pour gérer le hot-plug, on vérifie que le module est là
if
currentloopoutput.isOnline():
# use currentloopoutput.set_current()
[...]
[...]
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
currentloopoutput
currentloopoutput
currentloopoutput
YCurrentLoopOutput.FindCurrentLoopOutput
utiliser à loisir pour contrôler la sortie sortie 4-20mA.
isOnline
La
méthode
YCurrentLoopOutput.FindCurrentLoopOutput
correspondant est présent et en état de marche.
get_loopPower
La
méthode
get_loopPower()
YCurrentLoopOutput.FindCurrentLoopOutput
de la boucle de courant.
set_current
La méthode
set_current()
boucle. Le paramètre est une valeur entre 3.0 et 21.0 mA.
102
=
YCurrentLoopOutput.FindCurrentLoopOutput
initialise l'API de Yoctopuce en indiquant où les modules doivent
, et retournera via l'objet
=
YCurrentLoopOutput.FindCurrentLoopOutput
= YCurrentLoopOutput.FindCurrentLoopOutput("TX420MA1-123456.MaFonction")
= YCurrentLoopOutput.FindCurrentLoopOutput("MonModule.currentLoopOutput")
= YCurrentLoopOutput.FindCurrentLoopOutput("MonModule.MaFonction")
= YCurrentLoopOutput.FindCurrentLoopOutput("MaFonction")
isOnline()
permet de d'ajuster la quantité de courant qui doit circuler dans le
, elle permet de travailler avec les modules
"usb"
une explication du problème.
errmsg
renvoie un objet que vous pouvez ensuite
de
l'objet
permet
de
l'objet
retourné
permet de connaitre l'état de l'alimentation
permet de retrouver une sortie
renvoyé
de
savoir
si
le
par
la
www.yoctopuce.com
par
module
fonction