问题标签 [pyvisa]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python-3.x - 运行 Python 代码 (PyVisa) 时 Windows 10 崩溃
我正在尝试使用 Python 3.6 和 PyVisa 库(版本 1.11.1)从 SR245 Boxcar 自动收集数据。9/10 次,效果很好。但是,在两天的时间里,它曾三次导致整个计算机崩溃并重新启动(在 Windows 10 上运行)。这导致了大量数据丢失,我试图找出导致整个系统崩溃的错误。代码在下面(它是一个更大程序的一部分,但我自己也运行了这段代码,它导致了崩溃)。未显示 data_processing 文件,但其中的函数进行了简单的计算(例如,将列表中的值除以另一个列表中的值,从整数列表中返回平均值等)
python - Pyvisa - Pyusb 无法加载大于 1 MB 的序列
我通过 USB 连接到 Agilent (33600) 波形发生器。如果我发送的波形小于 1MB(2^20 字节),它可以完美运行。如果它更大,它会挂起并在超时时失败。
使用:
- Python3.7、Pyusb 1.1、带有 Pyvisa-py 0.5.1 后端的 Pyvisa 1.11。尝试了 Linux Mint 和 Raspberry Pi 4。
最小工作示例:
python - 如何通过pyvisa自定义PXI背板设置?
我想通过pyvisa修改National Instruments PXI 系统的设置。特别是,我想以编程方式将触发器从总线 1 路由到背板上的总线 2。
National Instruments有一个文档通过 Labview VI 解释了该过程:
这基本上告诉我
- 打开到背板的 VISA 会话
- 设置 src 和 dest 触发总线属性
- 使用 map_trigger 函数
第 1 步)通过 pyvisa 工作正常,我可以通过 与背板打开通信backplane = rm.open_resource('PXI0::2::BACKPLANE')
,如资源名称中所述。
但是在打开背板的签证会话后,我在这里找不到任何描述的 src trig bus 和 dest trig bus 属性。只有一堆属性类如 AttrVI_ATTR_RM_SESSION,它们似乎不包含任何我感兴趣的值。但我想我在这里误解了一些东西。
步骤 3) 很简单,因为此功能直接在 pyvisa 中实现。
所以剩下的问题是:如何通过 pyvisa 修改 PXI 背板中的源触发总线和目标触发总线?
python - 在调用 __del__ 之前卸载的 Python 包
我正在使用pyvisa通过 USB 与仪器进行通信。我能够正确控制它。由于它是高压源,并且打开高压时忘记它很危险,我想实现该__del__
方法以在代码执行完成时关闭输出。所以基本上我写了这个:
问题是它不工作并且在我得到的终端中
我想正在发生的事情是 pyvisa 在__del__
我的对象的方法被调用之前被“删除”。我怎样才能防止这种情况?我如何告诉 Python pyvisa 对于Instrument
类的对象是“重要的”,所以在所有对象都被销毁之前它不会被卸载?
kivy - Kivy & pyvisa - 如何在 GPIB 连接后将 ObjectProperty 设为 None?
我正面临着 kivy 和 pyvisa 的真正阻塞问题,我真的不知道如何找到解决方案。
在下面的代码中,我有一个名为“device”的 ObjectProperty,它被初始化为 None。我想用它来启动 GPIB 连接。当这个关闭时,我想再次将设备属性设置为无。
下面的所有代码都是尝试找到解决此问题的简单示例,但我在实际应用程序中实际上面临着这个问题。此应用程序的功能之一是在列表中选择要使用的设备,我无法提前知道哪个设备可用或不可用,或者即使属性“设备”将在 GPIB 中连接或在另一个协议中。这就是为什么将它重置为无对我来说很重要的原因。
这是代码:
主文件
主文件.kv
所以,这是我的问题:当我从 GPIB 连接和断开设备时,一切都很顺利,但是当我尝试在断开连接后让“设备”返回 None 时,我遇到了这个错误:
所以,这就是为什么它对我来说很奇怪:如果我尝试做同样的事情,而不使用 kivy,在 python 命令行中,它可以工作!
所以,我真的不明白为什么它不起作用......有没有人知道如何解决这个问题?
注意:这是我在这里的第一篇文章,所以我希望一切都得到了清楚的解释,并且我没有犯错^^如果是这样,请告诉我!
ipython - 崩溃后继续收到 VisaIOErrors,除非重新启动设备和 ipython
我们正在使用 pyVisa 库控制 Keithley DMM6500。在我们的设置中,我们保持 iPython 内核运行(通过 Spyder)。
我们遇到的问题如下:每当与 DMM 交互的函数遇到未处理的异常(如 a KeyboardInterrupt
)时,对 DMM 的任何后续调用都会导致错误VI_ERROR_SYSTEM_ERROR (-1073807360): Unknown system error (miscellaneous error).
为了解决这个问题,我们尝试调用device.clear()
and device.close()
/ device.open()
,但这似乎不起作用。即使重新启动设备也不起作用。似乎唯一能解决这个问题的是完全重启我们的 iPython 内核。
有没有办法以编程方式恢复与设备的通信,这样我们就可以避免重启 ipython 内核?
python - pyvisa,未找到函数 viOpen
当我在 32 位 python 中运行时,
我收到此错误:
回溯(最后一次调用):文件“”,第 1 行,在文件“C:\Users\latshaw\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyvisa\highlevel.py”中,第 3015 行,在新的 visa_library = open_visa_library(visa_library) 文件“C:\Users\latshaw\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyvisa\highlevel.py”中,第 2929 行,在 open_visa_library返回 cls(参数)文件 "C:\Users\latshaw\AppData\Local\Programs\Python\Python38-32\lib\site-packages\pyvisa\highlevel.py",第 175 行,在新的 raise OSError("Could not打开 VISA 库:\n" + "\n".join(errs)) OSError: 无法打开 VISA 库:未找到函数 'viOpen'
到目前为止,这是我尝试过的:用 pip 重新安装
$ pip install -U pyvisa
以下是一些安装信息:
python -m 签证信息
C:\Users\latshaw\AppData\Local\Programs\Python\Python38-32\lib\site-packages\visa.py:13: FutureWarning: PyVISA 提供的签证模块正在被弃用。您可以替换import visa
为import pyvisa as visa
以达到相同的效果。弃用的原因是可能与https://github.com/visa-sdk/visa-python提供的签证包冲突,这可能导致难以调试的情况。警告.warn
机器详细信息:平台 ID:Windows-10-10.0.18362-SP0 处理器:Intel64 Family 6 Model 158 Stepping 13,GenuineIntel
Python:实现:CPython 可执行文件:C:\Users\latshaw\AppData\Local\Programs\Python\Python38-32\python.exe 版本:3.8.5 编译器:MSC v.1926 32 位(英特尔) 位:32 位构建: 2020 年 7 月 20 日 15:43:08 (#tags/v3.8.5:580fbb0) Unicode: UCS4
PyVISA 版本:1.11.3
后端:ivi:版本:1.11.3(与 PyVISA 捆绑)#1:C:\windows\system32\visa32.dll:发现者:自动位数:32 无法获取更多信息:未找到函数“viOpen”
我不确定这里出了什么问题。根据我的研究,人们犯错误的最大两种方式似乎是不匹配 32 版本的 pyvisa 和 64 位版本的 IDLE(我的都是 32 位),另一个是命名文件 visa.py (我没有这样做)。
非常感谢任何帮助,干杯!
python-3.x - Mac 上的 PyVisa 和 Agilent 823578
我正在尝试让 PyVisa 在我的 Mac 上运行。我已经安装了它和NI 库,但是当我尝试在 VS 代码中从终端运行以下简单的 python 文件时:
通过运行“python3 temp.py”,我收到以下错误消息:
python - 使用 MSO4104 和 PyVisa 测量两个信号之间的延迟
我需要使用示波器自动测量两个信号之间的延迟。我正在使用泰克的 MSO4104。我对示波器进行了编程以进行延迟测量,但没有得到输出。
测量条件如下:
信号 1
高 90%、中、20% 低 10% 和 EDGE-Falling
信号 2 低 10%,中 20%,高 90 边沿提升
请在下面查看我的代码。执行此代码后输出不来。
你能告诉我哪里出错了吗?
python - 使用 python 进行仪器控制 - 失去连接
我是一名远程控制我的实验室的研究人员。我使用 python 连接到我所有的仪器,每个仪器都是一个类的实例,例如:
我的问题是,我经常失去与远程 PC 的连接,不小心重新运行代码或忘记关闭仪器,导致我的仪器实例丢失,这意味着我无法重新建立连接。
到目前为止,我的解决方案是在设备管理器中禁用-启用设备,尽管我经常需要重新启动计算机才能这样做^^。
有没有人有办法解决吗?更复杂的情况是,我的大学 IT 人员对可以安装什么软件极为严格,因此可能会排除 USBDEVIEW 等可能的路径。
一个更具体的例子:我连接到位于 ASRL2 的资源
我的终端死机,计算机重新启动或我覆盖了我的实例 inst:
现在我无法关闭原始连接或重新建立新连接。在 pyvisa 中,这将给出 VisaIOError: