Python, sending command to GPIB instrument

1.4k views Asked by At

I need to send a command to a GPIB instrument and I can do it like this: power.write("volt 0.01").
This command sets the output of my power source to 0.01V, however, I'm trying to take an I-V curve and want to set the source to different values and take a measurement at each value. I basically need some sort of loop to do this for me. I tried the following:

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

This doesn't work because k gets send as 'k', not as a number. How do I fix this?

2

There are 2 answers

0
lemonad On BEST ANSWER

Instead of power.write("volt k"), use:

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

If you want to control the output precision, you can use the following:

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

That is, if k is 4.85866 then using %0.2f means volt 4.86 is sent to the device. If using %0.4f then volt 4.8587 is sent to the device. Note the rounding!

0
S.Lott On

Instead of power.write("volt k"), use:

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