实验报告5虚拟仪器在物理实验中的应用.docx
- 文档编号:10323759
- 上传时间:2023-02-10
- 格式:DOCX
- 页数:17
- 大小:399.72KB
实验报告5虚拟仪器在物理实验中的应用.docx
《实验报告5虚拟仪器在物理实验中的应用.docx》由会员分享,可在线阅读,更多相关《实验报告5虚拟仪器在物理实验中的应用.docx(17页珍藏版)》请在冰豆网上搜索。
实验报告5虚拟仪器在物理实验中的应用
实验报告
实验五虚拟仪器在物理实验中的应用
【实验简介】
虚拟仪器实际上就是一种基于计算机的自动化测试仪器系统。
它利用通用计算机的强大计算处理功能,通过传感器和接口卡实现信号输入,用键盘、鼠标、显示器等计算机外设实现控制和显示功能。
虚拟仪器设计过程主要包括选择适当的硬件平台、传感器、接口卡以及编制应用软件。
虚拟仪器相比较于传统仪器,其功能更加灵活多变、易于扩展,而且由于和网络技术结合,它还能够与外界进行数据通信,实现远程操作。
因此,虚拟仪器技术已经成为自动化测量的主流技术。
【实验目的】
1.了解虚拟仪器的概念;
2.了解图形化编程语言LabVIEW,学习简单的LabVIEW编程;
3.完成伏安法测电阻的虚拟仪器设计。
【实验仪器与用具】
计算机(含操作系统),LabVIEW2014,NIELVISⅡ+,导线若干,元件盒一个(包括100
标准电阻一个,待测电阻1k
和51
各一个,稳压二极管一个。
)
【实验原理】
1.虚拟仪器的硬件
本实验使用的硬件平台是个人电脑(PC机),美国国家仪器公司(NationalInstruments)的教学实验室虚拟仪器套件(EducationalLaboratoryVirtualInstrumentationSuite)II+(缩写为NIELVISⅡ+)和自带的原型板。
图7-2NIELVISⅡ功能说明。
1.NIELVISⅡ系列原型板;2.数字万用表保险丝;3.数字万用表接口;4.示波器接口;5.函数发生器输出/数字触发输入接口;6.原型板安装螺丝孔;7.原型板接口;8.原型板电源开关;9.状态灯;10.可变电源手动控制旋钮;11.函数发生器手动控制旋钮。
虚拟仪器综合实验平台ELVISⅡ+,如图7-2所示,集成8路差分输入(或16路单端输入)模拟数据采集通道、24路数字I/O通道,以及多款常用的仪器(包括示波器、数字万用表、函数发生器、动态信号分析仪、二线电流电压分析仪、三线电流电压分析仪、阻抗分析仪、VPS电源等)。
平台通过USB连接PC。
虚拟仪器综合实验平台是开源的,可以在LabVIEW中进行定制,同时可以使用LabVIEWExpressVI和LabVIEWSignalExpress的步骤对设备进行编程。
图7-3原型板功能说明。
1.模拟信号输入和可编程函数信号I/O阵列;2.工作站交互接口;3.数字信号I/O阵列;4.用户可配置LED;5.用户可配置D-SUB接口;6.计数器/计时器,用户可配置I/O,直流电源阵列;7.数字万用表,函数发生器,用户可配置I/O,可变电源和直流电源阵列;8.直流电源指示灯;9.用户可配置接线柱;10.用户可配置BNC接口;11.用户可配置Banana接口;12.固定螺丝。
2.虚拟仪器的软件
本实验使用的用于虚拟仪器系统设计的软件开发平台是LabVIEW(laboratoryvirtualinstrumentengineeringworkbench)。
它将计算机数据分析和显示能力与仪器驱动程序整合在一起,为针对仪器的编程提供了很大的便利。
而且,LabVIEW是一种图形化编程语言,编程过程也就是设计流程图,即使初学者也能很快入门。
用LabVIEW开发平台编制的虚拟仪器程序简称为VI。
VI包括三个部分:
前面板(frontpanel)、程序框图(Blockdiagram)和图标/连线板。
前面板用于设置输入数值和显示输出量,相当于真实仪表的前面板。
前面板上的图标,分为两类:
输入类(Controls,用于输入)和显示类(Indicators,用于输出),具体可以是开关、旋钮、按钮、图形、图表等表现形式。
程序框图相当于仪器的内部功能结构,其中的端口用来和前面板的输入对象和显示对象传递数据,节点用来实现函数和功能子程序调用,图框用来实现结构化程序控制命令,连线则代表程序执行过程中的数据流。
LabVIEW编程简介
(1)前面板窗口(FrontPanel)和控件选板(ControlsPalette)
前面板窗口是用户界面,也就是VI的虚拟仪器面板。
前面板上面有两类控件:
输入控件(Controls)和显示控件(Indicators)。
输入控件有开关、旋钮、数字或文本输入框等,用来让用户进行输入或控制操作。
显示控件有图形、数字或文本输出框等,用来显示测量或计算结果。
所有控件都要通过控件选板进行选择,再添加到前面板上。
控件选板可以用两种方法打开:
一是在前面板空白处点击右键,二是选择菜单查看→控件选板。
控件选板上的控件主要按照数据类型分组。
寻找控件有两种方式:
①根据所属类型找到其分组,再在该分组中查找;②如果知道控件名称,还可以利用控件选板上的搜索栏直接搜索。
双击搜索结果可高亮显示其在选板中的位置。
向前面板添加控件的方法:
鼠标左键点一下控件图标并松开,控件就黏附在光标上了;将光标移到要放控件的位置,再点一下鼠标左键,就将控件释放了。
对于某些数据类型的输入(或显示)控件,可以在控件上单击鼠标右键,选择转换为显示(或输入)控件,将其改变为同一数据类型的显示(或输入)控件。
(2)程序框图(BlockDiagram)和函数选板(FunctionsPalette)
创建前面板窗口后,需要在程序框图中编写图形化代码,用来控制前面板对象。
前面板和程序框图之间的切换,可以利用快捷键
在程序框图中,可以看到添加在前面板上的控件在程序框图中已经生成了相应的输入、输出端。
此外,可能还需要添加一些子VI、函数、常量、结构和连线(用来在其他对象间传递数据),才能实现仪器的输入和输出功能。
在程序框图中,我们可以看到输入控件和显示控件的图标有两个显著区别:
①输入控件的边框较粗,显示控件的边框较细;②它们的图标上都有一个表示数据流向的接线端箭头,输入控件的箭头向外,而显示控件的箭头向内。
向程序框图中添加子VI、函数、常量、结构,需要通过函数选板来选择和添加。
打开函数选板也有两种方法:
①在前面板空白处点击右键;②选择菜单查看→函数选板。
如果知道对象名称,可以使用函数选板上的搜索功能查找对象。
双击搜索结果可高亮显示其在选板中的位置。
如果要查看函数或VI的功能,可将鼠标移到控件上,按快捷键
(3)数据流、连线和数据类型
①数据流工作方式
LabVIEW按照数据流模式运行程序,只有当模块要求的输入数据完全到达这个模块时才能执行,然后向其所有的输出端口输出数据,这些数据再沿数据线流向其他模块。
数据流经节点的过程决定了程序框图上VI和函数的执行顺序。
在数据流模式下,两个彼此没有数据依赖的程序块可能会同时运行,如果要强制它们的运行顺序,可以使用顺序结构或错误簇等编程技术。
②连线
表7-1常用连线类型
连线用于在程序对象之间传递数据。
连线上数据的传递是有方向的。
输入端子、常量、函数或子VI的输出端都可以作为数据源。
数据接收端可以是显示端子、函数或VI的输入端。
一条连线只有一个数据源,但可以连接多个数据接收端。
此外,连线上传递的数据具有一定的类型和维数,其数据源和数据接收端的数据类型和数据维数必须相同。
因此,正确的连线必须保证两点:
a.连线方向正确;b.连线输入和输出端必须与连线上传递的数据兼容。
表7-1显示了最常见的连线类型。
当连线错误时,连线会表示成断线,它是一条中间带小红叉的黑色虚线。
这时可将连线工具移动到它上面。
LabVIEW会给出两端的数据类型和流向信息。
添加新的模块和连线可能会对已设置好的部分有影响,而且原来的错误连线也可能对新添加的连线有影响。
如果已经连了一个接线端,想取消连续,可单击鼠标右键。
如果想删除连线,用定位工具选中它,即可删除。
连线结束后,右键单击连线,从快捷菜单中选择“整理连线”,可使LabVIEW自动选择连线路径。
按快捷键
③数据类型
LabVIEW的基本数据类型有五种:
数值(Numeric),布尔(Boolean),字符串(String),枚举(Enum),还有一种叫环型枚举(Ring),和Enum很类似,可以循环枚举。
数值类型的数据按精度又分若干种类型,与标准C++的数据类型基本是一致的。
其代表符号直观的表现其类型。
可以在数值对象上点右键,通过弹出菜单中“表示法”修改。
在程序框图中,不同数据类型的对象有不同颜色,其颜色和数据类型的对应关系与连线相同。
(4)工具选板功能介绍
在前面板窗口和程序框图中都可以使用工具选板,可以通过点击查看→工具选板打开和关闭它。
它提供了各种用于创建、修改和调试VI程序的工具。
当从选项板内选择了任一种工具后,鼠标箭头就会变成该工具相应的形状。
工具选板上的最上端部分为自动选择工具。
当点击它灯亮时,当鼠标移到模块上时,程序会自动选择工具,方便操作。
常用工具按钮的功能:
:
操作工具,用于操作前面板的控制和显示,比如按下开关、扭动旋钮等;或者用于改变程序框图中布尔常量的值。
当使用它向数字或字符串控制中键入值时,工具会变成标签工具。
:
定位工具:
用于选择、移动或改变对象的大小。
①选择对象:
点击一个控件,就可选中它:
如果想选择多个控件,可以用鼠标在屏幕上拉一个框,这时框中的控件同时都被选中。
选中对象后,可以移动、复制或删除该对象。
②移动对象:
左键点击对象并一直按住,待移动到目标位置之后再松开。
③改变对象大小:
选择对象后,将光标移动到边框上,此时矩形边框四角和四边中央会出现小方块,将光标移到小方块上时,光标会变成相应的双箭头形状,此时可以沿所需的方向对对象拉伸或压缩。
:
标签工具,用于向输入控件中输入文本、编辑文本或者创建自由标签。
:
连线工具,用于在程序框图中连接对象。
连线方法:
将连线工具移至接线端,此时将出现含有接线端名称的提示框,而且图标上的接线端将会闪烁。
由于有的函数或VI有多个接线端,因此要注意选对所需的接线端,当所需接线端闪烁时,单击鼠标即可。
将连线工具在两个对象的接线端上各单击一次,就可在这两个对象之间创建连线。
如果已经连了一个接线端,想取消连线,可单击鼠标右键取消。
:
断点工具,用于在VI、函数、节点、连续和结构中设置断点,断点位置将暂停运行。
:
探针工具,用于在程序框图的连线上创建探针。
使用探针工具可查看VI运行中连线上传递的数据值。
(5)快捷菜单和属性对话框
所有的LabVIEW对象都有快捷菜单,右键单击对象,即可呼出快捷菜单。
通过快捷菜单,可以改变对象的外观或运行方式。
比如,选择可见的项目(显示项)、为某个输入端创建常量(创建)、改变数据精度类型(表示法)、设置属性等。
(6)前面板窗口、程序框图工具栏和程序调试工具
前面板窗口和程序框图上方都会出现一条工具栏,上面有运行、中止、调试程序的工具按钮,它们的用法如下:
:
运行。
如果VI有编译错误,此按钮将变成
;此时单击该断箭头按钮,会显示错误列表,双击错误列表中的项目,程序中出错的地方会高亮显示出来。
:
连续运行。
再次单击此按钮可停止连续运行。
:
异常中止执行。
:
暂停。
单击此按钮后,程序暂停,按钮变成红色;再次单击后,程序继续运行。
:
高亮显示执行过程,只出现在程序框图工具栏中单击此按钮,按钮会变成
,此时,可以看到每个步骤的数据值以及数据在连线上的流动情况。
注意,在高亮显示执行过程状态下,程序执行速度会显著降低。
小结一下调试程序的常用方法:
①程序编译出错时可单击
按钮找到错误之处并修正;②调试程序时,可以用高亮显示执行过程按钮
检测程序运行情况;③对于特别关注的某些数据值,可以使用探针工具
。
其他还有设置断点和单步运行等方法,具体请查阅软件帮助文档。
(7)快捷键和编程小技巧
保存文件。
切换前面板窗口和程序框图。
打开帮助窗口,当把鼠标放到任何感兴趣的模块对象上时,就会在帮助窗口中显示相应的帮助信息。
TAB或Spacebar:
切换选择工具。
多按几下直到鼠标变成你想要的工具的形状。
撤销前一操作。
去除所有错误的连线。
如果要观察或改变模块或控件的各种属性,在其图标上按右键。
双击某个控件/模块可以看到与它对应的模块/控件端。
3.利用虚拟仪器测量伏安特性
本实验中利用一个模拟输出通道为整个测量电路供电,利用两个模拟输入通道分别测量总电压和标准电阻上的电压;利用测量得到的电压数值和标准电阻数值就可以得到电路中的电流以及待测电阻上的电压。
在程序控制下,电路电压由0V开始逐渐增加到设定电压,电压每改变一次,测得一组电压电流值,最后得到一个数组,经过线性拟合后就可以得到待测电阻值。
测量原理见图7-4。
使用单端输入方式时,各个输入通道共用地线,各通道测量的都是对地的电压,连线时要加以注意。
也可使用差分输入。
图7-4用虚拟仪器测量伏安特性原理图
【实验内容和实验步骤】
1.初步熟悉LabVIEW开发环境的基本操作和编程方法
启动LabVIEW程序。
选择文件→新建VI进入LabVIEW环境。
熟悉一下各选板上的图标和名称,学习选择并放置控件、点击右键查看快捷菜单,学习使用标签工具、定位工具、连线工具和各种快捷键。
2.创建一个模拟温度测量程序
假设传感器的输出电压和温度成正比。
同时希望程序中可以用开关切换摄氏温度值和华氏温度值的显示。
用一个输入控件来代替数据采集卡对传感器的测量结果。
再将电压读数乘以100转换成华氏温度读数,或者再把华氏温度转换成摄氏温度。
实验步骤:
(1)创建前面板
新建一个空白VI。
打开前面板窗口。
在空白处点右键,弹出控件选板,在控件选板中选择温度计、垂直滑动杆开关、数值显示控件、数值输入控件,放在前面板上,添加各控件的名称以及开关状态的标识。
(2)创建程序框图
打开程序框图。
在函数选板中找到乘法函数、减法函数、除法函数和选择函数并将其放入程序框图中。
把图标用连线工具连接起来,并在需要的地方创建数值常量(用连线工具,右键单击你希望连一个常量的对象连线端子,在快捷菜单中选择创建→常量,即可创建一个与端口数据类型相匹配的常数。
也可以先放入一个数值常量再连线。
整个程序创建完毕。
最后可以整理一下图标位置和连线(在需要整理的连线上单击右键,在快捷菜单中选择整理连线)。
(3)运行程序
选择前面板窗口,运行VI程序。
点击连续运行按钮,使程序运行于连续运行模式。
改变“采集的电压”控件输入值(比如在0.5~2之间的任意值)和温度值单位,观察程序运行情况,并解释程序每部分的功能。
再点击连续运行按钮,停止程序运行。
(4)关闭程序
图标
前面板程序框图
3.创建一个电压输出和采集的程序
(1)编写输出电压程序
新建一个空白的VI,在程序框图中创建虚拟通道。
创建一个While循环,并加入一些控件,用连线工具将相应的端口连接起来。
(如图)
(2)编写采集电压程序
用类似的方法创建电压采集程序。
整理各图标和连线。
(3)运行程序
打开ELVIS电源和原型板电源。
在前面板上设置输出通道为Dev3/ao0,输入通道为Dev3/ai0。
在原型板上用导线连接模拟输出(AnalogOutputs)“AO0”端和模拟输入(AnalogInputSignals)“AI0+”端,将“AI0-”端和接地端“AIGND”用导线连接。
在前面板窗口,运行VI程序。
改变输出电压,观察测量电压的变化。
可点击停止按钮,观察程序运行情况。
停止程序运行。
保存上述文件。
(4)关闭程序
图标:
前面板
程序框图
4.用虚拟仪器测量伏安特性
(1)编写程序,包括前面板和程序框图
①创建前面板
放上一个ExpressXY图,用于显示电压—电流图,选“点+线”模式。
放入四个数值型输入控件和一个数值型显示控件,添加各控件的名称以及开关状态的标识。
加入一个二维数组显示控件,用于显示测量的电压和电流。
放入一个开关按钮(控件→布尔→开关按钮),用于控制程序进程。
②创建程序框图
根据实验思路,先输出一个电压,等到稳定后测量。
控制程序执行顺序可以通过顺序结构来实现。
在程序框图中放入一个顺序结构,并使顺序结构有5帧。
把需要的图标移动到顺序结构各帧之中。
首先,让ELVIS输出电压。
在第0帧中放入一个“DAQ助手”。
然后,让程序等待一段时间。
在第1帧中放入一个“等待(ms)”用于等待电阻上的电流达到稳定;再放入一个“单位转换”,在模块中键入“ms”,用于将单位s转换成ms,将“单位转换”的输入端和“时间间隔”相连,输出端和“等待(ms)”端相联。
然后,用ELVIS采集总电压和标准电阻上的电压,计算待测电阻上的电压、电流值。
在第2帧中放入一个“DAQ助手”,在弹出窗口中选择“采集信号”→“模拟输入”→“电压”,在弹出的DAQ助手窗口中的左下角“生成模式”项目下选“1采样(按要求)”,这用来测量总电阻和标准电阻两端的电压。
接下来在第2帧中放入两个索引数组。
用连线工具将DAQ中的数据输出端和数组中的数据端相连,在“索引数组”左下角的索引端创建常量,分别将上下两个索引常量设为0和1。
再在第2帧中放入“减”和“除”的节点。
按照图中所示将它们用连线工具连接。
用总电压减去标准电阻上的电压得出待测电阻上的电压,再把标准电阻上的电压除以标准电阻,求出电流。
然后,再让程序等待一段时间,以减少对数据测量过程的影响。
在第3帧中放入“等待(ms)”,在输入端点右键创建常量,将常量数值改为100(表示100ms)。
在第4帧中放入一个“DAQ助手”,使顺序结构结束时电压输出为0。
通过While循环来实现电压的改变。
放入的While循环要包含先前的顺序结构、“数据”和“电阻的伏安曲线图”。
希望ELVIS输出电压从0V开始到5V,每隔0.25V测一次。
对于较小的待测电阻,这些值要用更小的值,以保证电流不超过限制。
可以把While循环框左下角的循环变量i和数值型控件“输出电压步长”相乘,将其乘积和顺序结构第0帧中的DAQ助手的数据端相连。
可以把While循环的i和输入型控件“测量数据点数”中的值作比较,在和开关作逻辑“与”运算(“与”函数,在函数→布尔→与)后和While框内右下角的循环条件端子相连,并把循环条件改为“真时继续”,用于控制循环。
用移位寄存器实现数据的实时显示,移位寄存器的功能是在相邻两次循环之间传递数据。
在While循环左边框(或右边框)上点右键选择“添加移位寄存器”加上两个移位寄存器,分别用来存储并传递电压和电流的测量数据。
在循环中放入两个“创建数组”,向下拖放其图标使其有两个输入端,将上方的“元素”端口和左边的移位寄存器相连、下方“元素”端口和电压(或是电流)相连,输出端“添加的数组”和右端的移位寄存器相连。
此处创建数组的作用是将来自元素输入端的新测量数据与数组输入端的原来一维数组中的数据串成一个新的一维数组。
创建两个空的数组,用于初始化数据。
显示测量数据。
在程序框图放入一个“创建数组”,拖放其图标使其有两个输入端,把连到移位寄存器上的电压和电流分别和“创建数组”的输入端相连,把“创建数组”的输出和名为“数据”的数组显示控件相连。
显示伏安曲线。
把电压数组和“创建XY图”的X输入相连,电流数组和Y输入相连。
由于显示数组控件“数据”和显示图形控件“电阻的伏安曲线图”都在While循环以内,因此每次循环“数据”和“电阻的伏安曲线图”都会更新一次。
计算电阻值。
在循环外面放入一个“线性拟合”节点(函数→数学→拟合→线性拟合),将移位寄存器传递出来的电流数组和“线性拟合”的X输入端相连,电压数组和Y输入端相连,把“线性拟合”的“斜率”输出端和“待测电阻值”显示控件相连,显示电阻值。
在前面板上整理各图标位置;在程序框图中检查并整理连线。
保存程序。
(2)正确连接外部电路
在ELVIS自带的原型板上连接电路。
电压的模拟输出和模拟采集在原型板的左侧。
(3)运行程序
再次检查前面板窗口中各参量设置情况,运行程序。
分别测量两个待测电阻的电阻值。
分析实验结果。
(4)利用前面的程序(必要时稍做修改)测量并绘制稳压二极管伏安特性曲线。
改变“输出电压步长”为负值时,可以在电阻两端加反向电压。
实验所用的稳压二极管正向和反向允许通过的最大电流都约为10mA,其反向稳定电压大概为0.7V。
图标:
前面板
程序框图
【思考题】
1.虚拟仪器系统与传统仪器有什么区别?
请简要说明。
传统的独立仪器,数据显示形式比较单一,数据处理功能比较简单,不容易根据需要自行改装,不能共享数据,自动化程度低等。
而虚拟仪器实际上就是一种基于计算机的自动化测试仪器系统。
利用通用计算机的强大计算处理功能,通过传感器和接口卡实现信号输入,用键盘、鼠标、显示器等计算机外设实现控制和显示功能。
使用者可以根据需要自行设计仪器,体现了“软件就是仪器”的新概念。
虚拟仪器相比较于传统仪器,其功能更加灵活多变、易于扩展,而且由于和网络技术结合,它还能够与外界进行数据通信,实现远程操作。
2.本实验内容3中的电压输出和采集哪个先执行?
输出先执行。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告 虚拟仪器 物理 中的 应用
![提示](https://static.bdocx.com/images/bang_tan.gif)