python控制程控电源(安捷伦),实现自动化测试项目电流。

一、背景

因为物联网项目测试电流时候场景比较复杂,安捷伦自带的测试电流GUI软件不太能方便操作,于是决定写一个软件方便场景电流的测试。网上搜索一番程控电源背景,发现一般都是C、C++、VB语言去编写的测试软件。环境搭建起来可能比较麻烦(我不会这些语言-_-!)。而且组内测试项目场景虽说复杂,但也只是安捷伦自带的软件无法很好满足。了解背景后,得知程控电源一般都是有通用的visa库,很幸运我在github上面找到了python封装的库pyvisa 。地址:https://github.com/pyvisa/pyvisa

引入一下pyvisa上项目的描述:

“测量仪器的编程可能是真正的痛苦。 有许多 通过许多不同的接口和总线系统发送的不同协议 (GPIB,RS232,USB)。 对于您要使用的每种编程语言,您必须 查找同时支持您的设备及其总线系统的库。

为了缓解这种不幸的情况,虚拟仪器软件 体系结构( VISA )规范定义于90年代中期。 今天 在所有重要的操作系统上都实现了VISA。 几个供应商 提供VISA库,部分免费下载。 这些库一起工作 使用任意外围设备,尽管它们可能仅限于某些 接口设备,例如供应商的GPIB卡。

VISA规范具有对Visual Basic,C和G的显式绑定 (LabVIEW的图形语言)。 Python可用于从 VISA共享库(.dll,.so,.dylib)允许直接利用 标准实现。 此外,Python可用于直接访问 仪器使用的大多数总线系统,这就是为什么可以设想实施的原因 直接在Python中创建VISA标准(有关更多信息,请参见PyVISA-Py项目 细节)。 PyVISA既是VISA共享库的Python包装器,但 也可以用作其他VISA实施的前端,例如 PyVISA-Py。”

原来有这种痛苦的不止我!啊哈哈,一个自动化测试兼职测开的我今天终于体会到了痛苦,希望你们不要懂这种痛苦。

二、着手准备制作

有了库,就可以程序连通设备了,这个桥梁就是GPIB线,需要一根GPIB转USB接口的线, 网上搜索一下,挺贵的!还好公司有,直接借过来用了。对了,电脑要装上驱动,我的是安捷伦,安捷伦官网搜索一下型号会有驱动下载。NIMAX、LABVIEW。

三、界面

因为给组内其他测试人员用,考虑写一个界面使用起来简单一点。python写界面,用的pyqt5,pycharm里面装上designer,就可以像安卓那样拖拽控件了,我涉及到的业务不是说很复杂,只是重复性比较高。于是分析项目有关的逻辑制作了以下界面。

python控制程控电源(安捷伦),实现自动化测试项目电流。_第1张图片

四、功能介绍

因为测试项目电流主要流程是不同电压下测试多少时间,每一组电压不同,时长也不同。所以主要是每一组电压可输入、时长可输入、录入的组可以查询 删除等。

使用流程是检查连接---输入不同组数据---开始测试---最后生成电流的图表,保存电流的测试数据。我按照使用流程来解析软件功能。

1、检查

把程控电源通过GBIP线和电脑连接后,开启程控电源的开关,点击软件的检查连接,程序会检查当前存在的设备。成功后打印地址,绿色颜色表示,失败则会做出相应提示。

2、录入数据

按照组别来录入,一组包含 电压、时长、和下一组之间的间隔。

比如三组数据:

  第一组是 电压5v、时长30s、和下一组测试间隔为5s

  第二组 10V、1min、10s

  第三组 15V、2min、10s(最后一次可以不设置等待时长)

录入完后,可以点击查询录入,录入的数据会打印在文本域中。

3、开始测试

录入完后,打开开关点击开始测试后就可以静静等待测试完成了 !

4、停止和导出

测试完成后,可以点击导出图表,程序可以把测试的电流数据分组显示成图片,方便直观查看测试过程中的电流曲线变化。

当然测试可以随时停止。

python控制程控电源(安捷伦),实现自动化测试项目电流。_第2张图片

五、其他

其实还有很多可以优化的地方,比如数据可以通过加载配置文件、csv等,当然都是可以实现的。最重要的是解决这个问题的过程比较让我难以忘记,特此记录一下。当开始之前我觉得程控电源(公司的是电流仪,还有很多测试项的程控仪器都是可以程控,我这个如其名程控电源,可以程序控制的电源!)就测试个电流不就完了,当我收到请求后我觉得是时候展现我的意义了,提升效率!如果用自带的软件也是能解决的,但是可能需要人一直观察,一直输入调节电压等其他的操作,这样就浪费了人力,做出这个软件后,至少可以解放喝一杯茶的时间!

关于项目地址: https://github.com/git-tree/ProgrammaPower 

gitee :ProgrammaPower: python操作程控电源

,进不去联系我的微信 shusen_wechat

点个赞!✿✿ヽ(°▽°)ノ✿

你可能感兴趣的:(测试工具制作,串口通信,pyqt5,python)