基于LabVIEW和Keithley2400远程监控系统设计与实现

李光明 戴晴晴 党小娟



摘 要: 为了实现对程控交流电源远程控制、数据实时查看等功能,以Keithley2400为例,设计了一套基于LabVIEW软件开发平台的程控交流电源远程监控和实时同步Web发布的系统。该设计方案通过VISA接口实现计算机与Keithley2400通信,完成对程控交流电源的参数设置和输出控制;并且以云计算作为云服务器,打破了局域服务器Web发布的不足,也解决了重要设备无法移动的问题。测试结果表明,该系统界面友好且可扩展性强,可以在整个因特网上通过网页建立Web请求,具有一定的实用性和推广价值。
关键词: LabVIEW; Keithley2400; 云服务器; Web发布; 远程监控
中图分类号: TN948.64?34; TP302.1 文献标识码: A 文章编号: 1004?373X(2017)06?0155?04
Abstract: In order to realize the functions of the remote control and data real?time checking of the programmable AC power supply, a set programmable AC power supply remote monitoring and real?time synchronization Web publishing system based on LabVIEW software development platform was designed by taking Keithley2400 as the example. The communication between the computer and Keithley2400 through VISA interface is realized with the design scheme to set the parameter and control the output of the programmable AC power supply. The cloud computing is taken as the cloud server to make up the insufficiency of the Web publishing of the local area server, and solve the problem that the important device can′t move. The test results show that the system has friendly interface and strong expansibility, can establish the Web request through the Web page on the whole Internet, and has a certain practicability and popularization value.
Keywords: LabVIEW; Keithley2400; cloud server; Web publishing; remote monitoring
0 引 言
随着电子计算机技术的飞速发展和应用日益普遍,各种智能仪器处处可见。其中可编程程控电源在智能测试系统中是至关重要的一部分[1?2],它主要是把计算机当成电源内部的系统控制和数据运算处理部件,通过上位机发出一些程控仪器标准命令SCPI(Standard Commands for Programmable Instruments),使电源系统按照预先编好的命令自动输出电压和电流,并使其稳定在给定数值上的一种电源装置[3?4]。且程控电源在电源行业发展中也是至关重要的一个部分,国内外对程控电源使用也是很广的[5?9]。但将Keithley2400电源与云技术、LabVIEW技术合理结合实现远程监控的研究不是很多。
目前,在计算机、网络和物联网等技术快速发展的大背景下,物物相连的互联网通过各种信息传感设备实时地监控得到的数据、信息。此外,由于互联网新兴的相关服务具有数据存储量大等特点,推动了云计算平台的出现[10?11]。而在互联网研究领域上,利用云计算平台在广域网上实时查看并共享采集到的数据,已经渐渐地成为国内外的热点。虽然LabVIEW本身具有Web发布工具可以对外实现网页发布功能,但其在访问浏览器网页时,存在广域网上的不足。
因此本文提出一种基于LabVIEW软件与Keithley2400电源相结合,并在云服务器上实现对外Web发布的系统,该系统解决了广域网访问受限且设备移动困难,最后再对此系统进行了测试。
1 系统总体结构
系统设计由Keithley2400电源作为下位机、LabVIEW上位机等部分构成。系统总体结构框图如图1所示。
系统工作过程如下:将电脑与Keithley2400电源物理连接成功后,打开Keithley2400电源的开关,当上位机程序与该电源中的串口参数设置一致时,然后通过发送程控仪器标准命令至上位机,来与下位机进行通信并可以控制下位机做出相应的动作。
系统设计采用了云计算技术,它是以互联网为载体,利用虚拟化等手段整合大规模分布式可配置的网络、计算、数据等计算资源,使其以服务的方式提供给用户,并满足用户按需使用的计算模式[12?13]。其主要特色是用户不必关心云平台底层的实现,只需按照实际需求进行访问,同时共享资源[14]。本文主要是通过云计算的一个应用:云服务,来实现系统的广域网通信。即将云计算作为服务器,把云服务器设置为共享本地资源,再将Keithley2400电源与本地电脑连接。然后再把LabVIEW程序复制到云服务器上,使用前面板VI通过Web发布共享在整个广域网。在网络通信畅通的条件下,可以随时随地在客户端的IE浏览器上查看和远程监控数据。
2 系统硬件介绍
本文主要使用的硬件就是Keithley2400数字源表、KUSB?488A型USB?GPIB接口适配器。
2.1 Keithley2400数字源表
Keithley的Source Meter(数字源表)2400是为了符合紧密结合激励源、测量功能和精密电压源的要求,且符合电流、电压同时测量而设计的。可以通过阅读Keithley2400数字源用户使用手册熟悉基本前面板和远程操作[15]。其中主要的操作包括基本的电源操作、设置优化性能、特性DUT测试等。远程操作相关的SCPI命令都总结在该手册中,可以随时查询。
本测试系统主要使用的是Keithley2400的远程命令编程,实现上位机对Keithley2400远程控制。
2.2 USB?GPIB接口适配器
本系统中上位机与程控电源的物理连接是选用National Instruments(NI)公司提供的KUSB?488A接口卡[16?17]。该接口适配器是通过USB接口利用以全功能、即插即用的IEEE?488.1接口控制器,可将任意一台电脑与其他可编程GPIB仪器进行通信。该接口是适配器能兼容IEEE?488.1和IEEE?488.2标准且传输数据的速率高达1.8 MB/s,其适用的系统平台可以是Windows,Linux等,可很方便地通过LabVIEW 进行编程控制。
3 系统软件设计
3.1 软件平台
本系统采用美国NI公司的LabVIEW(Laboratory Virtual Instrument Engineering Workbench),其是一种图形化编程语言的高效开发环境,其主要应用于测试、测量和自动化控制等[18]。另外,在LabVIEW开发平台上,对于仪器控制,其核心在于VISA函数库。NI?VISA(Virtual Instruments Software Architecture)是美国NI公司开发的一种高级应用编程接口,是用来与各种仪器总线互相进行通信。VISA提供的函数使用方便,用户可以从函数面板上调用VISA库函数,再根据不同仪器配置不同的仪器参数,再编写各种仪器驱动程序来控制各种I/O接口仪器[19?20]。然后上位机也可以使用VISA协议向串口写数据和指令,控制程控电源进行各种测量工作。
由于VISA与仪器的通信需使用特定的仪器驱动程序,因此,为了实现VISA与仪器通信,首先需安装NI?VISA驱动,该驱动可以通过NI官网进行下载。
3.2 软件结构设计及实现
根据系统采集数据的要求,本文设计的LabVIEW前面板,其中有串口选择下拉框,设置串口参数框图,电源设置、电压设置、电流设置及电阻设置,开始测量按键,数据测量过程状态指示灯,设置停止按键用于整个程序的终止。上位机主程序编程面板结构的设计,采用模块化方式,主要分为以下五个部分,包括程控电源初始化模块,电压、电流、电阻测量配置,输出设置,读取电压、电流、电阻参数,关闭电源。为了实现以上模块,程序设计中用到了顺序结构+While循环+条件结构。
LabVIEW程序具体实现步骤如下:
(1) 顺序结构第一帧。程控电源初始化模块:使用Initialize.vi子VI对仪器进行初始化配置,主要是建立和仪器的通信,并能执行仪器标识查询。一般,在访问仪器编程应用的开始,都需要此初始化VI。其中有配置串口,VISA资源名称下拉框可以选择所使用的仪器对应接口名。串口配置项包括波特率、流控、数据比特、奇偶校验、停止位。
(2) 顺序结构第二帧。While循环嵌套条件结构,当条件结构中布尔量为真,执行以下模块:电源各参数测量配置模块、输出配置模块和读取电源各参数模块。同时前面板创建的开始测量状态指示灯通过属性节点闪烁项写入真常量闪烁,即程序开始运行后,当按下开始测量按键时LED灯为闪烁状态。条件结构中布尔量为假时,前面板创建的开始测量状态指示灯通过属性节点闪烁项写入假常量熄灭,程序如图2所示。
电源各参数测量配置模块:其中使用3个configure Measurement.vi配置了电压、电流和电阻测量。
输出配置模块:首先使用configure Output.vi配置电源输出模式是电流或电压、期望输出水平、设置最大值。其次使用Enable Output.vi使能电源输出。即测量时,当布尔量赋值为真,电源才分配电压或电流给被测器件。
读取模块:使用Read(Single Point).vi可以从仪器中读取并返回一个信号测量。注意,在使用该子VI时,将会立即设置单点覆盖所有触发设置。为了触发控制,可以使用底层的应用程序。
(3) 顺序结构第三帧。为了增加系统性能的可靠性以及合理利用资源,因此在顺序结构第二帧程序执行后,必须对串口进行关闭来释放资源提高系统效率。即首先使用Enable Output.vi,并给布尔量赋值为假。再使用close.vi来结束该程序。
4 云发布及系统测试
4.1 云发布
在云服务器上,利用LabVIEW的Web技术发布程序前面板界面或HTML文件供本地、远程计算机浏览、监控数据,首先需要通过设置远程连接到云服务,其次再配置LabVIEW的Web服务器,然后再Web发布,则实现远程控制的具体流程如下:
(1) 远程连接云服务器设置。首先启动远程桌面,在计算机空格里输入云服务器名或是它的IP地址。然后再把用户名和密码输入,点击连接。进入云服务器后,需关闭云服务器高级安全Windows防火墙的域配置文件和公用配置文件。
(2) Web服务器的配置。在LabVIEW开发环境下,首先打开需要发布的程序,然后配置Web服务器参数。其中Web服务本地调试HTTP端口默认为80,在启动远程前面板服务器HTTP端口7889前打钩,即表示启动打开。端口号参数是根据所使用的云服务器的相应开发端口修改。
(3) 应用程序Web发布。在云服务器上,打开该程序,启动LabVIEW Web服务器,先在查看模式选择内嵌,可以让用户通过客户端打开IE浏览器远程监控前面板,进而监控程控电源;再设置网页上输出的文档标题、页眉、页脚;然后设置保存网页的本地目录和文件名,生成(URL)并保存至磁盘,自动生成的URL格式为:http://计算机名:端口号/VI名.html。
(4) 应用程序远程访问。实现了VI程序的Web发布后,可以把URL格式变为:HTTP://云服务器地址:服务器Web发布使用的HTPP端口号/VI名.html。
Web发布成功后进行测试分析,其结果如图3所示。
4.2 测试结果分析
本系统测试是在程控电源空载的情况下测得数据,如图3(a)所示。图3(b)是在客服端,通过打开相应的URL,进入远程监控界面。右击“请求VI控制权”,获得权限控制面板程序,根据实际选择串口后点击运行程序,并按开始测量按钮,即可访问并控制连接硬件设备的本地电脑的测量数据。通过系统测试,可以在网络连通的任一个电脑IE浏览器中输入相应的URL都可以建立Web请求。
5 结 语
本文将LabVIEW软件、Keithley2400电源和云服务器平台相结合,设计并实现了一个既可以远程控制,也可以让公众在没有硬件设备的情况下通过互联网了解和查看测量数据的系统。而且,通过按下开始测量后,打开远程控制,界面显示测试数据,系统还可以根据用户所需增加相应的远程控制动作。最后,再使用云技术的可伸缩的空间来进行数据存储和处理。本系统通过IE浏览器远程访问的VI前面板,实现客户端远程访问本地VI,充分解决了客户端没有硬件设备的难题。也为一些复杂的远程监控系统提供了一种简单思想。同时,该系统不仅扩展性好,且可以在其基础上适当增加新的功能或移植到其他的移动设备上实时查看。
参考文献
[1] 宋万均,张安堂.一种程控功率因数可调开关电源设计[J].电测与仪表,2014(14):110?115.
[2] 张楠,樊锐,宁涛,等.用于ATE程控直流电源[J].电子测量技术,2004,6(2):31.
[3] BIRMAN P. Programmable power supplies [J]. Electronics & power, 1975, 21(4): 239?240.
[4] 秦凡,韦高.基于VISA库及SCPI命令的仪器程控测量[J].现代电子技术,2011,34(11):118?120.
[5] TOGATOV V V, GNATYUK P A. A multipurpose programmable power supply for halogen lamps [J]. Instruments and experimental techniques, 2001, 44(4): 512?514.
[6] 陈宝,朱斌,何绪新,等.模块式动态地层测试器井下大功率电机供电系统设计[J].测井技术,2013(1):71?74.
[7] 谢明,钱伟康.液晶显示屏在智能程控直流电源中的应用研究[J].仪表技术,2008(4):19?21.
[8] 杨柳.程控直流电源灵活应用研究[J].仪器仪表标准化与计量,2014(5):46?48.
[9] 任黎明,于红,刘瑞娟.农业自动化设备中直流稳压电源的改进设计[J].农技服务,2011(8):1231?1232.
[10] DEAN J, GHEMAWAT S. MapReduce: simplified data processing on large clusters [C]// Proceedings of the 6th Conference on Operating Systems Design & Implementation. San Francisco: ACM, 2004: 107?113.
[11] 秦荣生.大数据、云计算技术对审计的影响研究[J].审计研究,2014(6):23?28.
[12] 李晓辉.云计算技术研究与应用综述[J].电子测量术,2011(7):1?4.
[13] 王佳隽,吕智慧,吴杰,等.云计算技术发展分析及其应用探讨[J].计算机工程与设计,2010(20):4404?4409.
[14] 罗军舟,金嘉晖,宋爱波,等.云计算:体系架构与关键技术[J].通信学报,2011(7):3?21.
[15] Keithley Instruments, Inc. Series 2400 SourceMeter users manual [R]. USA: Keithley Instruments, Inc., 2007.
[16] Keithley Instruments, Inc. GPIB?488 software and product information [R]. USA: Keithley Instruments, Inc., 2009.
[17] Keithley Instruments, Inc. GPIB?488 programming reference manual [R]. USA: Keithley Instruments, Inc., 2009.
[18] 陈锡辉.LabVIEW8.20程序设计从入门到精通[M].北京:清华大学出版社,2007:229?231.
[19] 杨心宇,章国宝,柴继涛,等.基于VISA库的电源测试系统的设计与实现[J].工业控制计算机,2014,27(5):55?56.
[20] 赵立军.基于VISA接口的可编程电源输出控制程序[J].计量与测试技术,2015(12):1?2.