0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

教你一招,简化仪器Python编程控制!

泰克科技 来源:泰克科技 2024-03-15 14:31 次阅读

引言

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

多功能性

易于教学

代码可读性

广泛可用的知识库和模块

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

模拟人类行为以自动化前面板并节省时间的例程,例如自动化合规性测试。每次需要测试新零件时,工程师不会呆坐在示波器前,添加相应的测量值并记下结果,而是开发一个脚本来完成所有工作并显示最终结果。

扩展仪器功能的用途,例如:测量记录、验证或质量保证。自动化操作支持工程师执行复杂的测试,且能够规避测试过程中的许多固有缺点。操作人员无需设置示波器和手动记录结果,且每次都可以以相同的方式进行测试。

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

1

编程接口的定义

编程接口(PI)是两个计算系统之间的一个或多个边界,可以通过编程来执行特定行为。就本文而言,编程接口是运行每台泰克测试设备的计算机和最终用户编写的应用程序之间的桥梁。为了进一步缩小范围,编程接口在此处定义为一组可以远程发送到仪器的命令,仪器会处理这些命令并执行相应的任务。PI堆栈(图1)显示了从主机控制器到仪器的信息流。最终用户编写的应用程序代码用于定义目标仪器的行为。

最终用户通常用业内流行的开发平台编写代码,如Python、MATLABLabVIEWC++C#。这些应用程序将使用可编程仪器标准命令(SCPI)格式——大多数测试和测量设备都支持的标准格式——发送数据。SCPI命令通常通过虚拟仪器软件架构(VISA)层发送,VISA层可通过为增强通信协议的鲁棒性(例如错误检查)促进数据传输。在某些情况下,应用程序可能会调用驱动程序,然后驱动程序会向VISA层发送一个或多个SCPI命令。

2

tm_devices驱动程序包的内容

泰克的tm_devices是泰克自行开发的设备管理包,支持用户使用编程语言Python控制和自动化泰克和吉时利产品的测试过程。使用Python的软件包管理系统pip可快速安装tm_devices。

Python软件包包含大量命令和功能,可帮助用户轻松地对泰克和吉时利产品进行自动化测试。其可在最流行的Python IDE中使用,且支持代码补全辅助。此外,Python软件包还可以帮助任何水平软件技能的工程师简单轻松地进行编码和测试自动化。

3

环境设置

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

3.1

安装与先决条件概述

1. 安装 Python.

a.Python >=3.8

2. PyCharm——PyCharm安装、启动项目和tm_devices安装

3. VSCode——VSCode安装、启动项目和tm_devices安装

3.2

PyCharm社区版(免费)

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

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

1. 访问

https://www.jetbrains.com/pycharm/

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

96c51618-e284-11ee-a297-92fbcf53809c.jpg

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

4. 欢迎使用PyCharm!

96cfc590-e284-11ee-a297-92fbcf53809c.png

在PyCharm中创建新项目并设置虚拟环

5. 点击“新建项目”。

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

9777eb58-e284-11ee-a297-92fbcf53809c.png

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

978464aa-e284-11ee-a297-92fbcf53809c.png

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

9791f26e-e284-11ee-a297-92fbcf53809c.png

9.从终端安装驱动程序。

键入:pip install tm _ devices

97994e9c-e284-11ee-a297-92fbcf53809c.png

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

3.3

Visual Studio Code

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

4

示例代码

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

4.1

导入

97c7a77e-e284-11ee-a297-92fbcf53809c.png

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

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

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

97d5d128-e284-11ee-a297-92fbcf53809c.png

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

97df674c-e284-11ee-a297-92fbcf53809c.png

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

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

4.2

代码片段

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

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

97f11582-e284-11ee-a297-92fbcf53809c.png

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

97fb0704-e284-11ee-a297-92fbcf53809c.png

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

9808178c-e284-11ee-a297-92fbcf53809c.png

5

使用IntelliSense/代码补全

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

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

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

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

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

980e4ca6-e284-11ee-a297-92fbcf53809c.png

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

981adcaa-e284-11ee-a297-92fbcf53809c.png

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

9826d51e-e284-11ee-a297-92fbcf53809c.png

6

文档字符串帮助

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

983aa062-e284-11ee-a297-92fbcf53809c.png

根据您的IDE设置,您可以同时查看IntelliSense和文档字符串帮助。

9842565e-e284-11ee-a297-92fbcf53809c.png984d0cb6-e284-11ee-a297-92fbcf53809c.png

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

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

7

其他资源

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

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

