Question

Je dois envoyer une commande à un instrument GPIB et je peux le faire comme ceci:. power.write("volt 0.01")
Cette commande permet de définir la sortie de ma source d'alimentation 0.01V, cependant, je suis en train de prendre une courbe I-V et que vous voulez définir la source à des valeurs différentes et prendre une mesure à chaque valeur. J'ai besoin essentiellement une sorte de boucle pour faire cela pour moi. J'ai essayé ce qui suit:

k=0
while k<= 1:
    power.write("volt k")
    k=k+0.01

Cela ne fonctionne pas parce que k s'envoyer comme 'k', non pas comme un numéro. Comment puis-je résoudre ce problème?

Était-ce utile?

La solution

Au lieu de power.write("volt k"), utilisez:

power.write("volt " + str(k))
                 ^
          observe space here!

Si vous souhaitez contrôler la précision de sortie, vous pouvez utiliser les éléments suivants:

power.write("volt %0.2f" % k)

Autrement dit, si k est 4.85866 alors en utilisant des moyens %0.2f volt 4.86 est envoyé au dispositif. Si vous utilisez %0.4f alors volt 4.8587 est envoyé au dispositif. Notez l'arrondi!

Autres conseils

Au lieu de power.write("volt k"), utilisez:

power.write("volt %0.2f" % k)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top