基于labview的虚拟示波器设计69063Word格式.docx
《基于labview的虚拟示波器设计69063Word格式.docx》由会员分享,可在线阅读,更多相关《基于labview的虚拟示波器设计69063Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
评定老师:
XX大学光电工程学院
一、设计目的:
综合实用Labview知识,在本设计中使用了层叠式顺序结构、分支结构、循环结构等编程逻辑结构以及常见的数据结构,如簇、捆绑成簇等数据处理结构;
同时还用到了波形生成控件VI、逻辑控件VI、数值控件VI等多个控件。
此外还创建了多个子VI,可以更好地掌握Labview编程的方法和技术。
二、设计要求:
能够实现比较简单的双通道示波器功能,主要功能包括:
输出波形显示(单通道输出波形显示或两通道输出波形同时显示);
选择触发器极性(通道B触发、外触发EXT、正负极性触发等)并能设置触发电位;
能进行水平分度和垂直分度的调节。
三、设计步骤:
1、程序主要功能模块:
该设计主要功能模块有:
触发功能块、通道选择功能块、水平分度调节功能块、垂直分度调节功能块和波形显示功能块。
功能模块结构图:
主程序流程图:
通道触发
外部触发
否
是
2、示波器前面板设计:
(1)示波器图形控件:
在前面板中选择波形图控件:
格式与精度设置:
标尺设置:
(2)其他主要控件:
通道选择:
前面板中选择垂直指针滑动杆控件:
属性设置:
文本标签设置:
电平调节旋扭:
在前面板中选择旋扭控件:
数据输入设置:
显示格式:
分度调节:
水平分度调节文本标签设置:
垂直分度调节文本标签设置:
停止按扭属性:
操作设置:
对各控件进行布局得到示波器前面板:
3、程序框图设计
(1)触发源功能块:
触发源功能块的作用主要是利用触发源开关的选择和通道选择开关完成对示波器显示波形的触发源的选择,如下图:
源开关作为条件结构的选择项,当源开关处于“通道触发”时为真,此时斜率调节和电平调节可用。
当源开关处于“外部触发”时为假,此时斜率调节和电平调节不可用。
功能的禁用与开启通过相应控件的属性节点控制,属性节点禁用属性功能表如下:
(2)通道输入信号的生成和选择
创建“通道”子VI如下图:
前面板:
程序框图:
上图程序分别为:
通道A、通道B生成波形和通过两路通道同时产生波形。
在这几个程序框图中,都需要通过波形生成函数生成所需的信号,各自通过均匀白噪声函数加入不同幅度的白噪声后生成所需的信号。
通过不同的信号选择块后输入到“触发”子VI后产生所需的波形输出。
所用到的正弦和方波信号生成函数的位置如下图:
(3)“触发”子VI的创建:
触发子VI能够根据触发源的不同,对输入的信号进行选择后输出。
创建后的触发子VI的前面板如下图:
在前面板添加“电平”数值输入控件,“斜率”和“源”选择开关,输入信号“波形1输入”和“波形2输入”以及输出波形“波形1输出”和“波形2输出”。
程序框图如下图,图中主要功能是通过“源”选择开关对分支选择结构进行选择。
若触发源是通道触发,即内触发,那么输入的信号经过“斜率”子VI产生信号的序号“索引”,通过“数组子集”函数返回从“索引”开始的长度为1000个点的一段信号,并将这段信号作为输出信号通过“触发”子VI输出。
如果触发源是外部触发,那么此时直接将输入“触发”子VI的两路信号作为输出信号输出。
(4)触发电平“电平”子VI的创建
电平.vi的主要功能是根据输入的信号,与触发电平的数值进行比较后输出产生触发的数组的序号“索引”。
电平.vi的前面板如下图所示。
在该前面板上有输入矩阵、输入触发电平以及触发极性斜率。
电平.vi的程序框图如下:
首先,在程序中根据输入信号矩阵,产生索引数组和数组大小的数组,然后在while循环中,通过“判断范围并强制转换”函数,对输入信号矩阵进行范围判断并进行类型转换,判断的X标准为触发电平;
由此判断作为分支结构的选择条件,通过一些选择性的逻辑判断条件的判断后,对输入的信号进行对应信号矩阵和索引矩阵的判断后的输出索引数值。
(5)通道选择功能的设计
通道选择功能可以实现在示波器波形图上显示不同通道的波形,可以实现两路信号同时显示以及两个通道单独显示。
实现的程序框图如下图所示:
通道选择开关作为分支结构的选择条件,通过通道选择子VI“通道.vi”,根据输入触发源电平、触发极性以及采样点数实现两路信号的重新配置,并输出所需要的通道信号。
通道选择子VI的输出信号根据产生的信号“创建数组”,进一步和分度数值“捆绑”成簇,输入到波形图进行输出信号的显示。
(6)水平分度调节处理功能块
程序框图如下所示
水平分度调节功能块处理后所产生的数据信息作为波形图控件的水平分度范围的设置数值。
在具体实现这个功能块的时候,首先将选择的水平分度旋钮的选择数值作为分支结构的条件,(在这里使用3个离散数值作为调节数值);
再根据不同的选择条件,在功能块中捆绑不同的数据构成簇,将该簇作为波形图控件属性节点的水平分度范围属性的设定值。
(7)垂直分度调节处理功能块
程序如下图所示:
其设计过程与水平分度功能块设计类似
(8)程序输入输出程序块
程序框图如下图所示:
这两个部分采用平铺式顺序结构,在这两个程序块中,都建立了触发源、触发极性和触发电平的属性节点,对这些触发控件进行统一设置。
在程序初始化的输出块中,用触发源作为输出调节后面的程序;
而在程序终止部分,则通过程序停止控件作为终止设置。
(9)对以上模块进行合理组织得到示波器程序框图如下图:
4、程序调试出现的问题及解决方法
(1)在设计触发.vi时,把波形2(方波)输入到电平.vi中,在导致运行时调节电平旋扭时波形无变化。
通过高亮运行电平.vi发现,输入的波形不能是方波,这是程序设计的问题。
把波形1即正弦波输入,即可解决问题。
(2)设计程序的停止按钮时,其操作为“释放时触发”,程序出错无法运行。
通过错误列表发现是局布变量的问题,因为按钮是自动恢复“F”,无需局布变量控制。
可以把局布变量删除或者把按钮的操作设置为“释放时转换”。
四、心得体会及建议
欢迎您的下载,
资料仅供参考!
致力为企业和个人提供合同协议,策划案计划书,学习资料等等
打造全网一站式需求