多路信号发生器 和 双通道虚拟示波器设计 1.docx
《多路信号发生器 和 双通道虚拟示波器设计 1.docx》由会员分享,可在线阅读,更多相关《多路信号发生器 和 双通道虚拟示波器设计 1.docx(14页珍藏版)》请在冰豆网上搜索。
多路信号发生器和双通道虚拟示波器设计1
内蒙古科技大学
虚拟仪器课程设计说明书
一、多路信号发生器
1.设计题目:
多路信号发生器
2设计目的:
了解、熟悉并掌握虚拟仪器的相关知识;完成所要求的实验内容。
3.设计要求:
①可以输出任意一种以下的信号:
正弦波信号、方波信号、锯齿波信号或三角波信号,且可输出双路信号。
②信号频率、幅值、占空比、相位和偏移量可调。
4.设计思路:
采用“信号处理-波形生成-基本函数发生器”做信号源,用相应的数值输入控件控制以上信号的参数,编辑相应程序将其用波形图显示,同时将信号用DAQ输出到数据板卡,板卡就会将输入到当中的信号从相应的端口输出。
5.设计实现过程
(1)建立DAQ信号输出通道的建立与配置
依次将DAQmxCreateVirtualChannel.vi、DAQmxTiming.vi、DAQmxWrite.vi、DAQmxStartTask.vi、DAQmxStopTask.vi、DAQmxClearTask.vi等所需vi放置到程序框图中,并连接成如图样式。
并将参数配置成配置成图中的形式。
由于需要实现连续波形输出,还要实现采样率实时可调,因此还需要用到DAQmxWrite和DAQmxTiming的属性节点。
要连续输出信号,就需要不断的向板卡中输出波形数据,因而将DAQmxWrite.vi和DAQmxStartTask.vi放在while循环中。
又因为DAQmxStartTask.vi只需要执行一次,所以把DAQmxStartTask.vi放在条件结构中,并判断while循环是否第一次执行,从而决定是否运行DAQmxStartTask.vi。
至此,信号输出通道建立完成。
(2)建立信号源
由于是双通道信号发生器,因而需要两个基本函数发生器。
再用“Express-信号操作-合并信号”将产生的信号合并到一起,用于输出给DAQmxWrite.vi和用来给波形图显示信号的形状。
再在所需要调节的参数上分别创建输入控件,本设计需要用到的调节端子有:
信号类型、信号频率、幅值、占空比、相位和偏移量。
由于相位调节要求“重置信号”端子输入必须为“真”,因此需要在此端子上连接一个为真的布尔常量,这样才能够调节相位值。
将两路信号合并,既可以用“Express-信号操作-合并信号”,也可以用“编程-簇,类与变体”中的“捆绑”将两个信号捆绑到一起,再用“簇至数组转换”将其转换后输出。
设计中,两种方法都有采用,并将一路用于波形图显示,一路用于DAQmxWrite.vi的输入。
信号源总体连线如上图所示。
(3)前面板的设计
将波形图调整到需要的大小,右键选择属性、标尺,去掉显示标尺标签。
信号类型比较少,可以用垂直滑动杆做输入来选择信号类型。
由于滑动杆是连续型输入控件,需要进行配置。
首先右键单击滑动杆,勾选文本标签。
在选择属性,在文本标签选项卡中编辑,设置“正弦波”值为0,“三角波”值为1,“方波”值为2,“锯齿波”值为3。
因为基本函数发生器“信号类型”端子直接识别数字,可以直接用滑动杆输出做输入。
再分别更改两个通道的调节旋钮属性,由于基本函数发生器频率输入必须大于零,所以设置最小值为1,并设置最大值为100。
幅值设置为从0到10V。
相位从-180°到180°。
方波占空比从0%到100%,最终效果如图。
最终效果图。
(4)整体美化
功能都实现后,对程序和前面板都进行排版,使整个程序看起来更美观。
下图为美化后效果。
下图为程序美化后效果。
二、双通道示波器
1.设计题目:
双通道示波器
2设计目的:
了解、熟悉并掌握虚拟仪器的相关知识;完成所要求的实验内容。
3.设计要求:
①能同时查看两个通道的波形。
②数据可存储回放。
4.设计思路:
利用DAQ创建通道,并采集数据,用于波形图显示。
用TDMS保存波形数据,用于数据回放。
波形的查看,可以用属性节点改变波形图X和Y标尺的范围,这样就可以实现波形沿X轴放大和沿Y轴放大。
5.设计实现过程
(1)建立DAQ信号输出通道的建立与配置
依次将DAQmxCreateVirtualChannel.vi、DAQmxTiming.vi、DAQmxRead.vi、DAQmxStartTask.vi、DAQmxStopTask.vi、DAQmxClearTask.vi等所需vi放置到程序框图中,并连接成如图样式。
因为是连续采集,所以将DAQmxRead.vi放在while循环中,用于连续的读取数据。
(2)通道选择的实现
测回的数据就可以直接给波形图显示控件显示。
但为了实现通道切换,先用“拆分信号”将信号进行分离。
再用条件结构控制流向波形显示控件的信号数量。
这样就可以实现通道切换了。
(3)波形调节的实现
本设计要实现波形沿X轴与Y轴的放大缩小,由于不能改变波形的实际数据,因而通过更改“波形图”X轴坐标与Y轴坐标的范围来实现波形的放大。
这就需要使用“波形图”属性节点来实时改变X轴坐标与Y轴坐标的范围。
设计还实现了波形的垂直移动,也是通过波形图属性节点来调节Y轴坐标范围来实现。
如图,是通过滑动杆输出改变Y轴坐标的起始值与最大值,从而实现波形的上下移动。
(4)波形数据的存储
设计采用TDMS存放波形数据。
TDMS高速数据流文件,存储速度快,适合用于快速存储大量的数据。
因此很适合用来存储采集的波形数据。
(5)波形数据的回放
同样采用TDMS相关空件来实现数据的回放。
因为读取时,默认的数据存储文件可能不见了,因此设计了一个条件结构,用于判断文件是否存在,如果不存在,则要求用户指定文件位置。
(7)前面板的实现
将控件都拖放到面板上,设置为文本标签,再设置数据,最后设置成如图形状。
并利用属性节点设置TimeBase和查看范围两个控件。
使测量时隐藏“查看范围”,回放时隐藏“TimeBase”。
设置了一个滚动条,在查看数据时,可以利用滚动条查看记录的所有数据。
另外一个滚动条,用于上下滚动波形。
用两个滑杆控制通道选择和功能选择。
(8)整体美化
功能都实现后,对程序和前面板都进行排版,使整个程序看起来更美观。
下图为美化后效果。
程序框图。