APP下载

基于GPIB通讯的多仪器控制设备设计

2017-04-24曾张帆刘文超周艳玲蔡锐

现代商贸工业 2017年4期
关键词:远程控制编程

曾张帆+刘文超+周艳玲+蔡锐

摘要:针对目前企业中对仪器的操作控制还未实现自动化,导致企业员工的工作效率不高的难题,通过在Visual Studio 2010开发平台中采用C#编程实现基于GPIB通讯的多仪器控制设备,实现由上位机软件对支持GPIB通讯的安捷伦或同类型设备的多个设备同时进行远程控制。经过测试发现,该上位机软件运行稳定可靠,对于仪器控制的效率有明显的提高。

关键词:C#编程;GPIB通讯;多仪器;远程控制

中图分类号:TB文献标识码:Adoi:10.19311/j.cnki.16723198.2017.04.088

0引言

随着当今信息化时代的快速发展,仪器的自动化控制已经成为社会发展的趋势。仪器远程控制的实现相较于传统的人工看守操作模式,具有操作简便可靠、工作效率高和节省资源等诸多优势。

1平台搭建

1.1软件安装

开发软件:Visual Studio 2010是目前较为稳定的版本。

仪器编程Visa库软件:Keysight IO Libraries Suite 版本17.2.208 18.0,该版本是目前的最新版本,可以与之前的版本进行兼容。

仪器编程连接软件:Keysight Command Expert版本:1.6.327,将要进行编程的仪器与计算机连接,可以通过此软件获取仪器链接地址并发送相关指令。

1.2编程语言

本文是利用C#语言进行软件设计,并最终实现仪器控制。C#语言简洁易懂,支持跨平台,与目前主流的Java语言相比,C#语言面向对象的程度更高、执行速度更快。

2GPIB原理与流程介绍

2.1GPIB简介

通用目的接口总线(GPIB,General-Purpose Interface Bus)是一种用于将可编程仪器与计算机连接的总线。GPIB可以在一定的传输距离中最多支持15台设备同时连接,其采用的是双向异步通讯方式;与串口通信方式相比GPIB通讯有着更快的数据传输速率,与USB通讯方式相比有较短的延迟性能,还具有软件兼容性优良,使用时间长等特点。

GPIB是8位并行的数字通信控制接口,其总线结构中包含16个信号线,其中有8条I/O數据线、3条握手线以及5条接口管理线。在有效的GPIB通讯系统中要有“讲话者”、“听者”、“控制者”三类仪器设备,每个通讯设备都可能是其中的某一个角色,但在一次通讯中只能有一个“讲话者”,允许有多个“听者”。GPIB接口共具有10种通讯接口功能。本文设计的控制软件主要利用其中的“远控/本控”功能,通过接收外部传输进来的数字信号进行程控操作。

GPIB接口设备可以通过以GPIB-单片机-USB为主框架的数据传输系统,实现支持GPIB通讯的仪器设备与GPIB接口相连,PC机与USB接口相连,两者在通过GPIB转USB的数据线进行连接,如图1所示。

GPIB与仪器的通讯原理,如图2所示。其中PC机发出的程控指令作为“远地接口消息”通过GPIB-USB数据线传递到GPIB仪器,GPIB仪器收到指令之后根据接口功能产生相应的“本地消息”指令向内传输,仪器设备再收到“本地信息”后依据仪器设备的器件功能进行本地操作,执行相应的指令,有些情况下,仪器会将指令执行的结果在通过上述通讯的逆过程将数据回传至PC机。

2.2SCPI简介

可编程仪器标准指令(SCPI,Standard Commands for Programmable Instruments)是基于IEEE 488.2信息交换协议的编程指令标准。SCPI中定义了一整套的仪器编程通用指令,除IEEE 488.2协议中强制规定的通用指令外,SCPI中还包含用于任何硬件和通讯设备的编程指令。

SCPI命令的特点为:

