Frage

Ich brauche einen Befehl an ein GPIB-Gerät zu senden, und ich kann es wie folgt tun:. power.write("volt 0.01")
Mit diesem Befehl wird die Ausgabe meiner Stromquelle zu 0.01V, aber ich versuche, eine I-V-Kurve zu nehmen und die Quelle auf unterschiedliche Werte gesetzt werden soll und eine Messung bei jedem Wert nehmen. Ich brauche im Grunde eine Art Schleife dies für mich zu tun. Ich habe versucht, die folgenden:

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

Das funktioniert nicht, weil k senden als 'k' bekommt, nicht als Zahl. Wie kann ich dieses Problem beheben?

War es hilfreich?

Lösung

Statt power.write("volt k"), zu verwenden:

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

Wenn Sie die Ausgabe Präzision steuern möchten, können Sie das folgende verwenden:

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

Das heißt, wenn k 4.85866 wird dann %0.2f mit Mitteln volt 4.86 an das Gerät gesendet wird. Bei der Verwendung von %0.4f dann volt 4.8587 an das Gerät gesendet. Beachten Sie die Rundung!

Andere Tipps

Statt power.write("volt k"), zu verwenden:

power.write("volt %0.2f" % k)
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top