APP下载

基于Python的可编程电源控制及应用

2019-08-23王刚义杨玉钊包演生姜涛谢钧安

电子技术与软件工程 2019年14期
关键词:脚本语言PC机线束

文/王刚义 杨玉钊 包演生 姜涛 谢钧安

随着社会的发展,嵌入式系统在人们的工作和生活中应用越来越广泛,同时,嵌入式系统也越来越复杂,嵌入式系统的可靠性面临严峻的考验。在嵌入式系统的各项测试中,上下电测试是一项重要的测试,能够验证测试系统的硬件和软件可靠性及可恢复性。本文基于Python脚本语言,通过控制可编程电源实现自动上下电而达到自动测试效果,并实现监测系统是否正常上电工作,解决使用人工手动控制重复上下电,测试效果较差并且效率较低的问题。

图1:测试系统的示意图

1 Python脚本语言简介

Python是一种解释型、交互式、面向对象、动态语义、语法优美的脚本语言,自从1989年由Guido Van Rossum设计出来后,经过十余年的发展,已经同Tcl、Perl一起,成为目前应用最广的三种跨平台脚本语言。Python的主要特点有:

(1)免费开源 Python是FLOSS(自由/开放源码软件)之一。简单地说,你可以自由地发布这个软件的拷贝、阅读它的源代码、对它做改动、把它的一部分用于新的自由软件中。

(2)高层语言当你用Python语言编写程序的时候,你无需考虑诸如如何管理你的程序使用的内存一类的底层细节。

(3)可移植性由于它的开源本质,Python已经被移植在许多平台上(经过改动使它能够工作在不同平台上)。这些系统包括如Linux、Windows、Solaris、Mac OS、Windows CE等等,甚至还有PocketPC。

(4)面向对象 Python提供类、类的继承、类的私有和公有属性、例外处理等完善的对面向对象方法的支持。

(5)可嵌入性可以方便地把Python嵌入C /C++程序中,为程序提供脚本功能。

(6)可扩展性如果希望一段关键代码运行得更快或者希望某些算法不公开,可以把部分程序用C或C++编写,然后在Python程序中使用它们。

(7)第三方库 Python有大量的第三方模块,能大量节省开发者的时间,从而能更多时间关注自己的问题。

基于以上的特点,Python特别适合于作为脚本语言嵌入到应用程序中,并且Python有一个专门为仪器设计的开发库——VISA(Virtual Instrument Software Architecture,简称为VISA)库。VISA提供用于仪器编程的标准I/O函数库,是计算机与仪器的标准软件通信接口,计算机通过它来控制仪器。本文也通过VSIA库来控制可编程电源。

2 可编程电源特点

Keysight N5700 系列直流电源采用紧凑型(1U)机箱,提供750W和1500W可编程直流输出,共有24种型号,能适应各种简单直流电源应用。它们提供稳定的输出功率,内置的电压和电流测量能力,以及6V到600V的电压和1.3A到180A的电流。带有标准配置的GPIB、Ethernet/LAN和USB 2.0通讯接口,为您提供选择当前和未来I/O接口的灵活性。

本文以N5700系列中的一种电源型号为例,尝试使用Ethernet/LAN和USB 2.0作为通讯接口来控制该电源的上下电操作。

3 自动化测试设计

为了通过使用Python脚本语言VISA库来控制可编程电源N5700系列电源,首先应完成测试环境搭建;其次,完成Python脚本开发;最后通过一定的测试来验证是否可行。

3.1 环境搭建

首先,系统环境的整体搭建如图1所示。其中PC机已经安装好相应软件,以太网线束为RJ45转RJ45,USB线束为USB type A转USB type B,并且把可编程电源电压输出端同待测试设备电源输入端连接。

其次,要实现Python脚本控制电源,PC机需要对软件环境进行相关的配置:

(1)安装N5700系列电源的驱动软件。驱动软件可以到相应官网进行下载,如本文下载的是KeysightInstrumentControlBund le_4.2018软件,其中包括相应驱动软件和相应的编程IDE;

(2)搭建Python开发环境。具体可以参考网上一些教程,这里就不详细介绍了,值得注意的是注意配置PATH环境变量、安装VISA库及Python编程环境。

(3)确保PC机上有visa32.dll文件的存在,一般该文件存放位置在c:/windows/system32/visa32.dll。

3.2 Python脚本开发

首先,获取可编程电源的USB或者以太网地址,把USB线束或者以太网线束将可编程电源和PC机相连,然后打开已安装好的Keysight Connection Expert软件,该软件中会自动识别出该电源的相应地址,如图2所示。

图2:软件识别出的相应地址

其次,定义相应通讯接口,这里以以太网为例。利用VISA库的API函数visa.ResourceManager创建visa实例对象,调用对象中的open_resource函数传入上述所查询的地址建立相应的通讯连接。然后调用相应的SCPI指令实现控制(详细的指令信息可查看 IEEE488.2,根据需要选择性的使用),如发送“*IDN?”查看可编程电源相关信息,同时也可以验证是否和可编程电源通讯成功。

最后,通过Python语言定义一个循环,循环中通过发送SCPI指令来控制可编程电源的电压输出,并监测上电情况下可编程电源的电流值,作为判断可编程电源是否正常启动的标志。值得注意的是,设置断电控制是把电压设置一个比较小的电压(低于设备的供电电压),而不是设置为0,这样减少对可编程电源的冲击;设置时间间隔的话需要考虑可编程电源电压输出至稳定输出的时间。具体的控制流程图如图3所示。

3.3 测试阶段

在完成设备相关连接及可编程电源的Python脚本控制的设计后,给相应设备上电进行调试。通过以太网连接可编程电源和PC,运行Python脚本,观察可编程电源的电压变化情况,并观察测试设备的上下电情况。通过观察,可编程电源按照设定的时间间隔调整电压输出,并且测试设备根据电压变换正常上下电,完成测试设备的上下电自动化测试,验证了设备软硬件的可靠性。

4 总结

文章介绍Python、可编程电源和上下电测试实现的一些关键技术,在硬件平台的基础上,采用Python脚本语言和SCPI指令,实现了可编程电源的电压控制,较好地解决了测试设备的上下电的自动化测试,测试设备在正常运行中异常掉电对设备软硬件的影响,验证设备软硬件的可靠性。实验结果表明,测试设备自动化上下电测试执行效率高,并且检测准确,对自动化测试有一定的参考价值!

图3:控制流程图

猜你喜欢

脚本语言PC机线束
线束工业软件应用之中线CAD标准版
基于PC机与单片机的多机通信技术及抗干扰方法
一种面向SSC的电信增值业务的生成方法及实现
基于三菱FXPLC的感应淬火机床与PC机的串行通信实现
VC.NET下实现dsPIC单片机与PC机的通信
排除OLT设备登录故障
汽车线束设计及线束用原材料的选取
某轻卡线束设计方案
浅析计算机技术在flash动画中的应用
基于SiPESC平台的Python扩展模块开发