泰克徽标简化测试
自动化
tm_devices 和 Python
如何引导 泰克利用 tm_ 设备和 Python 简化测试自动化

使用 tm_ Devices 和 Python 简化测试自动化

如何引导
使用 tm_devices 和 Python 简化测试自动化
许多行业的工程师都使用自动化来扩展其测试仪器的功能。许多工程师选择免费的编程语言 Python 来实现这一点。它有许多显著的优势tag这使得 Python 成为一种出色的自动化编程语言:

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

自动化有两个主要用例:

  • 模仿人类行为的例程来自动化前面板并节省时间,例如自动合规性测试。
    工程师无需坐在示波器前,添加适当的测量值,并在每次需要测试新部件时写下结果,而是开发一个脚本来完成所有这些操作并显示结果。
  • 扩展仪器功能的用途;例如ample:测量记录、验证或质量保证。
    自动化使工程师能够执行复杂的测试,而不必担心这些测试固有的诸多缺点。操作员无需设置范围并手动记录结果,并且每次都可以以相同的方式执行测试。
    本指南将介绍使用 Python 进行编程所需的内容,包括编程接口的基础知识以及如何下载和运行 examp勒。

什么是编程接口?

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

什么是 tm_devices 包?

tm_devices 是泰克开发的一款设备管理软件包,包含大量命令和功能,可帮助用户使用 Python 编程语言轻松自动测试泰克和吉时利产品。它可用于最流行的 Python IDE,并支持代码完成辅助。此软件包让具有任何软件技能水平的工程师都可以轻松轻松完成编码和测试自动化。安装也很简单,使用 Python 的软件包管理系统 pip。

设置你的环境

本节将指导您完成先决条件和安装,以帮助您为使用 tm_devices 进行开发工作做好准备。它还包括支持 Python 中的虚拟环境 (venvs) 的说明,以使您的项目更易于管理和维护,特别是如果您只是在使用此软件包之前尝试使用它。
笔记: 如果您的环境无法直接访问互联网,则必须使用附录中的命令修改步骤。如果您遇到问题,请随时在 Github 讨论 寻求帮助。

安装和先决条件结束view

  1. 安装 Python
    a. Python ≥ 3.8
  2. PyCharm – PyCharm 安装、启动项目以及 tm_devices 安装
  3. VSCode – VSCode 安装、启动项目和 tm_devices 安装

PyCharm 社区(免费)版
PyCharm 是一款流行的 Python IDE,深受各行各业软件开发人员的喜爱。PyCharm 有一个集成的单元测试器,允许用户通过以下方式运行测试: file、类、方法或文件夹中的所有测试。与大多数现代 IDE 一样,它具有一种代码完成形式,与基本文本编辑器相比,可以大大加快您的开发速度。
我们将指导如何安装 PyCharm 社区版(免费),然后在 IDE 中安装 tm_devices 并设置虚拟环境进行开发。

  1. 转至 https://www.jetbrains.com/pycharm/
  2. 滚动浏览 PyCharm Professional 到 PyCharm Community Edition,单击下载泰克利用 tm_ 设备和 Python 简化测试自动化 - PyCharm 社区
  3. 您应该能够按照默认安装步骤继续操作。我们不需要任何特殊操作。
  4. 欢迎使用 PyCharm!泰克利用 tm_ 设备和 Python 简化测试自动化 - PyCharm 社区 1
  5. 现在您需要创建一个新项目并确保设置虚拟环境。单击“新项目”
  6. 确认项目路径,确保选择了“Virtualenv”泰克利用 tm_ 设备和 Python 简化测试自动化 - PyCharm 社区 2
  7. 打开终端。如果您的 view 不包括底部的标记按钮,请查找以下内容:泰克利用 tm_ 设备和 Python 简化测试自动化 - PyCharm 社区 3
  8. 通过在终端提示符前检查(venv)来确认虚拟环境是否已设置泰克利用 tm_ 设备和 Python 简化测试自动化 - PyCharm 社区 4
  9. 从终端安装驱动程序
    类型:pip install tm_devices泰克利用 tm_ 设备和 Python 简化测试自动化 - PyCharm 社区 5
  10. 您的终端应该没有错误!祝您黑客愉快!

