基于LABVIEW的虚拟示波器设计虚拟示波器.docx
- 文档编号:23211168
- 上传时间:2023-05-15
- 格式:DOCX
- 页数:13
- 大小:647.88KB
基于LABVIEW的虚拟示波器设计虚拟示波器.docx
《基于LABVIEW的虚拟示波器设计虚拟示波器.docx》由会员分享,可在线阅读,更多相关《基于LABVIEW的虚拟示波器设计虚拟示波器.docx(13页珍藏版)》请在冰豆网上搜索。
基于LABVIEW的虚拟示波器设计虚拟示波器
目 录
1.2ﻩLabVIEW软件设计基本原理ﻩ1
2关于虚拟示波器的设计思路及方案的实现ﻩ3
2.1设计思路ﻩ3
2.2方案的实现3
2.2.1前面板的设计ﻩ3
2.2.2 设计的基本原理和设计步骤ﻩ4
3 设计心得ﻩ9
4 参考文献:
10
5程序调试过程中发现的问题和解决办法ﻩ10
基于LABVIEW的虚拟示波器设计
1LabVIEW软件及其基本设计原理简介
1.1 LabVIEW简介
LabVIEW(LaboratoryVirtual instrumentEngineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LabVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/IP、ActiveX等软件标准的库函数。
这是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,其图形化的界面使得编程及使用过程都生动有趣。
传统文本编程语言根据指令的先后顺序决定程序执行顺序,但LabVIEW则采用数据流编程方式,程序框图中节点之间的数据流向决定了VI及函数的执行顺序。
LabVIEW提供很多外观与传统仪器(如示波器、万用表)类似的控件,可用来方便地创建用户界面。
用户界面在LabVIEW 中被称为前面板。
使用图标和连线,可以通过编程对前面板上的对象进行控制。
这就是图形化源代码,又称G代码。
LabVIEW 的图形化源代码在某种程度上类似于流程图,因此又被称作程序框图。
LabVIEW尽可能利用了技术人员、科学家、工程师所熟悉的术语、图标和概念。
因此,LabVIEW是一个面向最终用户的工具。
它可以增强你构建自己的科学和工程系统的能力,提供了实现仪器编程和数据采集系统的便捷途径。
使用它进行原理研究、设计、测试并实现仪器系统时,可以大大提高工作效率。
利用LabVIEW,可产生独立运行的可执行文件。
1.2LabVIEW软件设计基本原理
我们把用LabVIEW实现的一个完整的LabVIEW应用程序成为一个虚拟仪器,称为VI。
所有的VI,它包括前面板、程序框图图以及图标/连结器三部分。
1)前面板。
前面板是图形用户界面,也就是VI的虚拟仪器面板,前面板直接面向用户,是用户使用虚拟仪器的基本操作面板。
这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象。
一个典型实现正弦波显示和幅值调节的前面板如图1。
图1 正弦波显示及幅值调节VI前面板
2)程序框图提供VI的图形化源程序。
它的功能是对前面板上的控件进行定义、操作和连线以实现虚拟仪器的功能,是LabVIEW程序设计的核心。
在程序框图中存在着对VI编程,以控制和操纵定义在前面板上的输入和输出。
它包括前面板上的控件和控件的连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。
如果将VI与标准仪器相比较,那么前面板上的东西就是仪器面板上的东西,而流程图上的东西相当于仪器箱内的东西。
在许多情况下,使用VI可以仿真标准仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与标准仪器相差无几。
上述正弦波的程序框图如图2。
图2正弦波显示及幅值调节VI程序框图
3)图标/连接器。
VI具有层次化和结构化的特征,一个VI可以作为子程序,这里称为子VI,被其他VI调用。
图标与连接器在这里相当于图形化的参数。
LabVIEW的强大功能归因于它的层次化结构,用户可以把创建的VI程序当作子程序调用,以创建更复杂的程序,而这种调用的层次是没有限制的。
在VI设计过程中,可以利用工具选板、前面板中的控件选板、程序框图中的函数选板进行设计。
这些选板的详细功能及用法通过不断的学习设计VI的过程逐渐地掌握。
2关于虚拟示波器的设计思路及方案的实现
2.1设计思路
本设计的想法是尽量与现实中的面板相一致,实现示波器最基本的显示和调节功能。
所以本设计我设计了包含CH1和CH2的双通道示波器,即双踪示波器。
设计时考虑的是分几个部分:
1)CH1和CH2通道设计及选择。
设置两个开关控制CH1和CH2选通状况,开即显示波形,关不显示,同时选择了开就在波形图上同时显示两个波形。
2)波形产生。
由于没有外界信号输入设备,所以不能用外部数据采集的方法输入信号波形,那么自己设计一个建议信号发生器,使两个通道都能实现基本模拟信号正弦波、三角波、方波、锯齿波的输入。
3)波形显示。
采用波形图控件。
4)波形控制部分。
包括CH1信号幅度调节和幅度偏移、CH2信号幅度调节和幅度偏移、时间扫描速率、同时开的时候两个信号叠加开关。
5)停止示波器。
通过while循环的停止按钮设置示波器停止工作。
2.2方案的实现
2.2.1 前面板的设计
根据设计思路,设计成的前面板如图3所示。
图3虚拟双踪示波器前面板
2.2.2设计的基本原理和设计步骤
1)通道CH1和CH2选择即波形产生。
在程序框图上创建两个条件结构。
把CH1和CH2的开关控制(布尔开关)分别接到这两个条件结构的条件输入端,然后在每个“真”条件下,并且通过再添加条件结构,在这个子条件结构里面,利用基本函数发生器创建波形产生模块,用文本下拉列表控制条件输入端,将正弦波、三角波、方波、锯齿波的固定值0、1、2、3设为四个分支,并在分置里面选择产生相应的波形,这样就产生了大条件结构的“真”操作,也即在CH1或CH2通道开的情况下,通过文本下拉列表控制波形产生。
然后将外部条件结构的输出隧道在“假”的条件下,设为“未连接时使用默认”并且处理“假”分支,这样,当通道选择开关“关”时就不输出波形。
程序框图如图4、图5所示,前面板显示效果如图6、图7、图8所示。
图4通道打开时波形产生 图5通道关闭时无输出
图6 CH1开、CH2关
图7CH1关、CH2开
图8CH1开、CH2开
2)波形显示控制部分。
这部分是控制波形在波形图上更好的显示出来。
控制CH1、CH2通道幅值,调节波形图上每单位表示多少电压值;控制时间扫描速率,调节时间轴上每单位表示多少时间。
这些都是为了让波形以最直观、最清楚的方式显示在波形图上。
通过公式子VI的功能改变输出电平和幅度偏移;通过获取波形成分、除法和创建波形改变输出的频率;通过创建一个子条件结构实现波形叠加。
这些控制部分如图9所示,程序框图如图10所示。
图9波形显示控制部分前面板
图10波形显示控制部分程序框图
3)输入信号测量值的显示部分。
通过“获取单频信息”子VI获取波形频率;通过“幅值和电平测量”子VI获取波形幅值电压。
设计的前面板如图11所示,程序框图如图12所示。
图11测量参数显示 图12测量参数模块程序框图
4)停止测量部分。
通过while循环的STOP按钮停止测量。
程序框图如图13所示。
图13 while循环以及STOP按钮
5)整个程序框图的设计图图14所示。
至此为止设计全部完成。
图14虚拟双踪示波器的整个程序框图
3设计心得
此次能力拓展训练设计规定时间在开学前完成,责任老师提供了整个暑假的时间给我们做。
我个人的情况是暑假实习到8月中旬,回来之后又忙着准备一些考研复习,所以就耽搁了不少时间,直到8月底才开始做。
首先我看了几本介绍虚拟仪器和LabVIEW方面的书籍,随即对这个软件强大的仿真功能产生了极大的兴趣,并且自己动手做了一些简单的仿真程序,比如利用调用for循环和移位寄存器计算数学递归公式、产生数字波形、建立数学计算的子VI等。
做的程序渐渐从简单到难,学的东西也越来越多。
直到这个设计完毕,除了这个设计里面的知识外,我还了解了公式节点的用法;滤波器的用法;图形编辑器的用法和子VI的建立过程及调用;掌握了while循环、for循环、条件结构循环的用法;初步了解了顺序结构的用法;了解了数据采集的基本知识;熟悉了写入测量文件及保存数据的基本操作、程序调试过程中的单步执行、断点设置以及探针工具的使用方法、延时程序的调用方法等等。
刚开始我还觉得做能力拓展耽误了自己考研复习的时间,后来感觉到学了LabVIEW之后也很充实。
也为自己能做出这个“不简单”的虚拟示波器而感到骄傲。
在此过程中,板上的同学给了我不少帮助,比如他们把借的的资料给我看,还有一起动脑动手实现了某个困难的操作,这让我深深体会到团队协作的重要性和同学之间友谊的可贵。
4参考文献
[1]杨乐平,李海涛,杨磊编著.LabVIEW程序设计与应用(第二版).北京:
电子工业出版社,2007
[2] 刘君华主编.基于LabVIEW的虚拟仪器设计.北京:
电子工业出版社,2003
[3]黄松林,吴静编著.虚拟仪器设计教程.北京:
清华大学出版社,2008
[4] 陆绮荣编著.基于虚拟仪器技术个人实验室的构建.北京:
电子工业出版社
5程序调试过程中发现的问题和解决办法
1)完成了一部分并查看波形的时候,发现波形向左移动的非常快,这样很不利于观察波形信号。
通过查资料发现可以通过在前面板上添加时间延迟ExpressVI,设置程序循环延时时间可以解决这一问题。
但是要在程序框图上添加并设置,这很不方便,后来发现模板上的VI波形图都可以均匀的慢速的向左移,经过对比发现,只要修改配置仿真信号的属性即可,具体操作时将定时区域的“以可达到的最快速度运行”取消,并勾选中“仿真采集时钟”。
2)在选择CH1条件结构的“假”分支时,因为不用输出波形,所以我没有连接输出隧道,这是幸运星出现错误,这个错误是因为条件结构中多个分支的输出隧道公用输出。
仅执行结构的某一帧时,各个帧必须给所有的输出赋值,不赋值时要使用默认。
解决办法是右键单击隧道并选择“未连线时使用默认”,即可以满足该要求。
3)幅值测量用模拟波形-波形测量里面的“幅值和电平”函数时发现,当北侧通道处于关的状态时发生了错误,显示的是“输入波形的大小为0”,这是因为这个函数测量模块当波形输入为0时就会发生错误。
解决办法是将它替换为波形测量里面的“幅值和电平测量”子VI,这个子VI在输入波形为0时满足了输出幅值电平是0。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 LABVIEW 虚拟 示波器 设计