0

我正在尝试使用 PyVISA 控制罗德与施瓦茨信号发生器

PyVISA 详细信息如下。

C:\Python27\lib\site-packages\pyvisa\ctwrapper\functions.py:1222: 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-8-6.2.9200
   Processor:      Intel64 Family 6 Model 61 Stepping 4, GenuineIntel

Python:
   Implementation: CPython
   Executable:     C:\Python27\python.exe
   Version:        2.7.9
   Compiler:       MSC v.1500 32 bit (Intel)
   Bits:           32bit
   Build:          Dec 10 2014 12:24:55 (#default)
   Unicode:        UCS2

PyVISA Version: 1.7

Backends:
   ni:
      Version: 1.7 (bundled with PyVISA)
      #1: C:\Windows\system32\visa32.dll:
         found by: auto
         bitness: 32
         Vendor: National Instruments
         Impl. Version: 5243905
         Spec. Version: 5243136
      #2: C:\Windows\system32\visa32.dll:
         found by: auto
         bitness: 32
         Vendor: National Instruments
         Impl. Version: 5243905
         Spec. Version: 5243136

NI-VISA 版本为 5.4.1。这是我运行以下代码时得到的

>>> import visa
>>> rm = visa.ResourceManager()
C:\Python27\lib\site-packages\pyvisa\ctwrapper\functions.py:1222: 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))
>>> RAS = rm.open_resource('TCPIP::10.8.9.16::5025::SOCKET')
>>> RAS.ask("*idn?")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "C:\Python27\lib\site-packages\pyvisa\resources\messagebased.py", line 387, in query
    return self.read()
  File "C:\Python27\lib\site-packages\pyvisa\resources\messagebased.py", line 312, in read
    message = self.read_raw().decode(enco)
  File "C:\Python27\lib\site-packages\pyvisa\resources\messagebased.py", line 286, in read_raw
    chunk, status = self.visalib.read(self.session, size)
  File "C:\Python27\lib\site-packages\pyvisa\ctwrapper\functions.py", line 1582, in read
    ret = library.viRead(session, buffer, count, byref(return_count))
  File "C:\Python27\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.
>>>

有谁知道我做错了什么?

4

2 回答 2

1

我想到了。而不是做

RAS = rm.open_resource('TCPIP::10.8.9.16::5025::SOCKET')

我只需要做

RAS = rm.open_resource('TCPIP::10.8.9.16::inst0::INSTR')

或者

RAS = rm.open_resource('TCPIP::10.8.9.16::INSTR')

要么工作

于 2015-05-20T22:50:50.387 回答
0
    import visa
    import socket


    try:
      #open connection
      rm = visa.ResourceManager()
      c = (rm.list_resources())
      myinst = rm.open_resource('TCPIP::xxx.xxx.xxx.xxx::inst0::INSTR')


      #Close Connection
      myinst.close()
      print 'close instrument connection'

    except Exception as err:
       print 'Exception: ' + str(err.message)

    finally:
      #perform clean up operations
      print 'complete'
于 2015-10-25T23:04:43.023 回答