Files
templates/docs/tektronix-dpo4034.md

68 lines
4.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Tektronix DPO4034
Независимый от Qt драйвер: `python/set_devices/tektronix.py`.
Установка: `pip install "setcorp-templates[tektronix]"` из пакета templates.
Нужна системная библиотека NI-VISA или TekVISA соответствующей разрядности.
Для Python 3.8 / Win7 выбирайте совместимую версию PyVISA и VISA runtime.
## Подключение
- Ethernet: включить LAN на приборе, проверить IP и доступность из сети ПК.
Ресурс VISA `TCPIP0::192.168.1.100::inst0::INSTR` (VXI-11).
В SETGUI можно ввести только IP/hostname или полное имя TCPIP INSTR.
- GPIB: контроллер GPIB на ПК с установленным драйвером, кабель GPIB,
адаптер TEK-USB-488, USB device port осциллографа. У адаптера должно быть
питание. Адрес задаётся на приборе в Utility → I/O → GPIB.
Пример ресурса `GPIB0::1::INSTR`; адреса 0…30, номер контроллера отдельно.
## Реализованный обмен
Команды SCPI с LF. После открытия `*IDN?` проверяет производителя и точную
модель DPO4034; `HEADER OFF` отключает заголовки ответов.
Для снимка запрашивается `ACQUIRE:STATE?`, затем отправляется
`ACQUIRE:STATE STOP` и ожидается `*OPC?`. Это позволяет читать несколько
каналов одной остановленной записи. Для каждого CH1…CH4:
1. `SELECT:CHn?`: канал должен быть включён пользователем на приборе.
2. `DATA:SOURCE CHn`, `DATA:ENCDG RIBINARY`, `DATA:WIDTH 2`,
`DATA:START 1`, `DATA:STOP N`.
3. Чтение `WFMOUTPRE:PT_FMT?`: поддерживается Y; ENV отклоняется явно.
4. Чтение `WFMOUTPRE:XINCR?`, `XZERO?`, `PT_OFF?`, `YMULT?`, `YOFF?`,
`YZERO?`, `YUNIT?`, `NR_PT?` (каждое имя с префиксом `WFMOUTPRE:`).
5. `CURVE?`: IEEE 488.2 definite-length binary block, знаковые 16-битные
отсчёты, старший байт первым. Разбор блока выполняет PyVISA, в том числе
при разделении ответа между транспортными пакетами.
Для индекса i, начиная с нуля:
`t[i] = XZERO + (i - PT_OFF) * XINCR` (секунды),
`y[i] = YZERO + (raw[i] - YOFF) * YMULT` (единицы YUNIT).
Проверяются конечность коэффициентов, положительный шаг времени и число
полученных отсчётов. В `finally` восстанавливается RUN, если до снимка сбор
шёл; исходное состояние STOP сохраняется. При ошибке UI закрывает сеанс.
Тайм-аут операции VISA — 5 с. Драйвер не сбрасывает настройки прибора.
Снимок читает текущую запись, не ожидает нового аппаратного триггера.
DATA:STOP ограничивает начало записи, а не прореживает всю запись.
В UI предел 250 000 точек на канал (1 млн суммарно).
## Пример
```python
from set_devices.tektronix import DPO4034, resource_name
scope = DPO4034()
try:
print(scope.connect(resource_name("Ethernet", "192.168.1.100")))
waveforms = scope.capture(["CH1", "CH2"], points=10000)
finally:
scope.close()
```
Источник команд и аппаратного подключения:
[MSO4000 / DPO4000 Programmer Manual, 077024801](https://download.tek.com/manual/077024801web.pdf).
Проверка с реальным прибором требуется для обоих интерфейсов; офлайн-тесты
проверяют последовательность команд, масштабирование, ошибки и восстановление RUN.