虚拟仪表设计报告讲解.docx
《虚拟仪表设计报告讲解.docx》由会员分享,可在线阅读,更多相关《虚拟仪表设计报告讲解.docx(14页珍藏版)》请在冰豆网上搜索。
![虚拟仪表设计报告讲解.docx](https://file1.bdocx.com/fileroot1/2023-1/9/6c35cb61-d215-4280-a745-aa45ad96a218/6c35cb61-d215-4280-a745-aa45ad96a2181.gif)
虚拟仪表设计报告讲解
第二章系统设计软件
2.1LabVIEW的基本概述
2.1.1LabVIEW的发展
Labview是美国国家仪器公司开发的,基于G语言(GraphicsLanguage)的虚拟仪器开发工具。
其特点是用图形化的符号来代替传统的文本语言,从而达到直观,简洁,易懂的目的。
1992年8月LabVIEW2.5实现了从MaCintosh平台到Windows又砰台的移植,从LabVIEW3.0版本开始,LabVIEW作为一个完整优异的图形化软件开发环境得到了工业界和学术界的认可,并开始迅速占领市场,赢得了广大用户的青睐。
它的基本特点是
1、具有良好的用户接口其用户接口类似于传统仪器的面板,包括按钮、旋钮、图形显示组件、控制组件等。
通过鼠标和键盘向程序输入数据,操作结果由软件在计算机屏幕上生成。
2、编程方式简单、直观采用图形语一言(G语言)、图标和联机代替文本形式编写程序,是对具体编程问题的图形化解决方案。
3、具有层次结构和模块化的特点每一个VI可以作为顶层程序,也可以作为其它程序的子程序。
4、提供程序调试功能程序调试工具包括在源代码中可以设置断点,可以单步执行,也可以启动。
2.1.2LabVIEW创建虚拟仪器过程
创建虚拟仪器的过程分为四步:
1、创建前面板。
前面板是图形化用户界面,用于设置输入数值和观察输出量。
它模仿了实际仪器的面板。
前面板包含了旋钮、按钮、图形和其他控制与显示对象。
通过鼠标和键盘输入数据、控制按钮,也可在计算机显示器上直接观看结果。
若想要在数字控制中输入或修改数值,只需要用操作工具(见工具模板)点击控制部件和增减按钮,或者用操作工具或标签工具双击数值栏进行输入数值修改。
2、创建框图程序。
在前面板窗口的主菜单windows中选择ShowDiagram将前面板窗口切换到框图程序窗口,此时会看到与前面板对象对应的端口。
根据需要在功能模板中找到所需的节点,并将节点图标放置到框图程序窗口。
用数据连线将这些端口和节点的图标连接起来,形成一个完整的框图程序。
3、创建图标。
一个虚拟仪器的图标/连接端口就像一个图形(表示某一虚拟仪器)的参数列表。
这样,其它的虚拟仪器才能将数据传输给子仪器。
图标和连接允许将此仪器作为最高级的程序,也可以作为其它程序或子程序的子程序。
4、运行和调试程序。
运行和调试程序是任何一门编程语言编程的最重要的一步。
在LabVIEW中,用户可以通过两种方式来运行程序:
运行和连续运行。
如果一个VI程序存在语法错误,则在面板工具条上的运行按钮将会变成一个折断的箭头,表示程序不能被执行。
这时这个按钮被称作错误列表。
点击它,则LabVIEW弹出错误清单窗口,点击其中任何一个所列出的错误,选用Find功能,则出错的对象或端口就会变成高亮。
调试程序时可以利用单步执行、设置断点、设置探针来显示数据流动方向。
图2-1Labview前面板
2.2LabVIEW的模板
LabVIEW是一种图形化设计语言,在一个虚拟仪器VI的开发过程中,主要利用模板创建和运行程序。
这些操作模板可以随意在屏幕上移动,并可以放置在屏幕的任意位置。
操纵模板共有三类:
工具(Too1s)选板、控制(Controls)选板和功能(Functions)选板或称函数选板。
图2-2工具选版
2.2.1工具模板
工具选板为编程者提供了各种用于创建、修改和调试VI程序的工具(如2-2图所示)。
该模板可以在windows菜单下选择ShowToolsPalette命令以显示该模板。
当从模板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状,它包括了以下工具包。
操作工具:
使用该工具来操作前面板的控制和显示。
使用它向数字或字符串控制中键入值时,工具会变成标签工具的形状。
选择工具,用于选择、移动或改变对象的大小当它用于改变对象的连框大小时,会变成相应形状。
标签工具:
用于输入标签文本或者创建自由标签。
当创建自由标签时它会变成相应形状。
连线工具:
用于在框图程序上连接对象。
如果联机帮助的窗口被打开时,把该工具放在任一条连线上,就会显示相应的数据类型。
对象弹出菜单工具:
用左鼠标键可以弹出对象的弹出式菜单。
漫游工具:
使用该工具就可以不需要使用滚动条而在窗口中漫游
断点工具:
使用该工具在VI的框图对象上设置断点。
探针工具:
可以在框图程序内的数据流线上设置探针。
程序调试员可以通过控针窗口来观察该数据流线上的数据变化状况。
颜色提取工具:
使用该工具来提取颜色用于编辑其他的对象。
颜色工具:
用来给对象定义颜色。
它也显示出对象的前景色和背景色。
2.2.2控件选板
图2-3控件选版
控件选板拟仪器的面板是通过软件实现的。
就是LabVIEW将传统仪器上的各种旋纽、开关.、显示屏等所有可能涉及到的操作部件,都做成外形相似的“控件”分类存于控制模板上。
设计仪器模板时,只需根据需要选择合适的“控件”放在面板相应的位置上即可。
每个图标代表一个子模板(如2-3图所示)。
控制模板可以用用户控件菜单的ShowControlsPalette功能打开它,也可以在前面板的空白处,点击鼠标右键,以弹出控制模板。
它只有当打开前面板窗口时才能调用
2.2.3函数选板
图2-4函数选板图2-5函数选板子选板
函数选板编程子选板功能模板就是LabVIEW将传统仪器上的各种测试功能、信号分析文件操作以及输入/输出(1/0)接口设备的驱动做成可供直接调用的库函数。
使用时只需根据预完成的功能与操作,从子模板上选择相应的“图标”放在流程图编辑窗口中相应的位置上即可。
该模板上的每一个顶层图标都表示一个子模板(如图所示)。
它可以用Windows菜单下的ShowFunetionspalette功能打开它,也可以在框图程序窗口的空白处点击鼠标右键以弹出功能模板。
而且它只有打开了框图程序窗口后才能出现。
它包括结构子模板、数值运算子模板、布尔逻辑子模板、字符串运算子模板、数组子模板、类子模板、比较子模板、时间和对话框子模板、文件输入/输出子模板、仪器控制子模板、仪器驱动程序库、数据采集子模板、信号处理子模板、数学模型子模块、图形与声音子模块、通讯子模板、应用程序控制子模块、底层接口子模块、文档生成子模板、示教课程子模板、用户自定义的子Vl模板和选择…VI子程序等子模板。
编制软件时通过对控制和功能模块中子模块的灵活调用,选取相应的功能子模块,分别置于前后面板内,使用连线工具即可完成虚拟仪器设计。
本章介绍了当今在测控领域内的虚拟仪器开发软件LabVIEw语言,它满足了实现虚拟测试仪器的条件,是虚拟仪器开发环境中图形化语言的杰出代表之一。
LabvIEW语言是一种面向工程技术人员的图形化编程语言,是一种面向对象的模块化编程语言,使面向对象技术程序的复用性达到最佳,被誉为工程师和科学家的语言。
2.3基于LabVIEW的虚拟仪器设计
LABVIEW(LaboratoryVirtualInstrumentEngineering)是一种图形化的编程语言,它广泛地被工业界、学术界和研究实验室所接受,视为一个标准的数据采集和仪器控制软件。
LABVIEW集成了与满足GPIB、VXI、RS-232和RS-485协议的硬件及数据采集卡通讯的全部功能。
它还内置了便于应用TCP/PI、ActiveX等软件标准的库函数,是一个功能强大且灵活的软件。
利用它可以方便地建立自己的虚拟仪器,图形化的界面使得编程及使用过程都更加形象化。
传统的文本式编程是一种顺序的设计思路,设计者必须写出执行的语句。
而LABVIEW是基于数据流的工作方式,同时也是基于图形化的编程,这使得设计者不必掌握大量的编程语言和程序设计技巧便可设计出虚拟仪器系统。
利用LABVIEW,可产生独立运行的可执行文件,它是一个真正的32编译器。
像许多通用的软件一样,LABVIEW提供了Windows、UNIX、Linux、MacintoshOS等多种版本。
所有的LABVIEW应用程序,即虚拟仪器(VI),它包括前面板(FrontPanel)、流程图(BlockDiagram)以及图标/连结器(Icon/Connector)三部分。
1、前面板:
前面板是图形用户界面,也就是VI的虚拟仪器面板,这一界面上有用户输入和显示输出两类对象,具体表现有开关、旋钮、图形以及其他控制和显示对象。
但并非画出两个控件后程序就可以运行,在前面板后还有一个与之对应的流程图。
2、流程图:
流程图提供VI的图形化源程序。
在流程图中对VI编程,以控制和操纵定义在前面板上的输入和输出功能。
流程图中包括前面板上的控件连线端子,还有一些前面板上没有,但编程必须有的东西,例如函数、结构和连线等。
如果将VI与传统仪器相比较,那么前面板上的控件对应的就是传统仪器上的按钮、显示屏等控件,而流程图上的连线端子相当于传统仪器箱内的硬件电路。
在许多情况下,使用VI可以仿真传统仪器,不仅在屏幕上出现一个惟妙惟肖的标准仪器面板,而且其功能也与传统标准仪器相差无几[14]。
这种设计思想的优点体现在两方面:
(1)类似流程图的设计思想,很容易被工程人员接受和掌握,特别是那些没有很多程序设计经验的工程人员。
(2)设计的思路和运行过程清晰而且直观。
如通过使用数据探针、高亮执行调试等多种方法,程序以较慢的速度运行,使没有执行的代码显示灰色,执行后的代码会高亮显示,同时在线显示数据流线上的数据值,完全跟踪数据流的运行。
这为程序的调试和参数的设定带来很大的方便。
3、图标/连接设计:
这部分的设计突出体现了虚拟仪器模块化程序设计的思想。
在设计大型自动检测系统时一步完成一个复杂系统的设计是相当有难度的。
而在LABVIEW中提供的图标/连接工具正是为实现模块化设计而准备的。
设计者可把一个复杂自动检测系统分为多个子系统,每一个都可完成一定的功能。
这样设计的优点体现在以下几个方面:
(1)把一个复杂自动检测系统分为多个子系统,程序设计思路清晰,给设计者调试程序带来了诸多的方便。
同时也对于将来系统的维护提供了便利。
(2)一个复杂自动检测系统分为多个子系统,每一个子系统都是一个完整的功能模块,这样把测试功能细节化,便于实现软件复用,大大节省软件研发周期,提高系统设计的可靠性。
(3)便于实现“测试集成”和虚拟仪器库的思想。
同时为实现虚拟仪器设计的灵活性提供了前提。
第三章系统硬件设计
3.1硬件系统分析
要从一个基于计算机的数据采集系统得到合理的结果,依赖于系统的每一个组成部分,即计算机、传感器、信号调理、数据采集硬件和软件。
下面逐一予以讨论说明。
1、传感器
传感器将被测试的物理量转化成电信号的最基本的环节。
如,热电偶、热敏电阻、集成电路传感器、应变片等,都可以将温度转化成电压和电阻。
对于每一种传感器,电信号的大小都与被监测信号的物理参数成正比。
2、信号调理
信号调理器是传感器和数据采集卡之间的桥梁,负责将传感器的输出信号和数据采集模块可以接受的信号联系起来,从传感器输出的信号必须经过调理才能够连入数据采集板,信号调理包括放大和衰减、隔离、滤波、传感器激励、线性化处理。
(1)放大和衰减
数据采集卡接收的信号是范围很广的电压信号,如果太强,就需要衰减器把被测信号减弱后再输入给数据采集卡,这样一方面可以保证数据采集卡可以顺利采数,另一方面有利于系统的安全运行。
而对于微弱信号要进行放大,以提高分辨率和降低噪音,也使调理后信号的最大电压值和ADC最大输入值相等,这样可以提高精度。
在设定调理电路的放大或衰减倍数时,一般应满足这样一个条件:
经调理后的信号其最大值应尽可能地达到数据采集卡可以接受的电压范围,最大限度地提高数据的准确度。
(2)隔离
隔离是指使用变压器、光或电容祸合等方法阻碍被测系统和测试系统之间传递信号,避免发生直接连接,使用祸合主要有两个方面原因:
一是从安全的角度把传感器信号同计算机隔离,因为被监测系统可能产生瞬时高压,另一个原因是隔离可以使从数据采集卡出来的数据不受地电位和输入模式的影响,减少误差。
(3)滤波
滤波的目的是消除噪音信号,提高输入信号的信噪比。
噪音滤波器通常用于直流信号;交流信号通常需要抗失真的低通滤波器,因为这样的滤波器有一陡峭的截止频率,因而几乎能够完全消除高频干扰信号。
(4)激励
由于电工测量试验中经常要要用到正弦波、方波等信号,且有时需要为一些传感器提供激励信号,故由虚拟信号发生器产生各种信号并由信号调理电路进行功率放大后输出。
(5)线性化
很多传感器对被测都有非线性响应,因而需要对输出信号进行线性化。
3、数据采集硬件
数据采集硬件与众多因素有关,要根据具体情况进行分析,下面是通用的特征:
(1)采样频率
采样频率高,就能在一定时间内获得更多的原始信息,见图4一1(a)所示。
为了再现原始信号,必须有足够高的采样频率。
显然,如果信号变化比采样板的数字化要快,或采样太慢,就会产生波形失真,见图4一1(b)。
根据采样定理,采样频率至少是输入最高频率的两倍,才可能不产生失真。
(2)采样方法
要从多个通道得到数据,通常使用多路开关把每个信号端连接到A/D转化器(ADC)。
采用连续扫描方法,要比给每个通道一个放大器和ADC要经济得多,但这仅仅实用于在采样点之间对时间不是很重要的场合。
如果采样点之间对时间要求严格,则必须同时采样。
对于低频信号,可以用间隔扫描办法来产生同时采样的效果,而不必增加采样保持电路。
这种方法一定时间间隔扫描输入通道,用脉冲来计算各通道两次扫描的时间间隔。
(3)分辨率
ADC的位数越多,分辨率就越高,可区分的电压就越小。
例如,三位转化器把模拟电压分成2’(8位)段,每段用二进制代码在000到In之间表示,因而数字并不能真实反映原始信号,因为一部分信息被漏掉了。
如果增加到16位,代码增加到655536,这样就可以得到较为精确地反映原始信号的数字信号。
(4)电压范围
电压范围指ADC能扫描到最高和最低电压。
一般情况下,由于DAQ卡的电压范围可以调节,所以将信号电压范围调到与微机相匹配以便利用其可靠的分辨率范围。
范围、增益、分辨率决定了可分辨的最小电压变化,它表示ILSB。
例如,某DAQ板的分辨率为16位,范围取0一1OV,增益取100,则有1LSB=(10/100xZ’6)=1.5协v,这样一来,在数字化的过成中,一位的分辨率为1.spv。
(5)模拟输出
模拟输出电路通常是为DAQ板的系统提供激励电压或电流。
DAQ输出信号由停滞、转换率、分辨率等构成。
停滞时间和转换率决定了输出信号幅值改变的快慢。
(6)定时I/0
许多场合都要用到定时器,如数字脉冲定时、产生方波等。
定时器包括三个重要信息:
门限信号、计时信号、输出。
门限信号实际上是触发信号一使它工作或不工作;计时信号也就是信号源,它提供了继续其操作的时间基准;输出是在输出线上产生方波和脉冲。
他们最重要的参数是分辨率和时钟频率。
高分辨率意味着计数器可以计更多的数,时钟频率决定了产生数据信号输入的快慢,频率越高,计数增长得越快,因而输入端的信号频率高,就可以产生高频的脉冲波和方波。
4、驱动软件
没有软件,甚至没有好的软件,数据采集硬件系统不可能发挥很大的作用。
数据系统一个主要方面是驱动软件的使用。
驱动软件是直接对数据采集硬件系统来进行设计的软件层,管理着系统的操作以及和计算机资源的组合,比如CPU中断、DMA传送、存储器等。
驱动软件在保持高性能、提高给用户易于理解的基础的同时,隐藏了复杂、详细的硬件及程序设计。
由研华公司研发的基于LabVIEW的驱动子VI就是研华采集板卡高性能数据采集及驱动程序。
数据采集技术是电子测量仪器的基础,当然也是虚拟仪器的基础。
只有当数据采集部分正确工作,整个虚拟仪器系统才能正确工作。
3.2数据采集卡概述
研华PCL-818HD板卡是16路单端或8路双端模/数转换接口卡,并具有16路数字量输入和16路数字量输出,同时具有1个Intel8254可编程计数器的计算机接口卡。
PCL-818HD能确保在所有增益(X1、2、4或8,可编程)及输入范围内可达到100KHz的采样速率。
该卡带有一个1K的采样FIFO(先入先出)缓冲器,能够获得更快的数据传输和Windows下更好的性能。
研华PCL-818HD板卡共有三组信号连接器,一个20脚数字量输出连接器和一个20脚数字量输入连接器,还有一个就是用于模拟量输入/输出及计数器的37脚连接器(母头)。
各连接器的接线引脚说明如图3-1、3-2所示。
(a)数字量输出接线(b)模拟量的输入接线
图3-1数字量输出和数字量输入的接线:
图3-2单端输入模式
PCL818HD用一组拨码开关SW1来对板卡的IO基地址进行设置,其中拨码开关拨到ON表示0,拨到OFF表示1。
开关和地址的对应关系如表3-1所示。
表3-1开关和地址对应关系
3.3数据采集系统设计
3.3.1数据采集系统概述
数据采集(DataAcquisition,DAQ),就是讲北侧对象(外部世界、现场)的各种参量(物理量、化学量、生物量等)通过各种传感器件做适当转换后,再经信号调理、采样、量化、编码、传输等步骤送到控制器进行数据处理或存储记录的过程。
控制器一般由计算机承担。
计算机或微处理器是数据采集系统的核心,它对整个系统进行控制,并对采集的数据进行加工处理。
用于数据采集的成套设备成为数据采集系统(DataAcquisitionSystem,DAS),所有能够在计算机控制下完成数据采集和控制任务的板卡都成为DAQ产品,可分为内插式板卡和外挂式板卡。
一般情况下,DAQ硬件设备功能包括模拟量输入、模拟量输出、数字I/O(DigitalI/O)和定时/计数(Timer/Counter)。
3.3.2数据采集过程
首先,初次装好DAQ采集卡和驱动程序后,PC机会初始化设置它的IO地址和中断号,分配内存资源,打通MCGS组态软件通道。
其次,在组态软件设备窗口设置采样频率、采集通道、数据传输方式、数据处理方式并启动实时采集。
采集启动后,下层驱动程序就独立地控制硬件进行数据采集,并将结果存放在采集卡的缓冲区中。
最后将采集卡缓冲区中的数据读取到组态软件的数据缓冲区中区,以便对数据进行处理。
第四章系统软件设计
4.1系统软件总体构成
Labview前面板用于设置输入数值和观察输出值,用于模拟真实信号发生器与信号采集器的前面板。
由于虚拟面板直接面向用户,是虚拟仪器控制软件的核心。
设计前面板时,主要考虑界面美观,操作简洁,用户可以通过前面板中的开关和旋钮模拟传统仪器的操作,通过键盘和鼠标实现对虚拟示波器的控制。
前面板上设有各个功能模块按钮,当按下相应按钮时,即可调用该子程序。
本系统包括了27个控件,其中输入控件12个,显示控件15个。
通过选项卡可以选择信号发生器与信号采集器两种功能。
在信号发生器选项卡中,通过信号类型选择器可以从信号发生器中选择不同类型的波形,如正弦波形,方波波形,三角波波形,锯齿波形等。
在选项卡中还可以设置所要发生信号的主要参数,如:
幅值、频率、方波占空比等等。
在信号采集器选项卡中,有三个子选项卡,分别为波形信号采集、温度采集和重量采集。
而显示屏则实现对各种不同信号的显示,是用户对系统结果最直观的观察方式。
图4-1系统总体前面板
4.2信号发生器器
信号发生器选项卡中可通过信号类型列表选择所要输出的信号,例如:
正弦信号、余弦信号、三角波信号、锯齿波信号、方波信号等。
相对应的信号特性参数可从方波占空比、直流偏移量、频率、持续时间、偏移量、幅值等输入控件进行选定。
信号发生器模块的前面板如图4-2所示。
图4-2信号发生器前面板
图4-3信号发生器器程序框图
4.3信号采集模块
信号采集模块选项卡中有三个子选项卡,分别为波形采集选项卡、温度采集选项卡、电子天平(重量采集)选项卡。
数据采集卡设计如图4-4、4-5、4-6所示。
(a)波形采集前面板(b)波形采集程序框图
图4-4波形采集设计
(a)温度采集前面板(b)温度采集程序框图
图4-5温度采集设计