自动测试系统实验指导书最新版.docx
《自动测试系统实验指导书最新版.docx》由会员分享,可在线阅读,更多相关《自动测试系统实验指导书最新版.docx(26页珍藏版)》请在冰豆网上搜索。
自动测试系统实验指导书最新版
《自动测试系统》
实验指导书
万春霆、殷贤华编
桂林电子科技大学
电子工程与自动化学院
2015年12月
实验一自动测试系统硬件构成
一、实验目的
掌握自动测试系统的构成,能够结合具体的测试对象(如滤波器幅频特性测试、放大器电压、电流、频率测试等),利用主控计算机、VXI机箱、VXIbus模块、GPIB接口仪器通过各种总线方式组建自动测试系统;掌握LAN/GPIB网关的应用方法,能够通过LAN/GPIB网关组建局域网测试系统,实现局域网各个客户端对测试系统的共享。
二、实验要求
1.熟悉组建自动测试系统的两种基本方式:
外置式计算机结构和内嵌式计算机结构;
2.熟悉组建自动测试系统的几种总线形式:
GPIB总线、IEEE1394总线、MXI总线,了解各种总线的性能和特点;
3.了解自动测试系统的扩展方法;
4.熟悉通过LAN/GPIB网关组建局域网测试系统的方法,了解LAN/GPIB网关的各种功能及参数设置;
5.了解试验中使用的GPIB接口仪器、VXIbus模块和VXI机箱的应用方法和性能;
6.有关《自动测试系统》理论教学和试验教学的详细资料可登录桂林电子科技大学校园网获得,通过主页,进入“教育在线”,然后在精品课程列表中点击“自动测试系统”,然后登录,即可浏览《自动测试系统》精品课程的所有网上教学资源。
三、实验仪器、设备
主控计算机
局域网交换机
LAN/GPIB网关E5810
GPIB接口仪器:
任意波形发生器33250A、数字示波器54622D、数据采集器34970A
VXIbusC尺寸机箱:
6槽机箱E1421B、13槽机箱E8403A
VXIbusC尺寸模块:
GPIB零槽控制器E1406A、IEEE1394零槽控制器E8491B、MXI零槽控制器VXI-MXI-2、数字万用表E1412A、任意波形发生器E1441A、通用计数器E1420B、数字I/OE1419A、64通道扫描A/DE1413C
IEEE1394接口卡及IEEE1394电缆
GPIB接口卡及GPIB电缆
MXI接口卡及MXI电缆
USB/GPIB转换器82357A
四、实验基本原理与功能
VXIbus系统是一种计算机控制的功能系统,一般由主控计算机、VXIbus机
箱和VXIbus模块组成。
采用外挂式主控计算机时,通过IEEE488总线、IEEE1394总线、MXI总线中的某种总线与VXIbus机箱相连,组建自动测试系统,或通过GPIB网关组建局域网自动测试系统。
组成VXIbus系统的基本逻辑单元称为“器件”,在VXIbus系统中,资源管理器和0槽服务提供了公共系统资源。
资源管理器是系统配置的管理者,也是系统正常工作的基础,0槽服务向系统提供公用资源。
五、试验任务:
1选择合适的仪器、模块和设备,组建GPIB总线自动测试系统,画出其结构简图;
2选择合适的仪器、模块和设备,组建IEEE1394总线自动测试系统,画出其结构简图;
3选择合适的仪器、模块和设备,组建局域网自动测试系统,画出其结构简图;
4选择合适的仪器、模块和设备,进行自动测试系统多机箱扩展,画出其结构简图;
5在IE的地址栏输入LAN/GPIB网关地址,登录到网关界面,熟悉网关的各种功能,通过基本SCPI命令的使用,初步了解各种仪器和模块
六、系统构成
1.GPIB总线系统构成
IEEE总线体系结构如下图。
该体系结构主要包括插入通用计算机的IEEE488接口卡,位于VXI主机箱零槽模块的IEEE488-VXI翻译器,IEEE488电缆及VXI仪器模块。
外置
计算机
IEEE488
接口
零槽
IEEE488
VXI
仪器
……
IEEE488电缆
VXI主机箱
2.基于LAN的系统构成
3.MXI总线体系结构
主要包括插入通用计算机的MXI接口卡,位于VXI主机箱的VXI-MXI模块、MXI电缆及VXI仪器模块。
MXI总线体系结构下图
4.IEEE1394总线体系结构
该系统主要包括插入通用计算机的IEEE1394接口卡,位于VXI主机箱的VXI-IEEE1394模块,IEEE1394电缆及VXI仪器模块。
IEEE1394也称为火线,是一种新的高速串行总线,在性能、灵活性及易于使用方面具有优势,因此被推广用作仪器接口。
计
算
机
1394
接口
卡
VXI-1394
VXI仪器
……
VXI-1394
VXI仪器
……
VXI-1394
VXI仪器
……
1#VXI主机箱
2#VXI主机箱
16#VXI主机箱
1394电缆
七实验二的预习任务
1、预习VISA.PDF文档中有关章节,了解VISA中的类型,和标准函数:
打开、关闭资源管理器/仪器的函数viOpenDefaultRM()、viOpen()、viClose(),VISAIO函数viPrintf()、viScanf()和viQueryf(),VISA中的加锁、解锁函数viLock()和viUnlock()。
viOpenDefaultRM(&def);打开资源管理器
viOpen(def,"GPIB0:
:
10:
:
INSTR",VI_NULL,VI_NULL,&funcgen);
打开地址为GPIB0:
:
10:
:
INSTR的仪器,并以变量funcgen访问;
viLock(funcgen,VI_EXCLUSIVE_LOCK,5000,VI_NULL,VI_NULL);
对仪器funcgen加锁5000毫秒
viOpen(def,"GPIB0:
:
7:
:
INSTR",VI_NULL,VI_NULL,&osci);
viPrintf(funcgen,"APPL:
SIN%d,2.0,-2.5\n",freq);
令仪器funcgen产生频率为freq的正弦波,幅度2.0v,偏移2.5v
viQueryf(osci,"MEASURE:
VPP?
CHANNEL1\n","%t",buf);
使仪器osci的1号通道测量幅值,并存储在buf中;
viScanf(DMM,"%t",&buf);读回仪器DMM测量的电压值并存入buf
viUnlock(funcgen);对仪器funcgen解锁
viClose(funcgen);关闭仪器funcgen
viClose(def);关闭资源管理器def
通过例子说明各个函数的使用:
#include"stdio.h"
#include"visa.h"
voidmain()
{
ViSessiondef,funcgen,funcgen1,osci;
charbuf[3072];
intfreq=100;
viOpenDefaultRM(&def);
viOpen(def,"GPIB0:
:
10:
:
INSTR",VI_NULL,VI_NULL,&funcgen);
viOpen(def,"GPIB0:
:
7:
:
INSTR",VI_NULL,VI_NULL,&osci);
viLock(funcgen,VI_EXCLUSIVE_LOCK,5000,VI_NULL,VI_NULL);
viLock(osci,VI_EXCLUSIVE_LOCK,5000,VI_NULL,VI_NULL);
for(intk=1;k<=20;k++)
{
viPrintf(funcgen,"APPL:
SIN%d,2.0,-2.5\n",freq);
viQueryf(osci,"MEASURE:
VPP?
CHANNEL1\n","%t",buf);
printf("whenfreqis%dhz:
theampis%s\n",freq,buf);
freq=freq+50;
}
viUnlock(funcgen);
viUnlock(osci);
viClose(osci);
viClose(funcgen);
viClose(def);
}
2.实验仪器的常用指令
(1).常用通用指令
*RST*IDN?
*CLS*TST?
SYST:
ERR?
(2).函数发生器一些常用命令
OUTPut:
LOAD50\n
SOURce:
APPLy:
SIN5000,2,2.5\n
常用波形:
NOIS(噪声)RAMP(锯齿波)SIN(正弦)SQU(方波)TRI(三角)USER(用户自定义)
APPL:
SIN产生一个正弦波
Freq5000设置波形频率5000
Volt5.0设置幅值5.0V
CAL:
COUN
FUNC:
SHAPSIN
FREQ5.0E+3
VOLT5.0
VOLT:
offs–2.5
FREQ:
STAR2E06
FREQ:
STOP1E07
SWE:
TIME5
SWE:
STARON
(3).示波器一些常用命令
“TIMEBASE:
RANGE5E-4”设置时间轴灵敏度
“TIMEBASE:
DELAY0”设置信号延时时间
“TIMEBASE:
REFERENCECENTER”以示波屏中心为参考点
“TIMEBASE:
REFERENCECENTER;DELAY0.00001”上面两条命令的结合
“CHANNEL1:
PROBE10”通道1探头衰减率10:
1
“TIMEBASE:
CHANNEL1:
COUPLINGDC”通道1直流耦合
“TIMEBASE:
CHANNEL1:
RANGE2”通道1时间轴灵敏度
“TIMEBASE:
CHANNEL1:
OFFSET-.4”通道1电压偏移-0.4V(在显示屏上向上移,刚好和任意波形发生器命令相反)
“CHANNEL1:
RANGE2;OFFSET0”设置通道1电压轴灵敏度,全屏2V,偏移0V
示波器测量电压:
measure:
vpp?
Channel1
示波器测量频率:
measure:
freq?
Channel1
设置示波器参数的指令由于不需返回值,故用viprintf(),若需要返回测量结果,则用viQueryf().
(4).万用表一些常用命令
viPrintf(DMM,”MEAS:
VOLT:
DC?
\n”)令万用表测量电压
viScanf(DMM,"%t",buf);将测量电压值存入buf字符数组
viQueryf(DMM,"MEAS:
VOLT:
DC?
\n","%t",buf);该句可代替上面两句
printf(“VOLTSVALUE:
%s\n",buf);
CONF:
VOLT:
DC18
TRIG:
SOUREXT
TRIG:
COUN3
SAMP:
COUN10
READ?
启动测量
CALC:
AVER:
AVER?
CALC:
AVER:
MAX?
(MIN?
)
3.预习各个仪器的编程指南,了解各个仪器、模块的常用功能所对应的指令,熟悉指令的含义和格式。
实验二基于VISA资源共享机制的自动测试软件设计
一、实验目的
掌握AgilentIO接口软件的设置和应用;掌握各个GPIB接口仪器和VXIbus模块的常用测试命令;掌握几种常用的自动测试系统软件开发工具,如VisualC++、VisualBasic或LabWindows/CVI、HPVEE、LabView等,尤其是VisualC++和图形化编程工具LabView,;掌握基于VISA的软件开发技术,能够根据测试要求开发简单的测试程序。
二、实验要求
1.熟悉AgilentIO接口软件,包括IOConfig的配置和VISAAssistant的使用,了解AgilentIO接口软件和用户开发的测试程序之间的关系;
2.熟悉各个仪器、模块常用测试命令及格式,熟悉基本SCPI命令的应用;
3.熟悉基于VISA的软件开发技术,如变量定义、VISAIO函数等;
4.了解VISA中的加锁、解锁机制;
5.熟悉常用软件开发工具VisualC++及其特点;
6.了解图形化软件开发工具LabView及其特点;
7.能够结合一定的测试对象,开发基于VISA的测试程序。
三、实验仪器、设备
主控计算机
局域网交换机
LAN/GPIB网关E5810
GPIB接口仪器:
任意波形发生器33250A、数字示波器54622D
VXIbusC尺寸机箱E1421B或E8403A
VXIbusC尺寸模块:
GPIB零槽控制器E1406A、数字万用表E1412A、任意波形发生器E1441A
GPIB电缆
四、实验基本原理与功能
软件在自动测试系统中占有很重要的位置。
自动测试系统应用程序开发环境可以选择传统文本语言环境VisualC++、VisualBasic或LabWindows/CVI等,也可以选择图形化的软件开发环境,如HPVEE、LabView等。
LabView是一种带有扩展库函数的通用程序开发系统,其库函数包括数据采集、GPIB仪器和串口仪器控制、数据显示、数据分析和数据存储等,基本上能满足复杂的工程计算和分析要求。
在本实验中,我们用VisualC++作为自动测试系统的软件开发工具,对GPIB、VXI仪器进行操作、控制。
五、实验任务
1.根据LAN/GPIB网关地址,对客户端计算机IP地址进行配置,运行AgilentIO接口软件中的IOConfig,根据组建的自动测试系统的总线方式对其进行相应的配置;
2.运行VISAAssistant,获取自动测试系统中各个仪器、模块的地址,对各个SCPI指令进行操作,记录指令运行结果;
3.运行VISAAssistant,将33250A、54622D、E1412A、E1441A等仪器、模块的常用测试命令输入VISAIO对话框,选择相应的函数viPrintf、viScanf或viQueryf进行操作,验证各个仪器指令功能和应用格式;
4.利用VISA中打开、关闭资源管理器/仪器的函数viOpenDefaultRM()、viOpen()、viClose(),VISAIO函数viPrintf()、viScanf()和viQueryf(),VISA中的加锁、解锁函数viLock()和viUnlock(),开发简单的测试程序,记录程序执行结果;
5.利用图形化编程语言LabView,开发任意波形发生器33250A或E1441A、数字万用表E1412A、数字示波器54622D等仪器、模块的应用程序。
(选做)
六、软件设计有关问题
1.仪器地址获取
在实验中,可以利用VISAAssistant获取仪器地址,获得地址后,需要查看该地址上是何种仪器,才能对其进行相应操作。
2.了解各种滤波器的特性、参数和幅频特性曲线,制作某型滤波器电路,有源、无源均可。
以便实验中使用。
3.变量类型及定义:
ViSessionfuncgen,defRM,vi;
ViStringbuf[20];
ViStatuserr;
Charbuf[512]={0};
4.软件开发注意仪事项
设你建立的工程路径为:
F:
\自动测试系统\00082101
搜索到文件visa32.lib并拷贝到F:
\自动测试系统\00082101下
在VC++6.0开发环境下“project\settings\link(工程/设置/LINK)”下的object/librarymodule对话框的开始添加文件:
visa32.lib,用空格和其它动态联接库文件分开
搜索到文件visa.h和visatype.h并拷贝到F:
\自动测试系统\00082101下
实验中,可以先尝试编写简单的测试程序,如发命令给函数发生器,然后利用示波器活完万用表测试其幅值或频率,当程序正确后,再进一步开发相对复杂的程序。
七、给出各个仪器常用的指令,并进行解释。
实验三虚拟仪器软面板设计
(一)
一、实验目的
利用高级语言软件开发工具VisualC++,开发基于GUI的虚拟仪器软面板,包括任意波形发生器、数字示波器、数字多用表、计数器等,通过软面板实现对这些仪器的远程控制。
二、实验要求
a)熟悉AgilentIO接口软件,包括IOConfig的配置和VISAAssistant的使用,了解AgilentIO接口软件和用户开发的测试程序之间的关系;
b)熟悉各个仪器、模块常用测试命令及格式,熟悉基本SCPI命令的应用;
c)掌握MFC基于GUI的程序开发方法,掌握动态链接库的调用方法。
三、实验仪器设备
主控计算机
局域网交换机
LAN/GPIB网关E5810
GPIB接口仪器:
任意波形发生器33250A、数字示波器54622D
VXIbusC尺寸模块:
GPIB零槽控制器E1406A、数字万用表E1412A、任意波形发生器E1441A
GPIB电缆
四、实验基本原理与功能
VisualC++作为一种通用的文本语言编程环境,添加VISA接口函数就可以对仪器进行控制,这需要调用动态链接库visa32.dll的VISA函数(注意要用agvisa32.lib,visa.h)。
在本实验中,选用VisualC++作为测控软件和测控仪器开发工具,对GPIB或VXI仪器进行操作、控制。
微软基础类库(英语:
MicrosoftFoundationClasses,简称MFC)是一个微软公司提供的类库(classlibraries),以C++类的形式封装了WindowsAPI,并且包含一个应用程序框架,以减少应用程序开发人员的工作量。
其中包含的类包含大量Windows句柄封装类和很多Windows的内建控件和组件的封装类。
图形用户界面(GraphicalUserInterface,简称GUI,又称图形用户接口)是指采用图形方式显示的计算机操作用户界面。
五、实验任务与内容
1、根据LAN/GPIB网关地址,对客户端计算机IP地址进行配置,运行AgilentIO接口软件中的IOConfig,根据组建的自动测试系统的总线方式对其进行相应的配置;
2、运行VISAAssistant,获取自动测试系统中各个仪器、模块的地址,对各个SCPI指令进行操作,记录指令运行结果;
3、利用图形化编程语言VisualC++,开发基于GUI的虚拟仪器软面板,开发任意波形发生器33250A或E1441A、数字万用表E1412A、数字示波器54622D等仪器、模块的应用程序。
4、编写一个VisualC++控制仪器的程序。
PC机通过LAN/GPIB网关E5810访问远程设备,通过IEEE-488.2命令或SCPI命令控制函数发生器(或示波器、或万用表)。
可以动态调节输入参数采集函数发生器输出的信号(可通过示波器),通过MeasurementStudio控件显示波形在界面上。
六、实验步骤
1、启动MicrosoftVisualC++Version6.0开发环境,点击File菜单创建一个空的MFCAppWizard工程。
2、选择菜单Project->Settings,点击Link标签,将agvisa32.lib添加到Object/LibraryModules框中。
3、选择菜单Tools->Options,点击Directories标签:
•从Showdirectoriesfor下拉框中选择IncludeFiles,点击列表框的最下面,输入或选择路径C:
\VXIPNP\WINNT\AGVISA\INCLUDE(有可能在C:
\ProgramFiles\VISA\WINNT\AGVISA\INCLUDE,取决于安装路径)
•从Showdirectoriesfor下拉框中选择LibraryFiles,点击列表狂的最下面,输入或选择路径C:
\VXIPNP\WINNT\AGVISA\LIB\MSC有可能在C:
\ProgramFiles\VISA\WINNT\AGVISA\LIB\MS,取决于安装路径)
4.设计界面
5.通过ClassWizard添加变量
6.双击“输出”按键,添加按钮事件,在按钮事件中,输入程序。
实验四基于虚拟仪器的电子电路测试仿真实验
一、实验目的
利用课题组设计的电子电路虚拟仪器仿真实验平台,对几种典型的电子电路进行测试仿真实验,以熟悉这些电路的工作原理、特点和参数。
同时通过本实验平台了解基于LabVIEW的虚拟仪器特点和设计方法,能够利用LabVIEW开发简单的虚拟仪器软面板和测试软件。
二、实验要求
a)熟悉LabVIEW图形化编程环境,了解LabVIEW调用控件的编程方法。
b)熟悉使用LabView图形编程语言进行GUI程序设计。
c)掌握使用LabVIEW完成基础电子电路实验仿真。
三、实验基本原理与功能
LabVIEW是一种图形化的编程开发环境,广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
图形化的程序语言,又称为“G”语言。
使用这种语言编程时,基本上不写程序代码,取而代之的是流程图或流程图。
所有的LabVIEW应用程序,即虚拟仪器(VI),它包括前面板(frontpanel)、框图(blockdiagram)以及图标/连结器(icon/connector)三部分。
前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制对象(control)和显示对象流程图提供VI的图形化源程序。
在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。
流程图中包括前面板上的控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。
VI具有层次化和结构化的特征。
一个VI可以作为子程序,这里称为子VI(subVI),被其他VI调用。
图标与连接器在这里相当于图形化的参数。
四、实验任务与内容
1、安装LabVIEW图形化编程环境LabVIEW2013。
2、在LabVIEW编程环境下完成基本运算放大电路的仿真。
基本运算放大电路包括加法电路、减法电路、积分电路。
它们分别完成了加法运算、减法运算、积分运算。
学生可以自由选择完成三种电路中的一种完成基本运算放大电路的仿真。
下图为加法电路的仿真示例,通过改变输入电压和电路中的电阻值验证加法电路的功能是不是如公式所示。
3、在LabVIEW编程环境下完成RLC串联谐振电路的仿真实验,对于任何含有电感和电容的一端口网络,在一定条件下端口呈现电阻性,即其端口电压与电流同相位,则称此一段口网络发生谐振。
这里我们只关注在改变电阻R的情况下,整个电路的Q值的变化。
电路中L,C,Us已知,改变电阻的大小,即可看到Q值的变化,Q值是谐振回路的品质因数,是一个仅与电路参数有关而与频率无关的量。
Q值越大,电路的选择性越好。
实验五虚拟仪器软面板设计
(二)
一、实验目的
利用图形化软件开发工具LabVIEW,开发基于GUI的虚拟仪器软面板,包括任意波形发生器、数字示波器、数字多用表、计