https://github.com/tektronix/tm_devices#documentation ——在线文档

8

故障排除

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

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

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

98c4e1dc-e284-11ee-a297-92fbcf53809c.png

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

在您的终端键入:pip install wheel

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


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16191

    浏览量

    177377
  • 示波器
    +关注

    关注

    113

    文章

    6190

    浏览量

    184502
  • LabVIEW
    +关注

    关注

    1963

    文章

    3652

    浏览量

    322354
  • 编程语言
    +关注

    关注

    10

    文章

    1938

    浏览量

    34593
  • python
    +关注

    关注

    56

    文章

    4781

    浏览量

    84446

原文标题:【操作指南】教你一招,简化仪器Python编程控制!

文章出处:【微信号:泰克科技,微信公众号:泰克科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    教你一招如何分辨PCB板层数

    教你一招如何分辨PCB板层数
    发表于 04-23 06:36

    教你一招如何去实现傅立叶变换算法?

    教你一招如何去实现傅立叶变换算法?
    发表于 04-30 06:05

    教你一招怎样去选择合适的CPLD

    CPLD有哪些优点?教你一招怎样去选择合适的CPLD
    发表于 05-06 09:48

    教你一招分分钟实现频谱仪带宽的正确设置

    教你一招分分钟实现频谱仪带宽的正确设置
    发表于 05-07 06:36

    教你一招定时器中断该怎么办?

    教你一招定时器中断该怎么办?
    发表于 05-14 06:34

    教你一招如何通过手机的芯片来判断手机的价格?

    教你一招如何通过手机的芯片来判断手机的价格?
    发表于 05-24 06:47

    教你一招如何去选择射频滤波器?

    教你一招如何去选择射频滤波器?
    发表于 05-28 07:05

    教你一招RK31885.1蓝牙MAC怎样才能从模组中获取MAC地址

    教你一招RK31885.1蓝牙MAC怎样才能从模组中获取MAC地址
    发表于 02-18 06:28

    笔记本硬盘保养15(一招都马虎不得)

    笔记本硬盘保养15(一招都马虎不得) 硬盘保养也是门学问  如今快节奏的工作造就了部分“拆硬盘”的人,小编所说的“拆硬盘
    发表于 01-21 15:28 1021次阅读

    巧解任何电脑的开机密码(小小一招就搞定)

    巧解任何电脑的开机密码(小小一招就搞定) 小小一招巧解任何电脑的开机密码,无需任何工具,无需放电 任
    发表于 02-25 10:57 779次阅读

    教你一招辨别真假OLED屏

    现在市面上有很多电视都说是OLED屏也就是曲面电视,但你真的知道什么才是曲面电视呢?是不是以为所谓的曲面电视就是所谓的屏幕弯曲,那你就错了。想要知道曲面电视是怎样的,首先得知道它的概念。以下小编为你解说什么才是真正的曲面电视,如何一招辨别它的真假。
    发表于 09-25 13:01 1.7w次阅读

    一招让手机屏立马干净

    手机屏幕油腻还满是手印?教你一招,立马干净亮闪闪
    的头像 发表于 08-27 17:26 4447次阅读

    教你一招开启远程办公,上班被隔离也不怕

    ?下面教你一招。 因为是突然被隔离,许多人来不及回家搬电脑,也不可能搬走公司的办公电脑,所以要开展远程办公,就只能依靠手机。也许有人会疑惑,手机屏幕那么小,能远程办公吗?答案是只要手机和电脑都安装了远程控制软件
    的头像 发表于 04-23 18:00 1819次阅读
    <b class='flag-5'>教你</b><b class='flag-5'>一招</b>开启远程办公,上班被隔离也不怕

    5G NR生成与解调很难?教你一招轻松解决

    作为项近些年才出现的新技术,5GNR信号生成与解调分析相关的设备和技术相对来说尚处于覆盖面较少阶段,部分电子测试工程师可能会对相关操作感到比较陌生。今天我们就来教你一招,轻松解决5GNR信号的生成
    的头像 发表于 09-09 08:30 921次阅读
    5G NR生成与解调很难?<b class='flag-5'>教你</b><b class='flag-5'>一招</b>轻松解决

    哪些晶体、谐振器和振荡器可旋转180°使用?一招教你快速识别

    哪些晶体、谐振器和振荡器可旋转180°使用?一招教你快速识别
    的头像 发表于 12-05 16:37 372次阅读
    哪些晶体、谐振器和振荡器可旋转180°使用?<b class='flag-5'>一招</b>儿<b class='flag-5'>教你</b>快速识别