使用ivi-c或ivi-com、visa和串行协议用远程仪器控制数据采集。
pyivi的Python项目详细描述
它是什么
pyivi是一个薄包装层,可以识别所有ivi驱动程序 安装在Windows计算机上,可以将它们包装到接口远程 来自python模块或脚本的工具。因为ivi-com驱动程序不是 始终提供,也支持IVI-C。
pyivi的特殊性在于它是not重新实现ivi接口 使用较低级别的通信协议,而不是直接通信 安装了ivi驱动程序。这种方法的主要优点是 每种新乐器都需要编写的枯燥代码是 由仪器制造商完成(99%的仪器带有 ivi-c或ivi-com驱动程序)。缺点是pyivi不是跨平台的 需要在windows计算机上运行。
与频谱分析仪的分步通信:
一个好的例子胜过10000个单词,所以让我们尝试安装一个新的 安捷伦MXA N9020A频谱分析仪。如果你没有两万美元可以花 为了测试pyivi,没关系,ivi驱动程序附带了一个模拟 特色。我们会一步一步地走到可以和我们的 模拟频谱分析仪。
1/使用下面的windows安装程序安装pyivi。
2/从安捷伦的网站安装MXA N9020A的IVI驱动程序(您可以 必须为此创建帐户…;-/) http://www.home.agilent.com/agilent/software.jspx?ckey=2044474&lc=eng&cc=US&nid=-33932.536910861&id=2044474 如果这是您安装的第一个ivi驱动程序,将询问您 安装ivi共享组件。他们可以免费找到 无论是从国家仪器还是直接从IVI基金会网站: http://www.ivifoundation.org/shared_components/
3/打开您最喜欢的python解释器并查看ivi软件模块 安装在您的计算机上
import pyivi pyivi.software_modules
您应该会看到刚刚安装的软件模块agxsan。本模块 同时提供IVI-C和IVI-COM接口。每次一个新的 已安装IVI软件模块,它将出现在此列表中。
4/创建到虚拟N9020A仪器的连接:
comspecan = pyivi.ivi_instrument('dummy_address', model='N9020A', simulate=True)
如果你有一个真正的仪器连接在 “usb0::12345678::instr”,下面的代码就足够了:
comspecan = pyivi.ivi_instrument('USB0::12345678::INSTR')
模型将直接使用idn进行查询?命令。 默认情况下,仪器使用ivi-com接口,但我们可以 使用适当的关键字参数请求ivi-c接口:
cspecan = ivi_instrument('dummy_address', flavour='IVI-C', model='N9020A', simulate=True)
就这样!现在您可以浏览 乐器。
如果你试过两种驾驶风格,你会发现 不以相同的方式访问,例如,要将测量带宽设置为10 kHz,则会写入:
cspecan.resolution_bandwidth = 10000 # IVI-C interface comspecan.sweep_coupling.resolution_bandwidth = 10000 # IVI-COM interface
当然,这对我们来说不是很好,因为大多数情况下,我们会使用一个或其他版本 因为它是唯一可用的驱动程序接口。而且,有些函数很难定位 例如,具有与跟踪相关的功能。因此,对于ivi-c和ivi-com,快捷方式命令是相同的 已添加接口:
5/使用快捷命令(在IVI-C或IVI-COM驱动程序上):
cspecan.sc.trace_idx = 2 # all the manipulation will be performed on 'Trace2' cspecan.sc.fetch() # Fetches the simulated trace
支持的IVI接口:
- 在当前版本中,支持以下ivi api:
- iviscope(ivi-c,ivi-com)
- ivispecan(ivi-c,ivi-com)
- ivifgen(ivi-c)
控制安捷伦网络分析仪的软件模块agna也通过com api支持。
已在以下IVI软件模块上测试:
TKTDS1K2K, TKAFG3K, 阿格桑, AG34410, WW257X型, 液晶显示器, 再次确认, AGM933X型, 特克斯普, Agilentsanbasic公司, agn57xx, Tkdpo2k3k4k, AG532XX型, 阿格娜, agxsan,
依赖关系
- comtypes (for communication with the IVI-configuration store and IVI-COM drivers)
- ctypes (for communication with IVI-C drivers)