//这里对万用表的输入输出以及采样进行设置,而这些参数的值是通过用户界面中的//控件进行传递的
viPrintf(/*multimeter*/theApp.m_Session,"SAMPLE:COUNT%s\n",m_nStr_Sample);
viPrintf(/*multimeter*/theApp.m_Session,"INPUT:IMPEDANCE:AUTO %s\n",m_nStr_Input);
viPrintf(/*multimeter*/theApp.m_Session,"OUTPUT:%s\n",m_nStr_Output);
//触发器设置按钮的点击-这里是一个大的循环,对用户是否对触发器进行了设置操作//通过变量m_btrigger进行判断
if(m_btrigger==1)
{viPrintf(/*multimeter*/theApp.m_Session,"TRIG:SOURCE %s\n",SetParam.m_nTrigger_Source);
viPrintf(/*multimeter*/theApp.m_Session,"TRIG:COUNT %s\n",SetParam.m_nTrigger_Count);
viPrintf(/*multimeter*/theApp.m_Session,"TRIG:DELAY %s\n",SetParam.m_nTrigger_Delay);//这里要对延时做处理判断
//*******************参数是否已经被选择的判断2005/5/22*********************
int m_nID;
m_nID=GetCheckedRadioButton(IDC_RADIO_VOLTAGE,IDC_RADIO_PERIOD);
if(m_nID==0)
{ MessageBox("请先选择测量参数!","提示信息",MB_OK);
return;}
switch(m_nID)//通过这个switch语句对用户选择的测量参数的判断
{case IDC_RADIO_VOLTAGE://电压测量
viPrintf(/*multimeter*/theApp.m_Session,"CONF:VOLT:%s %s,%s\n",SetParam.m_nParam_Type,SetParam.m_nParam_Range,SetParam.m_nParam_Resolution);
if("DC"==SetParam.m_nParam_Type) {viPrintf(/*multimeter*/theApp.m_Session,"VOLT:DC:%s\n",SetParam.m_nParam_Aper); viPrintf(/*multimeter*/theApp.m_Session,"VOLT:DC:%s\n",SetParam.m_nParam_NPLC);} break; ………………
//通过如下的SCPI命令启动测量
viPrintf(/*multimeter*/theApp.m_Session,"INIT;FETC?\n");
//通过函数viScanf()来读取读取数据,并通过一个弹出式信息框对测量结果进行显示
char buff[100];
viScanf(/*multimeter*/theApp.m_Session,"%s",buff);
CString temp;
temp.Format("Result is %s",buff);
MessageBox(temp,"测量结果显示",MB_OK);
在万用表的设计和编程过程中,由于有了函数信号发生器以及示波器的经验,所以工作进度就相对来的快一些,关键的的问题还在于程序的调试上。
测试系统的测试举例
6.1 利用函数信号发生器调频波和调制波的实现
首先,运行主程序如下:
如左图所示,通过单击查找资源按钮来搜索仪器
并通过一个列表控件将有效的资源列于表中,通
过双击列表框中的资源地址来激活建立会话按钮
从而允许用户建立会话(会话建立成功与否会提
示用户相关的信息)。在三个模块的按钮的处理函
数中,对地址进行有效的判断,从而无需用户来
记忆仪器的地址,即使单击错误也没有什么关
图6-1 系,重新进行建立即可。
因为是调频波,所以需要对载波和调制信号进行设置,这里只给出了设置窗口的一部分:
图6-2
可以发现,基本参数中的占空比是被屏蔽掉的,因为占空比指对方波有效,所以为了避免用户的误操作,进行了屏蔽处理,方便了用户。参数设置之后,单击执行按钮,就可以看到函数信号发生器按照用户的设置进行了调频波形的产生。通过自己的示波器软件对波形进行读取操作,得到如下的波形图 :
图6-3
以上是调频波的实现过程。下面是调幅波的实现:
图6-4
调幅波的实现过程如图所示,和调频波类似,其结果如下图:
图6-5
函数信号发生器可以实现基本的功能,不过在某些细节方面也存在一定的问题,如上面的各种参数的设置,并没有对用户输入的数据进行相应的判断(范围大小、数字或字符等)以及对参数单位
首页 上一页 9 10 11 12 13 14 下一页 尾页 12/14/14
免费资料文档--基于网络的虚拟仪器测试系统(十二)由毕业论文网(www.huoyuandh.com)会员上传。