USB-связь с Python (Newport Instrument)

В настоящее время я пытаюсь установить USB-связь с лазерным контроллером TLB 6700 (New Focus - Newport) с помощью python.

https://www.newport.com/f/velocity-wide-&-fine-tunable-lasers

Это мое первое задание на Python, и у меня возникло несколько проблем. Итак, по шагам:

1) Это устройство имеет свои собственные драйверы и программное обеспечение для управления им. Тем не менее, я хотел бы разработать свой собственный код для выполнения нескольких процедур автоматизации.

2) Драйверы Newport не совместимы с NI. Это означает, что я не могу использовать PyVisa для распознавания устройства, если я использую драйверы Newport.

3) Я думаю, что я не могу использовать PyUSB тоже, по той же причине. Даже я не совсем уверен в этом.

4) Решение, которое я нашел, состоит в том, чтобы использовать элемент управления NI-Interactive для установки вторичного драйвера NI для устройства. Следуя этой процедуре, я могу распознать устройство с помощью PyUSB.

5) Однако я не понимаю, как активировать устройство и отправлять команды. Я думаю, что правильная процедура что-то вроде:

5.1: позвонить в библиотеку. Ньюпорт предоставляет различные библиотеки и dllwrapers. Я предполагаю, что правильной процедурой является использование Ctypes для вызова основного устройства DLL. Это приведет к возможному вызову инструкции.

5.2: Распознать устройство, как я сделал, с драйвером NI и через PyUSB.

5.3: Откройте устройство и отправьте команду через код PyUSB.

Итак, вот мои вопросы:

  • PyVISA кажется гораздо проще в использовании, чем PyUSB. Кто-нибудь из вас знает процедуру, чтобы сделать то же самое, но с PyVISA?

  • Кто-нибудь из вас делал подобную процедуру с устройствами Newport или даже с тем же контроллером TLB 6700?

Заранее спасибо,

Ура,

0 ответов

Это может быть немного поздно, но на всякий случай я разработал код на python для управления TLB 67xx. Вы можете найти это в моем github.

В основном я вызываю библиотеку Python через (UsbDllWrap) (import clr) и использую ее для установки длины волны, запуска сканирования и т. Д. У меня есть несколько декораторов, которые вы можете отклонить (например,@ InOut.output). Возможно, вам придется скорректировать путь вашей DLL, если вы не используете Anaconda для Python. Это единственный достойный способ управления лазером NewFocus, так как через PyVisa управлять им будет невозможно. Очевидно, что это возможно только на Windows.

Я все еще работаю над кроссплатформенным решением, которое может подойти для Linux

Другие вопросы по тегам