#pyvisa #gpib
Вопрос:
Я пытаюсь подключить новый VNA с открытым исходным кодом, или векторный сетевой анализатор (LibreVNA), через USB, чтобы иметь возможность автоматизировать некоторые показания. Я столкнулся с проблемой при попытке подключиться к устройству через PyVISA. Я не могу получить доступ к командам SCPI, так как PyVISA приводит к ошибке ниже и двум устройствам «ASRL/dev/ttyS0::INSTR», которые не являются VNA с открытым исходным кодом.
Когда я запускаю python3-m информация о визе:
/usr/local/lib/python3.8/dist-packages/visa.py:13: FutureWarning: The visa module provided by PyVISA is being deprecated. You can replace `import visa` by `import pyvisa as visa` to achieve the same effect.
The reason for the deprecation is the possible conflict with the visa package provided by the https://github.com/visa-sdk/visa-python which can result in hard to debug situations.
warnings.warn(
/usr/local/lib/python3.8/dist-packages/gpib_ctypes/gpib/gpib.py:54: UserWarning: GPIB library not found. Please manually load it using _load_lib(filename). All GPIB functions will raise OSError until the library is manually loaded.
warnings.warn(message)
Machine Details:
Platform ID: Linux-5.11.0-25-generic-x86_64-with-glibc2.29
Processor: x86_64
Python:
Implementation: CPython
Executable: /usr/bin/python3
Version: 3.8.10
Compiler: GCC 9.4.0
Bits: 64bit
Build: Jun 2 2021 10:49:15 (#default)
Unicode: UCS4
PyVISA Version: 1.11.3
Backends:
ivi:
Version: 1.11.3 (bundled with PyVISA)
Binary library: Not found
py:
Version: 0.5.2
ASRL INSTR: Available via PySerial (3.5)
USB INSTR: Available via PyUSB (1.2.1). Backend: libusb1
USB RAW: Available via PyUSB (1.2.1). Backend: libusb1
TCPIP INSTR: Available
TCPIP SOCKET: Available
Из моих предыдущих попыток я пытался добавить библиотеку типов GPIB-ctypes, и именно тогда была добавлена ошибка. Я получаю сообщение об ошибке о невозможности найти модуль с именем gpib без добавления библиотеки gpib-ctypes.
Ответ №1:
Если вы посмотрите на примеры SCPI для этого устройства, вы увидите, что связь с SCPI фактически осуществляется через TCP-порт (по умолчанию используется 19542). Кроме того, графический интерфейс должен быть запущен, и связь SCPI должна быть включена в графическом интерфейсе. Похоже, что в графическом интерфейсе используется небольшой сервер SCPI. Этот подход обычно используется с гораздо более дорогими анализаторами USB-сетей (например, Keysight и Textronix).
Согласно документам PyVISA, вы должны иметь возможность использовать этот синтаксис для строки устройства для подключения:
TCPIP::localhost::19542::SOCKET
или
TCPIP::127.0.0.1::19542::SOCKET
Я не знаю, сможет ли какая-либо из библиотек VISA обнаружить это устройство с помощью rm.list_resources()
.