Current Language
×
Chinese (Simplified, PRC)

选择语言:

切换菜单
Current Language
×
Chinese (Simplified, PRC)

选择语言:

联系我们

与泰克代表实时聊天。 工作时间:上午 9:00 - 下午 5:00(太平洋标准时间)。

电话

致电我们

工作时间:上午9:00-下午5:00(太平洋标准时间)

下载

下载手册、产品技术资料、软件等:

下载类型
型号或关键字

反馈

使用tm_devices简化Python测试自动化

Python tm_devices How-To Guide

许多行业的工程师都使用自动化来扩展其测试仪器的功 能,而大多是选择免费的编程语言——Python 来完成。 作为适用于自动化的主要编程语言,Python 具备许多显 著优势:

  • 多功能性
  • 易于教学
  • 代码可读性
  • 广泛可用的知识库和模块

自动化包含两种主要使用情形:

  • 模拟人类行为以自动化前面板并节省时间的例程,例 如自动化合规性测试。每次需要测试新零件时,工程师 不会呆坐在示波器前,添加相应的测量值并记下结果, 而是开发一个脚本来完成所有工作并显示最终结果。
  • 扩展仪器功能的用途,例如:测量记录、验证或质量保证。 自动化操作支持工程师执行复杂的测试,且能够规避 测试过程中的许多固有缺点。操作人员无需设置示波 器和手动记录结果,且每次都可以以相同的方式进行 测试。

本技术简介将涵盖使用 Python 进行编程所需的内容, 包括编程接口的基础知识以及下载和运行方法的示例。

编程接口的定义

编程接口(PI)是两个计算系统之间的一个或多个边界, 可以通过编程来执行特定行为。就本文而言,编程接口是 运行每台泰克测试设备的计算机和最终用户编写的应用 程序之间的桥梁。为了进一步缩小范围,编程接口在此处 定义为一组可以远程发送到仪器的命令,仪器会处理这 些命令并执行相应的任务。PI 堆栈(图 1)显示了从主机 控制器到仪器的信息流。最终用户编写的应用程序代码 用于定义目标仪器的行为。最终用户通常用业内流行的开 发平台编写代码,如 Python、MATLAB、LabVIEW、C++ 或 C#。这些应用程序将使用可编程仪器标准命令(SCPI) 格式——大多数测试和测量设备都支持的标准格式—— 发送数据。SCPI 命令通常通过虚拟仪器软件架构(VISA) 层发送,VISA 层可通过为增强通信协议的鲁棒性(例如 错误检查)促进数据传输。在某些情况下,应用程序可能 会调用驱动程序,然后驱动程序会向 VISA 层发送一个或 多个 SCPI 命令。

2001 SPECIFIED CALIBRATION INTERVALS
图 1. 编程接口 (PI) 堆栈显示了主机控制器和仪器之间的信息流。

tm_devices 驱动程序包的内容

泰克的 tm_devices 是泰克自行开发的设备管理包,支 持用户使用编程语言 Python 控制和自动化泰克和吉 时 利 产品 的 测 试 过 程。使 用 Python 的 软 件包管 理 系 统 pip 可快 速 安 装 tm_devices。Python 软 件包包含 大量命令和功能,可帮助用户轻松地对泰克和吉时利产 品进行自动化测试。其可在最流行的 Python IDE 中使 用,且支持代码补全辅助。此外,Python 软件包还可以 帮助任何水平软件技能的工程师简单轻松地进行编码和 测试自动化。

环境设置

本节将指导您完成使用 tm_ devices 进行开发工作的先决条件和安装。我们特意在 Python(venvs)中提供了支持 虚拟环境的指令,因为我们相信这样可以帮助您更轻松地管理和维护项目,特别是在使用 Python 软件包之前,您只 是简单地试用了一下的情况下。

安装与先决条件概述

  1. 安装 Python.
    1. Python ≥ 3.8
  2. PyCharm——PyCharm 安装、启动项目和 tm_devices 安装
  3. VSCode——VSCode 安装、启动项目和 tm_devices 安装

PyCharm 社区版(免费)

PyCharm 是一款各行各业软件开发人员广泛使用的 Python IDE。PyCharm 有一个集成的单元测试器,支持用户 按文件、类、方法的运行测试,或直接运行文件夹中的所有测试。与大多数现代 IDE 一样,PyCharm 拥有代码补全 形式,和基本的文本编辑器相比,可以大大加快开发速度。

接下来,我们将为您介绍 PyCharm 社区版(免费)的安装过程,然后在 IDE 中安装 tm_devices 并设置一个虚拟环 境进行开发。

1. 访问 https://www.jetbrains.com/pycharm/.

2. 跳过 PyCharm 专业版,下拉至 PyCharm 社区版,然后点击下载。

2001 SPECIFIED CALIBRATION INTERVALS

3. 请继续执行默认的安装步骤。无需进行任何特殊操作。

4. 欢迎使用 PyCharm !

2001 SPECIFIED CALIBRATION INTERVALS
在 PyCharm 中创建新项目并设置虚拟环境

5. 点击“新建项目”

6. 确认项目路径,确保选择“Virtualenv”。

2001 SPECIFIED CALIBRATION INTERVALS

7. 打开一个终端。如果您的视图底部没有带标签的按钮,请查看以下内容:

2001 SPECIFIED CALIBRATION INTERVALS

8. 在终端提示符出现之前进行检查(venv),确认虚拟环境已设置。

2001 SPECIFIED CALIBRATION INTERVALS

9. 从终端安装驱动程序。键入:pip install tm _ devices

2001 SPECIFIED CALIBRATION INTERVALS

10. 确保终端没有出错!开始使用吧!

Visual Studio Code

Visual Studio Code 是另一款各 行各业的软件开发人员都在使 用的免费 IDE。其适用于大多数语言,且具有针对 大多数语言的扩展包,因此用户能够在此 IDE 中快捷高效地进行编码。Visual Studio Code 可提供 IntelliSense。 IntelliSense 是非常实用的开发工具,有助于代码补全、参数信息以及其他有关对象和类的信息。tm_devices 支持 对描述对象和类的命令树快速进行代码补全。

我们可提供一份关于 Python 和 Visual Studio Code 安装的操作指南,其中包括关于虚拟环境设置的信息,详情请 点击此处

示例代码

在本节中,我们将逐步介绍一个简单的代码示例,并重点介绍一些有效使用 tm_ devices 的必要组件。

导入

2001 SPECIFIED CALIBRATION INTERVALS

这两行对于 tm_devices 的有效使用至关重要。在第一行中,我们导入 DeviceManager。这将处理多个设备类的样 板连接和断开。

在第二行中,我们导入一个特定的驱动程序(在本例中是 MSO4B)。

我们用 DeviceManager 设置一个上下文管理器:

2001 SPECIFIED CALIBRATION INTERVALS

然后,当我们同时使用设备管理器和驱动程序时:

2001 SPECIFIED CALIBRATION INTERVALS

我们可以用与其型式匹配的特定命令集来实例化仪器。输入您仪器的 ip 地址(其他 VISA 地址也可)即可。

补全以上四行代码后,我们就可以开始为 MSO4B 编写特定的自动化代码了!

代码片段

接下来我们来看看几个简单的操作:

将触发类型设置为边沿触发

2001 SPECIFIED CALIBRATION INTERVALS

以下是添加和查询 CH1 峰 - 峰值测量值的方法:

2001 SPECIFIED CALIBRATION INTERVALS

如果您想对 CH2 进行幅值测量:

2001 SPECIFIED CALIBRATION INTERVALS

使用 IntelliSense/ 代码补全

IntelliSense——微软的代码补全系统,也是我们在尽可能利用的 IDE 的一个强大功能。

SCPI 命令集是测试和测量设备自动化面临一大障碍。这是一种较为过时的结构,其语法在开发社区中并未得到广泛 支持。

我 们 使 用 tm_devices 所 做 的 是 为 每 个 SCPI 命 令 创 建 一 组 Python 命 令。我 们 可以 从 现 有 的 命 令 语 法 中 生 成 Python 代码,避免手动开发驱动程序,并创建现有 SCPI 用户熟悉的结构。tm_devices 还可映射在程序创建期间可 能需要特意调试的底层代码。Python 命令的结构模仿了 SCPI(或在某些吉时利案例中的 TSP)命令结构,因此如果 您熟悉 SCPI,您就知道这些结构。

