Не удается обнаружить последовательные порты в Pyvisa - PullRequest
0 голосов
/ 17 октября 2019

Это может быть проблема, специфичная для Windows. Согласно документации pyvisa , я должен иметь возможность воспроизводить что-то вроде (скопированное непосредственно из docs:)

>>> import visa
>>> rm = visa.ResourceManager()
>>> rm.list_resources()
('ASRL1::INSTR', 'ASRL2::INSTR', 'GPIB0::14::INSTR')

В приведенном выше примере 2 последовательных порта обнаруживаются как ASRL1 и ASRL2.

Однако на моем компьютере (Windows 7, Python 3.4.4, PyVisa 1.9.1) у меня нет последовательных портов:

>>> import visa
>>> rm = visa.ResourceManager()
>>> rm.list_resources()
('PXI10::0-0.0::INSTR', 'TCPIP0::localhost::hislip0::INSTR')
>>>

pyvisa правильно идентифицирует шасси PXI и HISPLIP TCPIPустройство. Но нет последовательных портов.

А вот вывод консоли от python -m visa info

Machine Details:
   Platform ID:    Windows-7-6.1.7601-SP1
   Processor:      Intel64 Family 6 Model 45 Stepping 7, GenuineIntel

Python:
   Implementation: CPython
   Executable:     C:\Python34\python.exe
   Version:        3.4.4
   Compiler:       MSC v.1600 32 bit (Intel)
   Bits:           32bit
   Build:          Dec 20 2015 19:28:18 (#v3.4.4:737efcadf5a6)
   Unicode:        UCS4

PyVISA Version: 1.9.1

Backends:
   ni:
      Version: 1.9.1 (bundled with PyVISA)
      #1: C:\Windows\system32\visa32.dll:
         found by: auto
         bitness: 32
         Vendor: Keysight Technologies
         Impl. Version: 1377151778
         Spec. Version: 5244928
   py:
      Version: 0.3.1
      ASRL INSTR: Available via PySerial (3.4)
      TCPIP SOCKET: Available
      USB INSTR:
         Please install PyUSB to use this resource type.
         No module named 'usb'
      GPIB INSTR:
         Please install linux-gpib to use this resource type.
         No module named 'gpib'
      TCPIP INSTR: Available
      USB RAW:
         Please install PyUSB to use this resource type.
         No module named 'usb'

Если я использую прямые команды pyserial, я могу найти последовательные порты:

>>> import serial.tools.list_ports
>>> ports = list(serial.tools.list_ports.comports())
>>> for p in ports:
...     print(p[1])
...
Arduino Mega 2560 (COM5)
Communications Port (COM1)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...