0

ちょっとした質問があります。電圧値を設定するには、測定デバイスに引数を渡す必要があります。これを行うための私のコードは次のとおりです

from visa import *
import sys
inst = instrument("USB0::0x164E::0x0DAD::TW00004282")
inst.write("*rst; status:preset; *cls")
inst.write("CONF:VOLT:AC 1")

上記のコードは、面倒なく電圧計を AC 値 1 に設定します。ただし、値は 1 しか設定できません。次のコードを使用して、より汎用的にしようとしました。

from visa import *
import sys
inst = instrument("USB0::0x164E::0x0DAD::TW00004282")
inst.write("*rst; status:preset; *cls")
a = 1
inst.write("CONF:VOLT:AC a")

しかし、このコードはエラーを返しました。

私の元のコードは次のようになります

from visa import *
import sys
inst = instrument(sys.argv[1]) #Passing USB address from client side
inst.write("*rst; status:preset; *cls")
a = sys.argv[2]  #Passing value of 'a' from the client side
inst.write("CONF:VOLT:AC a")

最後にクライアント側から引数の値を渡しますが、これはこの質問の文脈から外れています。

値を割り当てaて書き込み関数に渡す別の一般的な方法はありますか?

4

1 に答える 1

2

文字列内の"a"はリテラルとして解釈されますa。以下を使用する必要があります。

inst.write("CONF:VOLT:AC %s" % sys.argv[2])

または、それをに変換して、int最初に確認することをお勧めします。

volt = int(sys.argv[2])

# Check if volt is in a suitable range...
inst.write("CONF:VOLT:AC %d" % volt)
于 2012-05-07T14:54:52.763 に答える