0

我正在尝试使用 Keithley 和 PyVISA 进行 IV 曲线测量。我在Keithley 网站上找到了一个 Matlab示例,但有一个部分我无法理解。

% Used the serail poll function to wait for SRQ
val = [1];          % 1st instrument in the gpib object, not the gpib add
spoll(obj1,val);    % keep control until SRQ
fprintf(obj1,':TRAC:DATA?')

这个串行轮询功能究竟是做什么的?spoll我在 PyVISA 中没有这个功能,是吗?

4

1 回答 1

1

串行轮询通常在更高级别的驱动程序中实现。只是用 SCPI *STB 重复查询?或等效的总线命令。

PyVISAread_stb(vi)调用 VISA 的viReadSTB(vi). 有了它,您可以进行自己的投票。

编辑:

read_stb来自 PyVISA 的低级模块。要使用低级调用,您需要传递从仪器对象获得的vi字段。

这里有一个很好的示例,但请务必为您的仪器及其状态模型使用适当的 SCPI 命令。

状态轮询取决于在测量开始之前设置的状态和事件寄存器。您可以设置仪器以指示样品可用或测量已完成。

如果总线是 GPIB (IEEE 488.2),那么 PyVISA 的 wait_for_srq 函数将起作用,因为在 GPIB 上,SRQ 是总线信号之一。示例中也显示了该代码。

于 2013-04-19T00:47:21.410 回答