问题标签 [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.

0 投票
0 回答
145 浏览

python-3.x - 运行 Python 代码 (PyVisa) 时 Windows 10 崩溃

我正在尝试使用 Python 3.6 和 PyVisa 库(版本 1.11.1)从 SR245 Boxcar 自动收集数据。9/10 次,效果很好。但是,在两天的时间里,它曾三次导致整个计算机崩溃并重新启动(在 Windows 10 上运行)。这导致了大量数据丢失,我试图找出导致整个系统崩溃的错误。代码在下面(它是一个更大程序的一部分,但我自己也运行了这段代码,它导致了崩溃)。未显示 data_processing 文件,但其中的函数进行了简单的计算(例如,将列表中的值除以另一个列表中的值,从整数列表中返回平均值等)

0 投票
1 回答
73 浏览

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。

最小工作示例:

0 投票
1 回答
70 浏览

python - 如何通过pyvisa自定义PXI背板设置?

我想通过pyvisa修改National Instruments PXI 系统的设置。特别是,我想以编程方式将触发器从总线 1 路由到背板上的总线 2。

National Instruments有一个文档通过 Labview VI 解释了该过程:

labview 定制 pxi 背板触发总线

这基本上告诉我

  1. 打开到背板的 VISA 会话
  2. 设置 src 和 dest 触发总线属性
  3. 使用 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 背板中的源触发总线和目标触发总线?

0 投票
4 回答
170 浏览

python - 在调用 __del__ 之前卸载的 Python 包

我正在使用pyvisa通过 USB 与仪器进行通信。我能够正确控制它。由于它是高压源,并且打开高压时忘记它很危险,我想实现该__del__方法以在代码执行完成时关闭输出。所以基本上我写了这个:

问题是它不工作并且在我得到的终端中

我想正在发生的事情是 pyvisa 在__del__我的对象的方法被调用之前被“删除”。我怎样才能防止这种情况?我如何告诉 Python pyvisa 对于Instrument类的对象是“重要的”,所以在所有对象都被销毁之前它不会被卸载?

0 投票
1 回答
146 浏览

kivy - Kivy & pyvisa - 如何在 GPIB 连接后将 ObjectProperty 设为 None?

我正面临着 kivy 和 pyvisa 的真正阻塞问题,我真的不知道如何找到解决方案。

在下面的代码中,我有一个名为“device”的 ObjectProperty,它被初始化为 None。我想用它来启动 GPIB 连接。当这个关闭时,我想再次将设备属性设置为无。

下面的所有代码都是尝试找到解决此问题的简单示例,但我在实际应用程序中实际上面临着这个问题。此应用程序的功能之一是在列表中选择要使用的设备,我无法提前知道哪个设备可用或不可用,或者即使属性“设备”将在 GPIB 中连接或在另一个协议中。这就是为什么将它重置为无对我来说很重要的原因。

这是代码:

主文件

主文件.kv

所以,这是我的问题:当我从 GPIB 连接和断开设备时,一切都很顺利,但是当我尝试在断开连接后让“设备”返回 None 时,我遇到了这个错误:

所以,这就是为什么它对我来说很奇怪:如果我尝试做同样的事情,而不使用 kivy,在 python 命令行中,它可以工作!

所以,我真的不明白为什么它不起作用......有没有人知道如何解决这个问题?

注意:这是我在这里的第一篇文章,所以我希望一切都得到了清楚的解释,并且我没有犯错^^如果是这样,请告诉我!

0 投票
1 回答
93 浏览

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 内核?

0 投票
1 回答
599 浏览

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 visaimport 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 (我没有这样做)。

非常感谢任何帮助,干杯!

0 投票
1 回答
409 浏览

python-3.x - Mac 上的 PyVisa 和 Agilent 823578

我正在尝试让 PyVisa 在我的 Mac 上运行。我已经安装了它和NI 库,但是当我尝试在 VS 代码中从终端运行以下简单的 python 文件时:

通过运行“python3 temp.py”,我收到以下错误消息:

0 投票
0 回答
109 浏览

python - 使用 MSO4104 和 PyVisa 测量两个信号之间的延迟

我需要使用示波器自动测量两个信号之间的延迟。我正在使用泰克的 MSO4104。我对示波器进行了编程以进行延迟测量,但没有得到输出。

测量条件如下:

信号 1

高 90%、中、20% 低 10% 和 EDGE-Falling

信号 2 低 10%,中 20%,高 90 边沿提升

请在下面查看我的代码。执行此代码后输出不来。

你能告诉我哪里出错了吗?

0 投票
0 回答
154 浏览

python - 使用 python 进行仪器控制 - 失去连接

我是一名远程控制我的实验室的研究人员。我使用 python 连接到我所有的仪器,每个仪器都是一个类的实例,例如:

我的问题是,我经常失去与远程 PC 的连接,不小心重新运行代码或忘记关闭仪器,导致我的仪器实例丢失,这意味着我无法重新建立连接。

到目前为止,我的解决方案是在设备管理器中禁用-启用设备,尽管我经常需要重新启动计算机才能这样做^^。

有没有人有办法解决吗?更复杂的情况是,我的大学 IT 人员对可以安装什么软件极为严格,因此可能会排除 USBDEVIEW 等可能的路径。

一个更具体的例子:我连接到位于 ASRL2 的资源

我的终端死机,计算机重新启动或我覆盖了我的实例 inst:

现在我无法关闭原始连接或重新建立新连接。在 pyvisa 中,这将给出 VisaIOError: