基于GPIB总线的测控系统开发

2010-07-10 07:01唐曦文崔希振
制造业自动化 2010年6期
关键词:扫频测控指令

唐曦文,崔希振

(1.同济大学 电子与信息工程学院,上海 200092;2.上海飞机设计研究所,上海 200436)

0 引言

在飞机飞控系统地面模拟试验中,发现传统的试验仪器(如动态信号分析仪、示波器等)存在操作繁琐、数据存储不便等诸多弊病,影响试验人员的工作效率;同时由于传统的试验仪器数据存储限制(只能存储在软盘或无法存储数据),导致试验数据无法及时进行相关的数据处理,影响试验进程。而在一个试验项目中,往往需要多台不同类型的仪器协同工作,这些仪器功能各异、相互独立,要使多种仪器协同工作,一般串、并口难以满足此要求。而GPIB (Generate Purpose Interface Bus,通用接口总线)可把各种可编程仪器与计算机紧密地联系起来[1]。

传统的试验仪器一般都具有GPIB总线接口,能够进行二次开发。GPIB总线具有以下优点:1)GPIB接口编程方便,可使用高级语言编程,能够明显减轻软件设计负担;2)提高了仪器设备的性能指标,通过上位机对带有GPIB接口的仪器实现操作和控制,从而提高了测量精度;3)便于将多台带有GPIB接口的仪器组合起来,形成较大的测控系统,高效、灵活地完成各种不同的测控任务,而且组建和拆散灵活,使用方便;4)便于扩展传统仪器的功能,可在上位机的控制下对测控数据进行更加灵活、方便的传输、处理、综合、利用和显示,使原来仪器采用硬件逻辑很难解决或无法解决的问题迎刃而解。

1 测控系统的硬件平台

典型GPIB测控系统由PC、GPIB接口卡和若干台(最多15台)GPIB仪器通过标准GPIB电缆连接而成。本文描述的测控系统主要由Agilent公司生成的35670A(动态信号分析仪)、82357A(GPIB/USB)转换线及上位机组成,在后续使用中可通过扩展上位机的USB接口扩展其它的测控仪器。如图1所示:

图1 测控系统硬件架构图

2 LabWindows/CVI环境下的软件开发

2.1 35670A仪器的二次开发基础

Agilent公司将35670A面板上的所有键盘功能都以指令的形式向用户开放,并根据指令的功能不同分成不同的指令模块组,用户可以根据二次开发的需要进行指令模块选择,在进行二次开发时常用的指令模块如图2所示:

在对35670A进行频响功能开发时,主要利用图2中各信号指令模块,实现了对仪器信号的参数设置、试验信号的发送和接收、数据存储等仪器控制功能[4]。

图2 35670A开放模块示意图

1)参数设置

参数设置中使用了图2中的系统指令模块、输入通道指令模块、信号源控制指令模块、显示指令模块等。这些模块提供了可供用户自定义的各种标准信号和可编程信号,包括正弦、三角波、方波、扫频等信号模式,和35670A相关的系统控制。例如通过指令"SENS:FREQ:STAR 0.1 Hz "来设置信号的起始频率,通过指令"SENS:FREQ:STOP 10 Hz "来设置信号的截止频率等等。

2)试验信号的发送、接收

由于在试验过程中,仪器不断地产生新数据,那么就要求软件实时地去访问仪器的寄存器并且查看其状态。该部分主要使用了图2中的寄存器状态控制指令模块、计算指令模块等。如可以利用"stat:device? "语句来查询35670A的寄存器中是否已经采集到数据。

3)数据存储

所有产生的试验数据都存放在寄存器中,当软件访问完寄存器后可以利用计算指令模块和数据类型定义模块来实现保存功能。例如,使用"CALC1:X:DATA? ",获得35670A的频率值并保存等。

2.2 LabWindows/CVI环境下的VISA库接口

为了实现PC(上位机)对仪器的控制,必须在编写代码时调用Agilent公司向用户开放的程序接口。这些接口符合VISA标准的函数集。VISA(Virtual Instrumentation Software Architecture,虚拟仪器软件结构)是VPP系统联盟制定的I/O接口软件标准及其相关规范的总称。VISA的目的是提供统一的设备资源管理、操作和使用机制,以帮助用户简化仪器I/O编程。VISA库是实现计算机与仪器之间控制与数据传输的桥梁和纽带。

2.3 测控软件主要功能

根据需求分析,该系统主要具备如下功能,如图3所示:

1)仪器控制管理功能。仪器的控制管理包括仪器检测,仪器连接、断开等。

2)信号的控制功能。信号控制包括信号类型选择、信号参数设置、信号的启动和停止等。

3)数据的管理功能。数据的管理包括数据的接收和存储、数据的分析、历史数据的管理和调用等。

4)辅助功能。辅助功能包括显示控制、数据图像预览和打印功能等。

图3 系统功能框图

2.4 测控软件的实现

本文在LabWindows/CVI环境下编写测控系统控制软件。通过安装Agilent IO Libraries Suite14.2软件,建立支持在C/C++编程环境下的VISA库函数。编写程序时,在主程序中加入 <visa.h> 的头文件声明即可调用Agilent IO Libraries Suite14.2中支持的所有VISA库函数。然后再调用上文模块中的各指令模块,结合VISA库函数一起使用来实现对仪器的控制[2,3]。例如要通过控制软件实现仪器对数扫频模式的设置可以使用viPrintf (vi,"SENS:SWE: SPAC LOG ")函数。viPrintf即是一个典型的VISA函数,VISA函数都是以vi命名开头,函数中的参数"SENS:SWE:SPAC LOG "便是设置仪器对数扫频模式的指令。

按照图3的系统功能框图设计的系统软件流程图如图4所示:

以35670A的频响分析功能为例,其人机界面如图5、图6所示,图5为对35670A进行扫频参数设置及开始试验界面,通过此界面一次就可以完成频响试验所需的全部设置;图6为完成试验后的数据显示界面,可以通过该功能快速查看各次试验的试验数据。

图4 测控系统软件流程图

图5 35670A配置界面

3 测控系统试验原理及应用

测控系统完成后进行了试验应用,以飞机频响试验为例,其试验原理图如图7所示。35670A通过GPIB电缆和PC(上位机)相连,PC通过GPIB给35670A发出控制信号。仪器根据PC发出的指令给主控制单元发出扫频信号,主控制单元根据扫频信号驱动舵面。此时,舵面运动带动安装在舵面上的传感器输出电压信号。电压信号再反馈给35670A,35670A根据该信号和和本身发出的扫频信号计算出幅频和相频的数据,再通过GPIB电缆传回给PC。最后,控制软件将这些数据显示、保存和管理。

图6 数据显示界面

图7 35670A测控系统原理框图

4 结论

本文开发了基于GPIB总线的测控系统,解决了使用传统仪器的存在问题。在试验过程中,该测控系统人机对话界面友好,操作简单,极大的减轻了试验人员的工作负担;同时,在保存和处理试验数据方面充分显示了该测控系统的优势,极大的提高了工作效率;并且广泛应用于飞机飞控系统地面模拟试验及机上地面试验。

[1] 史君成,张淑伟,律淑珍.LabWindows虚拟仪器设计.北京:国防工业出版社,2007.

[2] 王建新,杨世风,等.LabWindows/CVI测控技术及工程应用.北京:化学工业出版社,2006.

[3] 谭浩强.C程序设计(第二版).北京:清华大学出版社, 1999.

[4] Agilent动态信号分析仪开发说明书.

猜你喜欢
扫频测控指令
电力通信在5G网络使用700M频段的注意事项
昆山祺迈测控设备有限公司
正弦扫频速率对结构响应的影响分析
《单一形状固定循环指令G90车外圆仿真》教案设计
带电等效阻抗扫频测试的互感器绕组及外绝缘隐患快速识别新技术的应用研究
一种线性扫频干扰信号的参数估计方法
基于现代测控技术及其应用分析
虚拟仪器技术在农业装备测控中的应用
向着新航程进发——远望7号测控船首航记录
中断与跳转操作对指令串的影响