首页
|
自动化毕业论文
|
电子机电毕业论文
|
电子通信论文
|
电气工程论文
|
电子信息工程
|
电气工程原创论文
|
电气工程免费论文
|
全站搜索
原创毕业论文 →
电气工程专业原创毕业论文
现成毕业论文范文 →
电气工程专业毕业论文范文
当前位置:
电气工程论文网
->
电子通信免费论文
-> 免费毕业论文--基于网络的虚拟仪器测试系统(十)
免费毕业论文--基于网络的虚拟仪器测试系统(十)
本文ID:LW5783
免费毕业论文--基于网络的虚拟仪器测试系统(十)
<header><waveform data block><nl>
举个例子:<header>=#800002048 ”#8”会从头部去掉,而留下数值部分,表示波形数据块的字节的个数。该参数是会变的(根据指令:waveform:points来设置数据点的采样的个数)。从示波器中读取数据直至读回结束符为止。下面给出了读取引导数据和波形数据的部分代码:
ViStatus error;
viPrintf(/*oscillograph*/m_Session,":ACQ:COMPLETE 100\n");
viPrintf(/*oscillograph*/m_Session,":wave:points 2000\n");
viPrintf(/*oscillograph*/m_Session,":DIGITIZE %s\n",osciset.m_Channel);
//************************************preamble的采集***************************************
viPrintf(/*oscillograph*/m_Session,":waveform:preamble?\n"); error=viScanf(/*oscillograph*/m_Session,"%f,%f,%f,%f,%f,%f,%f,%f,%f,%f\n",&preamble[0],&preamble[1],&preamble[2],&preamble[3],&preamble[4],&preamble[5],&preamble[6],&preamble[7],&preamble[8],&preamble[9]);
if(error!=VI_SUCCESS)
{error_handler(/*oscillograph*/m_Session,error);return;}
//************************************数据点的采集部分**************************************
//利用字符转换符和viScanf函数来进行读取数据并定义一个无符号的字符数组来对读//取的数据进行存储--随后进行数据
//**************************************的转换和数据的处理---2005/5/17
viPrintf(/*oscillograph*/m_Session,":waveform:data?\n");
unsigned char temp[2000];
for(int i=0;i<2000;i++)
{ error=viScanf(/*oscillograph*/m_Session,"%c",&temp[i]);
if(error!=VI_SUCCESS)
{error_handler(/*oscillograph*/m_Session,error); return;}
}
//*****************************************数据的转换*****************************************
int j=0;
for(i=18;i<2000;i+=20,j++)
{ temp[j]=(int)temp[i];
n++;//数据的个数 }
数据采集这一块我花了不少的时间,不断的对指令进行测试,但是以为只要通过:waveform:data?指令然后进行读取就OK了!!然而,查看资料才晓得示波器采集回来的数据是想前面所示的那样,有头部数据以及二进制数据块,这就把我给难住了!二进制数据该怎么读呢??从安捷伦网站上下载下来的资料中虽然提供了怎样进行波形数据的读取的方法,但它并没有给出在VISA情况下的数据的读取的方法。但是它也给了我一定的提示:头部给出了数据块的字节的个数,既然是字节,也就是一个字符。那么这样的话就可以读取数据了。然后经过我的测试,一切OK!我好高兴~~~~~
读回数据之后,就是数据的显示问题。至于这个我采用了别人给我的一个类,通过该类我可以比较轻松的进行数据的显示工作。我只要将读回的波形数据进行处理,并将数据传递给给类的一个数组就可以了!!
//*****************************************数据的转换*****************************************
int j=0;
for(i=18;i<2000;i+=20,j++)
{ temp[j]=(int)temp[i];
n++;//数据的个数 }
//*****************************************数据存储*******************************************
for(int k=0;k<n;k++)
{ m_Static.wave_data[k]=(((float)temp[k]-preamble[9])*preamble[7]+preamble[8])*m_Y;//这里使用Y
} Invalidate();//这个用于屏幕画面的刷新
两大问题的解决,示波器也就基本上可以告一个段落了!!其他的功能的实现相对来说要容易的些!
下面是示波器显示窗口部分初始化代码:
//*******下面是另外一种方法---更方便控制示波器的显示的尺度,也就是在对话框模板上//添加一个静态控件,并调节它的尺度到你需要的范围,并最好是更改一下它的ID,然//后通过下列语句来进行创建显示
CRect m_nRect;
CStatic* pStatic=(CStatic*)GetDlgItem(IDC_STATIC_SHOW);
pStatic->GetClientRect(
首页
上一页
7
8
9
10
11
12
13
下一页
尾页
10
/14/14
WORD格式全文下载链接
(充值:元)
免费毕业论文--基于网络的虚拟仪器测试系统(十)
......
本论文《
免费毕业论文--基于网络的虚拟仪器测试系统(十)
》在
电子通信免费论文
栏目,由
电气工程论文网
整理,转载请注明来源 www.dqlunwen.top 更多论文,请点
电气工程论文
查看
上一篇
:
免费毕业论文--接入网网管解决方案
下一篇
:
免费毕业论文--ATM综合接入系统
点击查看关于
免费
毕业论文
基于
网络
虚拟
仪器
测试系统
的相关论文题目
2010-03-19 10:38:38【
返回顶部
】
相关栏目
光机电应用技术
机电一体化
应用电子技术
电子信息工程技术
自动化免费论文
自动化专业毕业论文
电子专业免费论文
电子机电毕业论文
电气工程免费论文
测控技术与仪器
电气工程原创论文
电子通信论文
电气自动化开题
电子机电开题报告
电子通信免费论文
PLC相关外文翻译
电子机电信息外文翻译
电子通信外文翻译
联系方式
电子信息工程论文下载
电气工程论文下载