У меня есть задача использовать источник питания TDK-LAMBDA Z + в моем проекте мастера для подачи постоянного тока и сохранения показаний напряжения в файле.Тем не менее, в настоящее время я не могу связаться с источником питания.В настоящее время я пытаюсь подключиться к источнику питания с помощью PyVISA с установленными внутренними драйверами NI-VISA.
При попытке запроса источника питания истекает время ожидания операции до ее завершения, ниже приведен мойкод и некоторая дополнительная информация.В настоящее время я использую Python 3 64 бит и пытаюсь установить связь с блоком питания через USB-соединение.
import visa
rm = visa.ResourceManager('@ni')
print(rm.list_resources()) # Correctly detects the psu ('ASRL3::INSTR',)
inst = rm.open_resource('ASRL3::INSTR', baud_rate=19200)
inst.write_termination = '\r'
inst.read_termination = '\r'
print(inst.query("*IDN?"))
Это дает мне следующую ошибку:
Warning (from warnings module):
File "C:\Users\user\AppData\Local\Programs\Python\Python37\lib\site-packages\pyvisa\ctwrapper\functions.py", line 1227
ret = library.viOpenDefaultRM(byref(session))
VisaIOWarning: VI_WARN_CONFIG_NLOADED (1073676407): The specified configuration either does not exist or could not be loaded. VISA-specified defaults will be used.
Traceback (most recent call last):
File "C:\Users\User\Desktop\Drivers\code.py", line 13, in <module>
print(inst.query("*IDN?"))
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pyvisa\resources\messagebased.py", line 564, in query
return self.read()
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pyvisa\resources\messagebased.py", line 413, in read
message = self._read_raw().decode(enco)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pyvisa\resources\messagebased.py", line 386, in _read_raw
chunk, status = self.visalib.read(self.session, size)
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pyvisa\ctwrapper\functions.py", line 1584, in read
ret = library.viRead(session, buffer, count, byref(return_count))
File "C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pyvisa\ctwrapper\highlevel.py", line 188, in _return_handler
raise errors.VisaIOError(ret_value)
pyvisa.errors.VisaIOError: VI_ERROR_TMO (-1073807339): Timeout expired before operation completed.
Запуск >>> Информация о визе python -m приводит к следующему
C:\Users\User\AppData\Local\Programs\Python\Python37\lib\site-packages\pyvisa\ctwrapper\functions.py:1227: VisaIOWarning: VI_WARN_CONFIG_NLOADED (1073676407): The specified configuration either does not exist or could not be loaded. VISA-specified defaults will be used.
ret = library.viOpenDefaultRM(byref(session))
Machine Details:
Platform ID: Windows-10-10.0.16299-SP0
Processor: Intel64 Family 6 Model 142 Stepping 9, GenuineIntel
Python:
Implementation: CPython
Executable: C:\Users\User\AppData\Local\Programs\Python\Python37\python.exe
Version: 3.7.0b4
Compiler: MSC v.1913 64 bit (AMD64)
Bits: 64bit
Build: May 2 2018 19:02:22 (#v3.7.0b4:eb96c37699)
Unicode: UCS4
PyVISA Version: 1.10.0.dev0
Backends:
ni:
Version: 1.10.0.dev0 (bundled with PyVISA)
#1: C:\WINDOWS\system32\visa64.dll:
found by: auto
bitness: 64
Vendor: National Instruments
Impl. Version: 5243905
Spec. Version: 5243136
#2: C:\WINDOWS\system32\visa32.dll:
found by: auto
bitness: 64
Vendor: National Instruments
Impl. Version: 5243905
Spec. Version: 5243136
Я использую как 64-битную Python, так и 64-битную VISA.
print(rm)
Resource Manager of Visa Library at C:\WINDOWS\system32\visa64.dll
import sys
print(sys.version)
3.7.0b4 (v3.7.0b4:eb96c37699, May 2 2018, 19:02:22) [MSC v.1913 64 bit (AMD64)]
Любая помощь в этом отношении будет принята с благодарностью.Я боролся с этим уже несколько дней и не смог заставить его работать.
Редактировать:
Вынудил скрипт использовать 64-битную версиюVISA, до сих пор не работает.
rm = visa.ResourceManager('C:\\WINDOWS\\system32\\visa64.dll')