Python 皮维萨四世和基斯利一起扫荡

Python 皮维萨四世和基斯利一起扫荡,python,visa,gpib,Python,Visa,Gpib,我正试着用Keithley和PyVISA做静脉曲线测量。我发现了一个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?') 这个串

我正试着用Keithley和PyVISA做静脉曲线测量。我发现了一个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?')

这个串行轮询函数到底做什么?我在PyVISA中没有这个
spoll
功能,是吗?

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

PyVISA的
read_stb(vi)
调用VISA的
viReadSTB(vi)
。有了它,你可以进行自己的投票

编辑:

来自PyVISA的低级模块。要使用低级调用,需要传递从instrument对象获取的字段

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

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


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

pyvisa仪器具有
stb
属性。一般来说,我更喜欢它而不是低级函数。