完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
用C语言或者C++可以做虚拟示波器吗?或者用别的什么软件可以实现,labview?现场的信号经接入一个INSTRUSTAR,然后通过USB口连到电脑,从电脑上显示出来。实际上只是想多实现一两个功能,求大神解答啊!!
|
|
相关推荐
3个回答
|
|
虚拟数字示波器的结构与组成
---虚拟数字示波器由一块PXI总线的多功能数据采集卡和相应的软件组成。将它们安装在一台运行Windows的PC上,即构成一个功能强大的可存储数字示波器。数字示波器的前面板如图1所示。 ● 数据采集卡 ---设计中所采用的是NI公司生产的多功能数据采集卡PXI-6670E,其主要功能如下: ---64路单端/32路差分模拟输入;12位精度;1.25MSPS采样速度;1.25MSPS磁盘写入速度;±0.05~±10V输入范围;两路12位模拟输出;8条数字I/O线;两路24位计数器/定时器。 ● 仪器功能。 ---本例虚拟数字示波器具有实时数据采集、频谱分析、加窗处理和滤波等功能。在虚拟数字示波器主面板上有数据采集、频谱分析、加窗处理、滤波功能等功能键,按相应的功能键就可进入相应的子面板。 软件的设计与实现 ● 软件开发环境。 ---虚拟数字示波器软件设计采用了基于C语言的编程环境LabWindows/CVI。LabWindows/CVI支持数值型、布尔型、文本型和串等数据类型,而且最大优点是能够通过对话框形式的交互式操作生成标准C程序代码。另外LabWindows/CVI提供了非常丰富的调试工具,包括单步执行、断点、变量查看、监视窗口等,这些功能使程序的调试变 得更为容易。 ● 主要功能模块。 ---虚拟数字示波器主要由软件控制完成信号的采集和显示处理,功能结构框图如图2所示。 ---在数据采集面板中主要完成以下功能:设置通道、设置采样频率、设置产生方式、显示波形等,其软面板如图3所示。 ---在数据采集面板中主要完成以下功能:对实时采集的信号和自行产生的信号进行频谱分析,查看谱线等功能,其软面板如图4所示。 ---加窗处理面板对实时采集的信号和自行产生的信号加窗处理(包括海明窗、汉明窗、平滑窗和布拉克曼窗等),其软面板如图5所示。 ---在滤波处理面板中包括以下功能:对实时采集的信号和自行产生的信号进行滤波处理(包括单步滤波法、多步滤波法和传统方法等),其软面板如图6所示。 ● 源程序文件的生成。 ---当完成面板各个控件的设置后,就可以产生程序的代码函数了。具体方法为:把已完成的面板定为当前响应状态,在[Code]菜单中,选中[Generate]中的[All Code],在弹出的对话框中选定函数主面板和退出函数,就能产生与用户接口文件相对应的框架代码函数。 ● 添加程序代码。 ---上一步自动生成的是控件对应的函数的框架,要使控件完成一定的功能,必须添加程序代码来控制控件。其中main()函数是程序的入口,它的功能是初始化程序,装载用户面板并显示,如要完成其他功能须添加代码。以下这段代码实现数据采集功能,程序通过调用数据采集按钮的回调函数SHOU进行外部采集。 int CVICALLBACK SHOW(int panel,int control,int event,void *callbackData,int eventData1,int eventData2) { int NumChan;/*定义所用通道*/ double ActScanRate;/*定义采样速率*/ switch (event) { case EVENT_COMMIT: nidaqAICreateTask(“daq::1!(0)”, kNidaqWaveformCapture, &NumChan,&AiTask);/*创建采样任务*/ nidaqAIConfigScanClockRate(AiTask,400000,&ActScanRate); /*设置采样速率*/ nidaqAIConfigBuffer(AiTask,1000,kNidaqFinite);/*设置采样数据缓冲区*/ nidaqAIStart(AiTask);/*启动采样*/ nidaqAIRead(AiTask,“daq::1!(0)”,1000,-1.0,wave);/*读取采样数据*/ nidaqAIStop(AiTask);/*结束采样*/ DeleteGraphPlot(EEpanel,EEPANEL_WAVEGRAPH, -1,VAL_IMMEDIATE_DRA);/*删除显示的波形*/ PlotY(EEpanel, EEPANEL_WAVEGRAPH, wave, 1000, VAL_DOUBLE, VAL_THIN_LINE, VAL_EMPTY_SQUARE, VAL_SOLID, 1, VAL_YELLOW); /*显示波形*/ break; } return 0; } ---限于篇幅,其他功能模块的实现这里就不一一介绍了。 ● 保存项目文件,然后编译运行。 结论 ---本文设计的虚拟数字示波器不仅具有一般台式数字存储器的功能,而且充分发挥了微机强大的功能和软件设计的灵活性,而且此虚拟数字示波器的设计包含了基于多功能DAQ卡的虚拟仪器设计的基本思路和方法,用户可以参照这种方法来设计其他虚拟仪器。 评分
|
||
|
||
这个问题怎么解决
|
|
|
|
我只知道labview可以做,接上硬件USB采集卡,或者单片机和转换卡。
|
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
用udl里的字符串信息在局域网内其他电脑连接sql数据库为什么为出现连接失败拒绝访问?
1675 浏览 2 评论
为什么同一个队列引用的全局变量,运行在两个子vi中发现队列数据丢失了
1274 浏览 0 评论
1486 浏览 0 评论
关于labview2024版本的lvanlys.dll出错的问题
2825 浏览 2 评论
1420 浏览 2 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 06:03 , Processed in 0.556305 second(s), Total 87, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号