Почему на моем Keysight PS не установлено напряжение? Команды, отправленные через SCPI в python - PullRequest
0 голосов
/ 20 апреля 2020

Я пытаюсь установить и измерить напряжение источника питания Keysight N6701A с помощью команд python и SCPI. В консоли видно, что команды успешно отправлены, но также сообщается, что напряжение по-прежнему равно 0.

Код:

import pyvisa
import visa
import time

rm = visa.ResourceManager()
print(rm.list_resources())
my_instrument = rm.open_resource('USB0::0x0957::0x0C07::MY54005240::INSTR')
#input()
print(my_instrument.query('*IDN?'))
time.sleep(1)
print(my_instrument.write("VOLT:LEV 4, (@1)"))
time.sleep(1)
print(my_instrument.write("VOLT:LEV 4, (@2)"))
time.sleep(1)
for i in range (0, 5):
    print("Channel 1: " + str(my_instrument.query_ascii_values("MEAS:VOLT? (@1)")))
    print("Channel 2: " + str(my_instrument.query_ascii_values("MEAS:VOLT? (@2)")))

Журналы консоли:

PS C:\Users\pfra\Desktop\01_Dev\Keysight_UI_Python> & python c:/Users/pfra/Desktop/01_Dev/Keysight_UI_Python/CalibrationScript.py
('USB0::0x0957::0x0C07::MY54005240::INSTR', 'TCPIP0::A-N6950A-00114.local::inst0::INSTR', 'TCPIP0::A-N6950A-00115.local::inst0::INSTR', 'TCPIP0::A-N6950A-00116.local::inst0::INSTR', 'TCPIP0::A-N6950A-00117.local::inst0::INSTR', 'TCPIP0::smbv100a257607::hislip0::INSTR', 'TCPIP0::smbv100a257607::inst0::INSTR', 'TCPIP0::smbv100a260402::hislip0::INSTR', 'TCPIP0::smbv100a260402::inst0::INSTR', 'ASRL1::INSTR', 'ASRL3::INSTR')
Agilent Technologies,N6701A,MY54005240,D.04.08

(18, <StatusCode.success: 0>)
(18, <StatusCode.success: 0>)
Channel 1: [-0.001918833]
Channel 2: [-0.0004460463]
Channel 1: [-0.001917686]
Channel 2: [-0.000448439]
Channel 1: [-0.001880813]
Channel 2: [-0.0004386235]
Channel 1: [-0.001835363]
Channel 2: [-0.0004804141]
Channel 1: [-0.001857561]
Channel 2: [-0.0004568406]

Я проверил форум и обратился к справочному руководству для программистов, но, по моему мнению, оно должно работать так, как я его пробую. У кого-то есть идея, что может быть не так? Большое спасибо и всего наилучшего!

1 Ответ

0 голосов
/ 20 апреля 2020

Я понял это ... Я не включил вывод -.-

Команда должна выглядеть так:

print(my_instrument.write("OUTPut ON, (@1);VOLT:LEV 4,(@1)"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...