我试图用Keithley和PyVISA进行IV曲线测量。我在example上找到了一个Matlab Keithley website,但是有一部分是我无法理解的。
% 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?')
这个串行轮询功能究竟做了什么?我在PyVISA中没有这个spoll
功能,是吗?
答案 0 :(得分:1)
串行轮询通常在更高级别的驱动程序中实现。只是重复查询SCPI * STB?或等效的总线命令。
PyVISA的read_stb(vi)
调用VISA的viReadSTB(vi)
。有了它,你可以自己进行民意调查。
编辑:
read_stb来自PyVISA的低级模块。要使用低级别调用,您需要传递从仪器对象获得的vi字段。
有一个很好的例子here,但请确保为您的仪器及其状态模型使用适当的SCPI命令。
状态轮询取决于在测量开始之前设置的状态和事件寄存器。您可以设置仪器以指示样品可用或测量完成。
如果总线是GPIB(IEEE 488.2),则PyVISA的wait_for_srq功能将起作用,因为在GPIB上,SRQ是总线信号之一。该代码也显示在示例中。