logo资料库

在Python编程环境下控制R&S仪器.pdf

第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
资料共12页,剩余部分请下载后查看
在 Python 编程环境下控 制 R&S 仪器 技术方案 目录 产品: | R&S ZVA | R&S ZVB | R&S ZNB | R&S ZNC | R&S ZVL 方案说明:Python 是一种一种面向对象、的解释 型编程语言,开发便捷,适用于在自动化测试中编 写测试脚本。本文说明了如何在 Python 语言的开 发环境下控制 R&S 仪器,并给出示例和编程工具 建议。 案 方 术 技 飞 于 1 2 - 6 0 - 2 1 0 2 2012 年 6 月 21 日 罗德与施瓦茨 在 Python 编程环境下控制 R&S 仪器 2
目录 目录 1 2 Python 和 PyVisa 简介 ............................................................................................. 4 安装和配置 ................................................................................................................ 5 2.1 软硬件需求 ............................................................................................................................................. 5 2.2 Pythonxy 安装包 ................................................................................................................................... 5 2.3 PyVisa 配置 ........................................................................................................................................... 7 3 Pyvisa 库函数 ........................................................................................................... 8 3.1 仪器访问 ................................................................................................................................................ 8 3.2 仪器读写 ................................................................................................................................................ 8 3.3 触发、同步和服务请求 .......................................................................................................................... 9 4 例程 ......................................................................................................................... 10 4.1 ZNB 读取 Trace ................................................................................................................................... 10 5 其他工具 ................................................................................................................. 10 5.1 Scikit-rf ............................................................................................................................................... 10 2012 年 6 月 21 日 罗德与施瓦茨 在 Python 编程环境下控制 R&S 仪器 3
1 Python 和 PyVisa 简介 Summary Python 是一种简单易学,功能强大的编程语言,它有高效率的高层数据结构,简单 而有效地实现面向对象编程。Python 简洁的语法和对动态输入的支持,再加上解释 性语言的本质,使得它在大多数平台上的许多领域都是一个理想的脚本语言,特别 适用于快速的应用程序开发。 Python 语言当前有多个版本并行,由于 3.0 以上版本有巨大变更,各种代码库尚未 完全支持,因此建议使用 2.x 版本。 Python 有多种发行版本以及安装包,本文选择的是 Pythonxy,因为其包含诸多科学 计算库。 http://code.google.com/p/pythonxy/ 部分库列表如下: NumPy SymPy SciPy Matplotlib PyVisa Spyder PyQt 多维数组和矩阵 符号运算库 科学计算工具包 绘图库 仪器控制接口 开发环境 图形库 在 Python 环境下操作仪器需要对应的 VISA 接口库 PyVisa。Pyvisa 库以直接而便 捷的方式来控制测量仪器。PyVisa 并不提供 VISA 实现,具体的仪器操作功能是由 底层的 VISA 库完成的,关于 VISA 库,推荐安装 NI-VISA。 PyVisa: http://sourceforge.net/projects/pyvisa/ NI-VISA: http://www.ni.com/visa/ 2012 年 6 月 21 日 罗德与施瓦茨 在 Python 编程环境下控制 R&S 仪器 4
2 安装和配置 Summary 2.1 软硬件需求 安装有 WindowsXP 操作系统或 Linux 操作系统的 PC 主机。 带有和仪器连接的端口,如 GPIB,USB,LAN 等。 安装一个 VISA 实现,如 NI-VISA。 在 NI-VISA 的仪器管理器中添加仪器并确认可以连接。 2.2 Pythonxy 安装包 安装方法: 在 Windows 环境下,下载其安装包的 EXE 文件直接双击安装即可。注意安装 时需要手动选择 Pyvisa 项。 安装完成后,双击桌面快捷方式 Python(x,y),在弹出的面板中选择“Spyder”的网 状图标即可启动 Spyder 开发环境,也可以切换至 iPython 或 Eclipse 等。 2012 年 6 月 21 日 罗德与施瓦茨 在 Python 编程环境下控制 R&S 仪器 5
2012 年 6 月 21 日 罗德与施瓦茨 在 Python 编程环境下控制 R&S 仪器 Summary 6
2.3 PyVisa 配置 Pythonxy 已包含了 PyVisa,但并未默认安装。在安装 Pythonxy 时手动勾选即可: Summary 安装后在命令栏中输入 >>> import visa 不报错即为正常载入,可以用 >>> visa 来查看安装信息,如: 如果是单独下载安装,需要确定以下文件的存在: Windows C:\windows\system32\visa32.dll Linux /usr/local/vxipnp/linux/bin/libvisa.so.7 如果文件不在指定位置,则需要在以下位置创建名为“.pyvisarc”的文件以提供 visa 文件 位置: C:\Documents and Settings\username\.pyvisarc 2012 年 6 月 21 日 罗德与施瓦茨 在 Python 编程环境下控制 R&S 仪器 7
或 Summary c:\Python2x\share\pyvisa\.pyvisarc 其中“username”为 windows 系统的用户名,Python2x 随版本号变换 文件内容: Windows: [Paths] VISA library: C:\windows\system32\visa32.dll Linux: [Paths] VISA library: /usr/lib/libvisa.so.7 上述内容应指向 visa 文件的路径。 3 Pyvisa 库函数 3.1 仪器访问 首先需要在代码中加载 VISA 库,使用 from visa import * 然后可以使用地址初始化仪器, visa.instrument(resource_name[, **keyw]) 例如: my_instrument = instrument("TCPIP0::192.168.0.23::INSTR") 3.2 仪器读写 Instrument.write(message) 将指定消息写入仪器 例如: my_instrument.write("*IDN?") 或 my_instrument.write("trigger:delay %f" % (interval_in_ms / 1000.0)) 2012 年 6 月 21 日 罗德与施瓦茨 在 Python 编程环境下控制 R&S 仪器 8
Summary Instrument.read() 从仪器读出字符串,返回该字符串 Instrument.read_values([format]) 以指定格式读取字符串 Instrument.ask(message) 发送指定消息至仪器并返回响应,例如: my_instrument.ask("*IDN?") 其返回值即为仪器信息 Instrument.ask_for_values(message[, format]) 发送指定消息至仪器并以指定格式返回响应。 3.3 触发、同步和服务请求 pyVisa 有一些函数实现上述请求,例如: Instrument.clear() 重置仪器。 Instrument.timeout 指定每次 I/O 操作的超时值。 Instrument.delay 指定每次写操作后停止的秒数。 Instrument.trigger() 对仪器发出一个触发信号。 同步,pyVisa 同样使用 SCPI 指令的同步命令*WAI 和*OPC?,例如 Instrument.ask(“*OPC?”) 后续语句将在仪器执行完当前所有操作后再行工作。 2012 年 6 月 21 日 罗德与施瓦茨 在 Python 编程环境下控制 R&S 仪器 9
分享到:
收藏