问题标签 [gpib]
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 - 使用 visa 与 GPIB 接口总是给我 VisaIOError
我正在尝试visa
在 Python 中导入并与之交互GPIB
以控制设备。我使用的设备名称是"GPIB0::9::INSTR"
,我认为这应该没有问题。
我在 2.7.3 Python Shell 中运行了以下代码
以上是系统给我的错误。实际上一开始,我设置Timeout
为3,它显示了这个错误。但是我如上图将值改为20后,还是不行。
有人可以帮助我吗?
c# - 什么会导致 GPIB 无响应
我有一个 GPIB 设备,我正在使用 National Instruments USB 转 GPIB 进行通信。USB转GPIB很好用。
我想知道什么会导致 GPIB 设备无响应?如果我关闭设备并重新打开它会响应,但是当我运行我的程序时它会首先响应。然后它切断了我什至无法与它只是超时的 GPIB 设备通信。
我填满缓冲区了吗?
来自另一位提问者的一些细节
我正在使用 PyVisa 控制 National Instruments GPIB 卡(不是 USB)。GPIB 总线上的仪器是 Newport ESP300 运动控制器。在几个小时的会话期间(一直向 ESP300 发送命令和从 ESP300 读取),ESP300 有时会停止收听并变得无响应。所有读取都超时,甚至没有*idn?
产生响应。
我能做些什么来清除这种状态吗?例如,驾驶 IFC 生产线?
c# - C# Visual Studio GPIB 命令
您使用什么命令与 C#、Visual Studio 中的 GPIB 仪器对话?我需要能够向仪器写入命令并读取输出。
c++ - Flush queued GPIB responses
Architecture ->GBIP from external interface is connected to target ( linux) system via gpib bus. Inside Linux box , there is ethernet cable from GPIB to motherboard.
The PIC_GPIB card on external interface is IEEE 488.2
I am sending a query from external interface to linux box.
Few scenarios
1) If I send a query which does not expect a response back , then next query send will work.
2) If I send a query which expect response back , and when I have received the response and read it and then fire next query it works fine.
3) BUT if I send a query from external interface and got response back and I ignore to read the response , then Next query fails. I am requesting help for scenario 3.
The coding is done on linux side and its a socket programming , which uses linux inbuilt function from unistd.h for read and write.
My investigation : I have found there is a internal memory on gbib card on external interface which stores the value of previous response until we have the read. Generally I use IEEE string utility software to write commands that goes to linux box and read reposne via read button .
Could someone please direct me how to clean input buffer or memory which stores value so that write from external command contiunues without bothering to read it.
My code on linux side has been developed in C++ and socket programming. I have used in bulit write and read function to write and read to the gpib and to json server.
Sample code is shown below
visa - 使用 GPIB 进行安捷伦电源编程
查看电源文档中提供的示例。通过在 C# 中添加两个库 AgilentRMLib 和 VisComLib 来完成编程。当我尝试通过选择添加参考->安捷伦 VISA COM 资源管理器 1.0 添加 AgilentRMLib 时,参考中显示错误。
我尝试直接从 Program Files 添加 agtRM.dll。错误仍然存在。有没有人遇到过这个问题?有什么解决方案吗?您是否有任何其他方法可以使用 Agilent IO 从 PC 对电源进行编程。
python - 解析包含 ascii 代码的字符串以浮动
我正在使用pyvisa来控制信号恢复 sr7225 锁定放大器。几乎一切都按预期工作。只有一个问题,当查询的值正好是零并且一个在浮点模式下查询时返回以下
一个 ascii 值附加到响应字符串。我猜附加的 ascii 值\x00
是一个错误,但这意味着我不能float()
用来将字符串响应转换为浮点数。你会怎么处理这个?
python - Python VISA串行轮询函数
我的一种GPIB仪器有问题。这是一个相当古老的协议,它被称为 IEEE-488-1978。我一直在尝试获取该版本 IEEE-488 的参考手册,但没有成功。
问题在于,为了读取仪器的状态寄存器,它需要串行轮询功能(如其参考手册所述)。我不知道如何在 Python 中使用PyVISA这样做。
例如,我用来从设备读取的是_instrument.ask("RV")_
,其中的_RV_
意思是_Read Version_
。另外,为了写一个像温度这样的参数,我会写_instrument.write("ST20.00")_
,其中的_ST20.00_
意思是_Set Temperature to 20.00 Celcius_
。
我一直在尝试找到一个 ASCII 命令以使用_ask_
Python/VISA 命令发送到仪器并获得返回_Status Register Byte_
,但似乎没有什么可行的。
如果有人有关于如何使用 Python/VISA 传递串行轮询功能的建议,那可以解决我的问题。
c# - 使用 SCPI 通过 GPIB 和 RS-232/COM 进行通信
我目前正在寻找通过 C# 与SCPI兼容设备进行通信的不同可能性。我已经通过 COM 接口在 LabWindows/CVI(语言:C)中编写了我的第一个代码,并且正如我所说的那样“手动”完成了它:
像这样的东西。对我来说,问题是我不喜欢纯 C,而且缺乏 OOP 只是愚蠢的,因为我有想要交流的真实对象。亲爱的 National Instruments,为什么不使用 OOP 来控制对象呢?
现在有人给了我提示,我应该查看全局 SCPI 文档,因为信息比设备手册中的要多。而且我发现了一组与 .NET 兼容的命令。例如,
与 SCPI 设备建立面向对象的通信。因为我真的很喜欢 C#,所以我想在接下来的几周内尝试一下。
但我真的看不到连接设置,因为 resourceName 似乎只是之后释放所考虑设备的名称,而其他设置在连接已设置时使用。IIviDCPwr 的实例如何知道应该使用哪个连接(TCP/IP、COM 或 GPIB)?
我只看到了使用套接字的 TCP/IP 解决方案。但我认为这不适用于 COM 和 GPIB?
另一种解决方案是使用 National Instruments VISA 包。但是我不喜欢使用 NI 提供的专有包的想法(我认为使用 CVI 后我觉得新开发的对 NI 的排斥)。
你能提供代码片段或文档来处理这个问题吗?你有使用VISA的经验吗?我可以使用套接字进行 COM/GPIB 通信吗?
顺便说一句:如何在代码片段中创建新行?enter 和Shift+ Enter, \r, \n, \ 都不适合我...
python - 吉时利的 PyVISA IV 扫描
我正在尝试使用 Keithley 和 PyVISA 进行 IV 曲线测量。我在Keithley 网站上找到了一个 Matlab示例,但有一个部分我无法理解。
这个串行轮询功能究竟是做什么的?spoll
我在 PyVISA 中没有这个功能,是吗?
rmi - 控制远程计算机上的 GPIB 设备
我正在尝试在通过以太网电缆直接连接的远程计算机上连接通过 GPIB 连接的两个设备。我正在使用我找到的 JPIB 库,但我很难确定如何连接到远程计算机。
我的目标是通过连接到远程计算机来控制和读取设备。我也不确定我需要在远程服务器上安装什么程序或软件。
先感谢您,