Я использую pyVISA для управления некоторыми инструментами в сети GPIB. Когда я создаю менеджер ресурсов, все инструменты в моей сети GPIB переходят в удаленный режим, поэтому дисплеи на передней панели заблокированы и не обновляются. Когда я закрываю менеджер ресурсов, инструменты остаются в удаленном режиме.

import visa

rm = visa.ResourceManager()

#Connect to a specific instrument
MyInstrument = rm.open_resource('GPIB0::10::INSTR')

#Do stuff
print(MyInstrument.query("*IDN?"))

#close resource manager
rm.close()

В этом конкретном случае я хочу управлять только одним прибором в сети, но мне нужно, чтобы другие были включены, с дисплеями на передней панели.

Есть ли способ исключить «лишние» инструменты из менеджера ресурсов программно (не нужно отсоединять кабели GPIB или вручную отключать связь GPIB, если я могу помочь) и / или что-то вроде «перейти на локальный "команду, которую я могу отправить либо всей сети, либо конкретному инструменту, чтобы передние панели были активны после того, как соответствующий инструмент был настроен по мере необходимости?

ОБНОВИТЬ:

После некоторых экспериментов и дальнейшего чтения я обнаружил, что следующее возвращает мой инструмент в локальный режим:

#Return single instrument to local with 
#GTL command (VI_GPIB_REN_ADDRESS_GTL = 6)
MyInstrument.control_ren(6)

#Return all instruments in network to local by 
#deasserting remote enable line (VI_GPIB_REN_DEASSERT = 0)
MyInstrument.control_ren(0)

Значения 0 и 6 являются константами, установленными в pyVISA (http: // pyvisa .readthedocs.io / о / стабильный / _modules / pyvisa / constants.html ) Кажется, я должен быть в состоянии указать здесь имя переменной вместо константы, так что, очевидно, есть еще кое-что, чего я не понимаю, но, по крайней мере, сейчас у меня есть рабочее решение.

4
Violet 24 Апр 2017 в 18:37

2 ответа

Лучший ответ

Доступен вызов для управления удаленным / локальным состоянием устройства.

GPIBInstrument.control_ren(mode)

Управляет состоянием линии интерфейса удаленного включения (REN) GPIB и, опционально, удаленным / локальным состоянием устройства.

Соответствует функции viGpibControlREN библиотеки VISA.

(источник )

3
Stephen Rauch 24 Апр 2017 в 15:58

Большинство инструментов имеют удаленные и локальные команды. Visa также имеет свою собственную команду set local, которая выглядит как viGpibControlREN( handle, VI_GPIB_REN_ADDRESS_GTL ) в c. Вы должны были бы прочитать руководства для оборудования, чтобы быть уверенным, но их индивидуальные визовые команды обычно что-то вроде "SYST: LOC"

2
Rabbit 24 Апр 2017 в 15:45
43592317