Visual Studio 代码
Visual Studio Code 是另一款流行的免费 IDE,各行各业的软件开发人员都在使用它。它适用于大多数语言,并且为大多数语言提供了扩展,使在此 IDE 中编码非常方便和高效。Visual Studio Code 提供了 IntelliSense,这是开发时非常有用的工具,因为它有助于代码完成、参数信息以及有关对象和类的其他信息。方便的是,tm_devices 支持描述对象和类的命令树的代码完成。
我们有一个关于 Python 和 Visual Studio Code 安装的出色指南,其中包括有关虚拟环境设置的信息 这里.

Examp密码

在本节中,我们将逐步完成一个简单的代码片段,例如ample 并强调有效使用 tm_ 设备的一些必要组件。
导入泰克利用 tm_ 设备和 Python 简化测试自动化 - 导入这两行对于有效使用 tm_devices 至关重要。在第一行中,我们导入了 DeviceManager。这将处理多个设备类的样板连接和断开连接。
在第二行中,我们导入一个特定的驱动程序,在本例中是 MSO5B。
我们使用 DeviceManager 设置一个上下文管理器:泰克利用 tm_ 设备和 Python 简化测试自动化 - 导入 1然后,当我们一起使用设备管理器和驱动程序时:泰克利用 tm_ 设备和 Python 简化测试自动化 - 导入 2

我们可以使用与其型号匹配的特定命令集来实例化仪器。只需输入您的仪器的 IP 地址(其他 VISA 地址也可以)。
完成这四行后,我们就可以开始为 MSO5B 编写有意义且具体的自动化代码了!
代码片段
让我们来看看几个简单的动作——
将触发类型设置为“边缘”泰克利用 tm_ 设备和 Python 简化测试自动化 - 导入 3如下是在 CH1 上添加和查询峰峰值测量的方法:泰克利用 tm_ 设备和 Python 简化测试自动化 - 导入 4如果你想 ampCH2 上的光度测量:泰克利用 tm_ 设备和 Python 简化测试自动化 - 导入 5

使用 IntelliSense/代码完成

IntelliSense – 微软的代码完成功能,是 IDE 的一个非常强大的功能,我们尽力去利用它。
测试和测量设备自动化的核心障碍之一是 SCPI 命令集。它是一种过时的结构,其语法并未得到开发社区的广泛支持。
我们对 tm_devices 所做的就是为每个 SCPI 命令创建一组 Python 命令。这使我们能够从现有命令语法生成 Python 代码,从而避免手动开发驱动程序,并创建现有 SCPI 用户熟悉的结构。它还映射到可能需要在程序创建期间进行有意调试的较低级别代码。Python 命令的结构模仿 SCPI(或在某些 Keithley 情况下为 TSP)命令结构,因此如果您熟悉 SCPI,那么您就会熟悉这些命令。
这是前任ampIntelliSense 如何显示先前键入​​的命令可用的所有命令:
在范围上的点后面出现的可滚动列表中,我们可以看到按字母顺序排列的范围命令类别列表:泰克利用 tm_ 设备和 Python 简化测试自动化 - 代码完成选择 afg 我们可以看到 AFG 类别列表:泰克利用 tm_ 设备和 Python 简化测试自动化 - 代码完成 1在 IntelliSense 的帮助下编写的最终命令:泰克利用 tm_ 设备和 Python 简化测试自动化 - Fig

文档字符串帮助

在您编写代码或阅读他人代码时,您可以将鼠标悬停在语法的不同部分上以获取该级别的特定帮助文档。您越接近完整的命令语法,它就会变得越具体。泰克利用 tm_ 设备和 Python 简化测试自动化 - Docstring 帮助根据您的 IDE 条件,您可以同时显示 IntelliSense 和文档字符串帮助。泰克利用 tm_ 设备和 Python 简化测试自动化 - Docstring 帮助 1通过本指南,您已经了解了 Tek 的 Python 驱动程序包 tm_devices 的一些优势,可以开始您的自动化之旅了。借助简单的设置、代码完成和内置帮助,您将能够在不离开 IDE 的情况下进行学习,加快开发时间,并更加自信地编写代码。
如果你希望改进这个软件包,可以查看 Github repo 中的贡献指南。还有很多更高级的示例amp在文档中以及 Ex 的包内容中突出显示的文件amp文件夹。