(1)命令包括关键字、参数和标点符号。

(2) 查询语句总是以问号结束。

(3) 命令的有效格式分为长、短两种格式,不区分大小写。

(4) 命令类型:公共命令(以*开始),分系统命令(由关键字之间的冒号分开)。访问分系统命令中低一级的子命令必须按照特定的路径。

3软件部分

3.1单仪器控制实现

3.1.1获取仪器通讯地址

将AV1487B型号的信号源与PC机按照图1连接,在PC机上运行Keysight Command Expert,获取该仪器的GPIB通讯地址为“GPIB0::19::INSTR”,如图3所示。

3.1.2软件界面及实现流程

为实现上位机远程控制GPIB仪器设备,在Visual Studio 2010开发平台中利用C#编程设计的软件界面,如图4所示。

具体流程为:上位机软件的后台代码中通过引用VISA仪器编程指令的动态链接库文件,创建与仪器通讯的GPIB仪器通讯对象和API接口。输入获取的仪器地址,点击“连接设备”,上位机软件会建立与GPIB仪器的通讯环境;然后在“输入指令”文本框中输入对应的指令,上位机指令发出的指令通过GPIB-USB连接线传输到仪器设备,仪器设备再根据图2所示的原理图进行处理与信息反馈。

3.1.3指令控制测试

以AV1487B型号信号源为例,输入地址“GPIB0::19::INSTR”,输入SCPI通用指令“*IDN?”(该指令是标识查询命令,返回信息为仪器制造厂家、型号、序列号及版本号。),在“仪器返回信息”文本框中显示“THE 41ST INSTITUTE,AV1487B,2007159,V2.51”,该结果与Keysight Command Expert软件中发送“*IDN?”得到的返回信息一致,如图6所示。

至此,对于单仪器的GPIB远程控制已经实现。若要进行其他控制,只需输入仪器支持的SCPI指令就可完成相关控制操作。

3.2多仪器控制实现

3.2.1多仪器的GPIB连接

为了实现对于多个GPIB设备同时进行远程控制,需将所有设备以串联方式连接到一根GPIB数据线上,如图7所示,这样做能节省GPIB传输线以及PC机USB接口资源。

3.2.2多仪器同时控制实现

将多个GPIB设备与PC机连接,在上位机中可以根据仪器对应的不同通讯地址区分设备。本文中以AV1487B型号的信号源和安捷伦54622A型号的示波器为例,获取仪器地址分别为“GPIB0::19::INSTR”、“GPIB0::14::INSTR”,分别输入仪器通讯地址,再分别发送“*IDN?”,测试结果显示返回信息分别为“THE 41ST INSTITUTE,AV1487B,2007159,V251”、“AGILENTTECHNOLOGIES,54622A,MY40004362,A.02.02”,仪器返回各自的产品信息,如图8所示,独立运行且互不干扰。由此说明通过上位机软件对于多仪器的远程控制成功实现。

4总结

本文实现了基于GPIB接口通讯的多仪器同步控制,可以实现通过上位机软件对支持GPIB通讯的安捷伦或同类型的多台设备同时进行远程控制。经过3个月试验检测发现,该上位机软件运行稳定可靠,相比于人工操控设备的传统方式在工作效率上有明显的提高,有利于推进实现仪器的自动化控制。不足之处在于,目前仪器的通讯地址是通过第三方软件获取,下一步还需在如何通过上位机软件自动识别并获取仪器的通讯地址这方面做进一步的研究。

参考文献

[1]罗光坤,张令弥等.基于GPIB接口的一起与计算机意见的通讯[J].仪器仪表学报,2006,(6):634638.

[2]刘天舒,金从军.基于VISA和SCPI的自动校准开发[J].现代防御技术,2013,(3):175179.

猜你喜欢

远程控制编程
编程,是一种态度
编程小能手
纺织机上诞生的编程
基于GSM的远程控制系统
宏程序编程的几种应用
数据库中VB编程的应用