问题标签 [visa]
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 - 使用 PyVISA 时出错
我收到这个错误
回溯(最近一次通话最后):
文件“”,第 1 行,在
文件“C:\Anaconda3\lib\site-packages\pyvisa\highlevel.py”,第 1486 行,在新
obj.session, err = visa_library.open_default_resource_manager()
文件“C:\Anaconda3\lib\site-packages\pyvisa\ctwrapper\functions.py”,第 1212 行,在 open_default_resource_manager
ret = library.viOpenDefaultRM(byref(session))
_return_handler 中的文件“C:\Anaconda3\lib\site-packages\pyvisa\ctwrapper\highlevel.py”,第 180 行
引发错误。VisaIOError(ret_value)
pyvisa.errors.VisaIOError: VI_ERROR_LIBRARY_NFOUND (-1073807202):无法定位或加载 VISA 所需的代码库。
这里发布了一个类似的问题,根据那里的建议,我在命令提示符下尝试了以下操作:
python -c "from pyvisa import util; util.get_debug_info()"
&我得到了这个响应,
从上图中,很明显两种情况下的错误信息都是一样的,我还检查了 NI MAX 的 Visa 版本:Visa 4.3
我错过了什么,有人可以帮忙吗?
device - IronPython 中的库,例如 pyVisa?
它是像pyvisa这样允许从 Ironpython 连接到 rs232 设备的库吗?
c# - 如何等待服务请求 (RQS)
**注:交叉发布在 LabVIEW 论坛:http ://forums.ni.com/t5/LabVIEW/C-VISA-wait-on-RQS/td-p/3122939
我正在尝试编写一个简单的 C# (.NET 4.0) 程序来通过 VISA GPIB 控制 Keithley 2400 SMU,但我无法让程序等待 Keithley 在扫描结束时发送的服务请求.
扫描是简单的线性电压扫描,由 Keithley 设备内部控制。我已将设备设置为在扫描结束时或达到合规性时发送 ServiceRequest 信号。
我能够将命令发送到 SMU 并读取数据缓冲区,但前提是我在扫描开始命令和读取数据命令之间手动输入超时。
我遇到的一个问题是我对 C# 很陌生——我正在使用这个项目(移植我的 LV 代码的一部分)来学习它。
这是我到目前为止的 C# 代码:
以上所有内容都应该模仿这个LabVIEW代码:
那么,关于我要去哪里错的任何想法?
谢谢,
编辑:
经过一番折腾,我发现服务请求函数OnServiceRequest
实际上是在正确的时间触发的(“服务请求已收到!”打印到控制台)。
python - PyVISA 读取在传输完成前关闭
我正在用 python 编写代码以通过 pyvisa 与范围进行通信。有时会发生在通过以太网连接将数据从示波器传输到 PC 期间,并非所有数据都被传输。我打开与示波器的连接作为 SOCKET 连接,如手册中所示:
除数据传输外,一切都正常运行。我通过手册中报告的命令请求数据inst.write('channel1:data?')
,然后使用inst.read()
. 但是,如果我将数据头中指示的点数与我从该read()
方法获得的数据数组的长度进行比较,我会得到不同的结果,并不是所有的数据都被传输。我尝试为读取操作启用终止字符并且它们可以工作,但是当我读取数据时,我收到来自 VISA 的警告,说该字符串不以任何终止字符结尾。
停止阅读时有没有办法告诉烦恼?有没有办法强制阅读时间更长?
谢谢
python - 是否可以在 NI-VISA 上为 TCP/IP SOCKET 资源启用某种“数据可用事件”?
对于串行资源(串行 COM 端口),我启用 VI_EVENT_ASRL_CHAR 事件。(在此事件之后,我正在使用读取属性 VI_ATTR_ASRL_AVAIL_NUM 并从缓冲区读取所有数据来检查缓冲区中的可用数据)
对于 TCP/IP,我连接到 ie'TCPIP0::192.168.200.200::54321::SOCKET' 资源。那么我怎样才能得到 ant 事件,它会告诉我接收缓冲区中的可用数据呢?
我需要一个事件,因为我正在接收没有终止字符且数据大小可变的二进制数据。
我正在使用 PYTHON、ctypes 和 visa32.dll
python - 无法使用 PyVISA 查询仪器
我正在尝试使用 PyVISA 控制罗德与施瓦茨信号发生器
PyVISA 详细信息如下。
NI-VISA 版本为 5.4.1。这是我运行以下代码时得到的
有谁知道我做错了什么?
python - 在VISA协议下的操作之间等待一段时间是否正常?
我正在使用pyvisa对符合 SCPI 协议的电源进行编程,如下所示:
一切正常,但如果我没有在'write'和'query'之间等待,那么就会出现超时错误,就像这样:
raise errors.VisaIOError(ret_value) pyvisa.errors.VisaIOError: VI_ERROR_TMO (-1073807339): 操作完成前超时。
在 VISA 协议下对此类仪器进行编程时,操作之间存在延迟是否正常?如果没有,通常的方法是什么?或者有没有像Event这样的机制?如果是,我如何确定延迟时间?
python - 在类中包装 pyvisa 设备
我正在开发一个与功率分析仪和其他两个设备对话的 PyVISA 程序。我可以使用以下方法成功查询分析器:
我想这样包装:
我在一个单独的文件中实例化该类,并调用相同的查询 - 但无济于事。我经历了一些语法变化,但我不断收到错误:
有人知道我在做什么错吗?如何包装 PyVISA 设备?
python - 使用 PyVisa 时如何使“VI_WARN_CONFIG_NLOADED”警告静音?
我正在尝试使用 Python-Shell 模块在 NodeJS 中使用 PyVisa。我有 python 代码工作,与 HPIB 设备交谈。只是,我收到警告-
它只是一个警告。但是因为我想使用 stdin/stdout 将数据推送到 python 代码中,并从 python 代码接收数据,所以这个警告导致包装器停止,导致包装器回调错误。
至少我认为这是正在发生的事情。
有任何想法吗?
c++ - C++ 中的 NI-VISA 库编程 - 超出范围错误
我目前正在尝试对 Rigol DS1054 示波器进行编程以输出波形数据。为了创建这个程序,我使用 Code::Blocks 用 C++ 编写,但我已经在其他四个编译器(Netbeans、Eclipse Mars、Eclipse Juno、Visual Basic 2012)上进行了尝试,但每个编译器都不断导致错误。这是我到目前为止所做的:
- 通过构建和运行 Hello World 程序确认 C++ 不是问题
- 按照此路径链接头文件(C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Include)
- 使用此路径链接库(C:\Program Files (x86)\IVI Foundation\VISA\WinNT\lib\msc\visa32.lib)
- 为每个项目应用库
我也尝试过使用 64 位版本,但我得到了同样的错误。这是我当前的代码:
代码很简单,但是运行时返回这个错误:
这真的很奇怪,因为它显然在范围内。这已经给我带来了这么多天的麻烦 - 任何帮助将不胜感激。谢谢!