额外的资源

tm_devices · PyPI – 软件包驱动程序下载和信息
tm_devices Github – 源代码、问题跟踪、贡献
tm_devices Github – 在线文档

故障排除

升级 pip 通常是解决问题的第一步:
在终端中输入:Python.exe -m pip install -upgrade pip
错误:whl 看起来像 file名字,但是 file 不存在或 .whl 不是该平台支持的轮子。泰克利用 tm_ 设备和 Python 简化测试自动化 - 故障排除

解决方案:Pip 安装 wheel 以便它识别 file 格式。
在你的终端中输入:pip install wheel
如果你需要离线安装 wheel,可以按照附录 A 中的类似说明进行操作,但它需要下载 tar.gz 而不是 .whl file.

附录 A – tm_devices 的离线安装

  1. 在有互联网的计算机上,使用以下命令将包连同所有依赖项下载到指定路径位置:
    pip 下载 –dest车轮设置工具 tm_devices
  2. 复制 file无法访问互联网的计算机
  3. 然后,按照您所使用的 IDE 的主指南中的说明进行操作,但将安装命令替换为以下内容:
    pip 安装 –no-index –find-links files> tm_设备

联系信息:
澳大利亚1 800 709 465
奥地利* 00800 2255 4835
巴尔干、以色列、南非和其他 ISE 国家 +41 52 675 3777
比利时* 00800 2255 4835
巴西 +55 (11) 3530-8901
加拿大1 800 833 9200
中东欧/波罗的海 +41 52 675 3777
中欧/希腊 +41 52 675 3777
丹麦 +45 80 88 1401
芬兰 +41 52 675 3777
法国* 00800 2255 4835
德国* 00800 2255 4835
香港 400 820 5835
印度 000 800 650 1835
印度尼西亚 007 803 601 5249
意大利 00800 2255 4835
日本 81 (3) 6714 3086
卢森堡 +41 52 675 3777
马来西亚 1 800 22 55835
墨西哥、中美洲/南美洲和加勒比地区 52 (55) 88 69 35 25
中东、亚洲和北非 +41 52 675 3777
荷兰* 00800 2255 4835
新西兰0800
挪威 800 16098
中华人民共和国 400 820 5835
菲律宾 1 800 1601 0077
波兰 +41 52 675 3777
葡萄牙80
大韩民国 +82 2 565 1455
俄罗斯/独联体 +7 (495) 6647564
新加坡 800 6011 473
南非 +41 52 675 3777
西班牙* 00800 2255 4835
瑞典* 00800 2255 4835
瑞士* 00800 2255 4835
台湾 886 (2) 2656 6688
泰国 1 800 011 931
英国/爱尔兰* 00800 2255 4835
美国 1 800 833 9200
越南 12060128
* 欧洲免费电话号码。 如果不
无障碍电话:+41 52 675 3777
修订版 02.2022

查找更多有价值的资源,请访问 TEK.COM
版权所有 © 泰克。 版权所有。 泰克产品受美国和外国专利、已发布和正在申请的专利保护。 本出版物中的信息取代所有以前出版的材料中的信息。 保留规格和价格更改权限。 TEKTRONIX 和 TEK 是 Tektronix, Inc. 的注册商标。引用的所有其他商品名称是其各自公司的服务标志、商标或注册商标。
052124 SBG 46W-74037-1

泰克徽标

文件/资源

泰克利用 tm_ 设备和 Python 简化测试自动化 [pdf] 用户指南
48W-73878-1,使用 tm_ 设备和 Python 简化测试自动化,使用 tm_ 设备和 Python 进行测试自动化,使用 tm_ 设备和 Python 进行自动化,tm_ 设备和 Python,设备和 Python,Python

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *