使用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)

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java从提供的列表中获取非重复值   java为什么Thymeleaf从HashMap返回字符串?   java将矩阵推到窗口的中心   java如何包含webapp_配置。txt到播放的dist-zip?   java实现产品密钥   WebSphereJava。lang.UnsupportedClassVersionError:JVMCFRE003错误的主要版本;class=org/slf4j/impl/StaticLoggerBinder,偏移量=6   使用java创建动态树结构   java为什么JVM在一次繁忙的旋转暂停后,会对同一代码块显示更多的延迟?   java无法使用distrolessdebug访问jarfile docker   java JMeter如何将多行响应数据传递给ForEach控制器请求   java空指针异常碎片活动   java改变JFileChooser的外观   性能Java位集:高效地查找所有真实位?   java可扩展的recyclerview实现