以下是关于“IntelliSense 如何显示先前键入的命令”的所有可用命令示例。

在 Scope 上的圆点后出现的可滚动列表中,我们可以看到按字母顺序排列的 Scope 命令类别列表:

2001 SPECIFIED CALIBRATION INTERVALS

选择 afg,我们可以看到 afg 类别列表。

2001 SPECIFIED CALIBRATION INTERVALS

在 IntelliSense 的帮助下编写的最终命令:

2001 SPECIFIED CALIBRATION INTERVALS

文档字符串帮助

编写代码之时,或者查看其他人的代码时,您可以将鼠标悬停在语法的不同部分上,以获得该级别的特定帮助文档。 越接近完整的命令语法,其内容就越具体。

2001 SPECIFIED CALIBRATION INTERVALS

Depending on your IDE conditions you can display both IntelliSense and docstring help at the same time.

2001 SPECIFIED CALIBRATION INTERVALS 2001 SPECIFIED CALIBRATION INTERVALS

阅读本指南后,您可以了解泰克 Python 驱动程序包 tm_devices 的部分优势,接下来便可以开始您的自动化之旅了。通过简单的设置、代码补全和内置帮助,您无需离开 IDE 就能学习,进而可以加快开发速度,并以更高的信心进行编码。

如果您希望改进软件包,Github repo 中有编辑指南。在文档和 examples 文件夹的软件包内容中突出显示了大量 更高级的示例。

其他资源

tm_devices · PyPI——软件包驱动程序下载和信息

tm_devices Github——源代码、问题跟踪、编辑

在线文档

故障排除

通常情况下,故障排除的第一步是升级 pip:

在您的终端键入:Python.exe -m pip install -upgrade pip

错误:whl 看起来像文件名,但文件不存在或此平台不支持 whl。

2001 SPECIFIED CALIBRATION INTERVALS

解决方案:在 pip 中安装 wheel,使其能够识别文件格式。

在您的终端键入:pip install wheel

如果您需要离线安装 wheel,您可以遵循与附件 A 类似的说明,但其需要下载 tar.gz 格式文件而非 .whl 文件。

附件 A——tm_devices 的离线安装

11. 在可访问互联网的计算机上,从以下位置下载最新的 tm_devices 驱动程序包:

a. tm-devices · PyPI

12. 将 .whl 文件移动到项目文件夹。

13. 返回 PyCharm,确保 .whl 文件在项目文件夹中。

14. 打开一个终端。如果您的视图底部没有带标签的按钮,请查看以下内容:

15. 在您的终端键入:pip install .whl

其应该类似于:tm_devices-1.0.0-py3-none-any.whl

在 Visual Studio Code 执行本地安装

在本节中,我们将详细介绍如何在没有本地互联网连接的情况下安装 tm_devices 驱动程序包。

1. 在可访问互联网的计算机上,从以下位置下载最新的 tm_devices 驱动程序包:

a. tm-devices · PyPI

2. 将 .whl 文件移动至您正在使用的项目文件夹中。

3. 在 Visual Studio Code 中导航至终端(Ctrl+Shift+P-> 创建新终端)。本例使用的是虚拟环境, 因此如果不是虚拟环境,其看起来可能会有所不同。

4. 确保此文件位于您的工作目录中,并键入:

pip install .whl

其应该类似于:tm_devices-1.0.0-py3-none-any.whl

5. 如果 tm_devices 导入过程没有出错,则安装成功。

 

Find more valuable resources at TEK.COM


Copyright © Tektronix. All rights reserved. Tektronix products are covered by U.S. and foreign patents, issued and pending. Information in this publication supersedes that in all previously published material. Specification and price change privileges reserved. TEKTRONIX and TEK are registered trademarks of Tektronix, Inc. All other trade names referenced are the service marks, trademarks or registered trademarks of their respective companies.

052124 46W-74037-1