资源预览内容
第1页 / 共14页
第2页 / 共14页
第3页 / 共14页
第4页 / 共14页
第5页 / 共14页
第6页 / 共14页
第7页 / 共14页
第8页 / 共14页
第9页 / 共14页
第10页 / 共14页
亲,该文档总共14页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
.word可编辑.内蒙古科技大学虚拟仪器期末大作业 题 目:虚拟仪器温度采集系统 姓 名:王伍波 专 业:测控技术与仪器 学 号:1067112240 班 级:测控10-2班 教 师:肖俊生 时 间:2013年6月18日1、 设计题目:虚拟仪器温度采集系统2、 设计要求:1.连续采集温度信号,并存储 2.温度上下限报警功能,上下限可调 3.华氏、摄氏可转换显示3、 设计思路:该设计是以计算机和单片机数据采集系统为核心,单片机数据采集系统主要完成对温度信号进行数据采集,计算机主要完成温度信号的分析、显示和控制等功能。设计中采用Intel 公司的89C51 单片机完成数据采集, 采用A D 5 7 4 完成数据的A/D 转换。图2 为AD574 与89C51 单片机的接口电路。1设计虚拟前面板 温度监测软件设计本系统以labview8.5 作为开发工具。现以仿真数据为例来讲述系统软件对温度的监测、报警及显示功能。利用labview8.5编程使温度可以在华氏和摄氏之间随时进行切换,同时对温度实时监测。当温度超过上限要求时会及时点亮报警灯进行报警并显示每次采集过程中累加的报警次数,报警的上限值可以通过前面板的输入控件改变其值。采集进度定义为每次采集100 点。为了防止程序陷入死循环每次采集之间的时间间隔为1000ms。开始采集后在整个采集过程中可以暂停采集以便随时对温度进行观察。2、编辑流程图 每一个程序前面板都对应着一段框图程序框图程序用LabVIEW 图形编程语言编写可以把它理解成传统程序的源代码。框图程序由端口、节点、图框和连线构成。其中端口被用来同程序前面板的控制和显示传递数据节点被用来实现函数和功能调用图框被用来实现结构化程序控制命令而连线代表程序执行过程中的数据流定义了框图内的数据流动方向 3、运行检验 检验是否能够完成系统的功能改变相应参数进行进一步验证以方便根据实际情况修改设计从而方便实际器件的设计、调试。 4、功能描述 创建一个VI程序模拟温度测量:把创建的温度计程 、序 T(hermometerVI1作为一个子程序用在当前新建程序 里先前的温度计子程序用于采集数据而当前的程序用于显示温度曲线并在前面板上设定测量次数和每次测量间隔的延时;再创建一个新VI程序,进行温度测量,并把结果在波形图表上显示:利用新创建的VI程序再输入新的字符串;据采集过程中。实时地显示数据 ;当采集过程结束后,在 图表上画出数据波形并算出最大值、最小值和平均值(此 处只使用摄氏温度单位):修改TemperatureAnalysisVI DemoReadVohageVI程序以检测温度是否超出范围当温度超出上限(High Limit)时,前面板上的LED点亮,并且有一个蜂鸣器发声。 5、设计过程 创建一个VI程序模拟温度测量假设传感器输出电 压与温度成正比。例如当温度为70时,传感器输出电压为07V。本程序也可以用摄氏温度来代替华氏温度显示。本程序用软件代替了DAQ数据采集卡 使用Demo ReadVoltage子程序来仿真电压测量。然后把所测得的电压值转换成摄氏或华氏温度读数。 1)、用Fne菜单的New选项打开一个新的前面板窗口 把温度计指示部件放入前面板窗口在前面板窗口的空白处点击鼠标键然后从弹出的Numeric子模板中选择Thermometer:在文本框中输入 “温度计”再点击鼠标 键按钮;重新设定温度计的标尺范围为00到1000;使用标签工具A。双击温度计标尺的100,输入 1000。再点击鼠标键或者工具栏中的V按钮 在前面板窗口中放人竖 标从弹出菜单中选择EditIcon功能。双点选择工具,并的Boolean子模板中选择VerticalSwitch在文本框中输入 “温度值单位”。再点击鼠标键或者工具栏中的V按钮;使用标签工具A。在开关的“条件真”(true)位置旁边输入自由标签 “摄氏”。再在 “条件假”(false)位置旁边输入自由标签 “华氏”创建的虚拟前面板如图1所示图1 2)从Windows菜单下选择ShowDiagram功能打开框图程序窗口 点击框图程序窗口的空白处弹出功能模板从弹出的菜单中选择所需的对象。本程序用到下面的对象: (1) DemoReadVoltageVI程序(Tutorial子模板)。该程序模拟从DAQ卡的0通道读取电压值: (2) (2)Muhiply(乘法)功能(Numeric子模板)。该程序用于将读取电压值乘以10000以获得华氏温度: (3) (3)Subtract(减法)功能(Numeric子模板)。该程序用于从华氏温度中减去320以转换成摄氏温度; (4) (4)Divide(除法)功能(Numeric子模板)。该程序用于把相减的结果除以18以转换成摄氏温度:(5) (5)Select(选择)功能(Comparison子模板)。取决于温标选择开关的值。该功能输出华氏温度 (当选择开关为false)或者摄氏温度(选择开关为Ture)数值;(6)数值常数。用连线工具,点击希望连接一个数值 常数的对象并选择CreateConstant功能。若要修改常数值。用标签工具双点数值,再写入新的数值; (7) 字符串常量。用连线工具点击希望连接字符串常量韵对象再选择CreateConstant功能。要输入字符 串用标签工具双击字符串,再输入新的字符串;使用移位工具(Positioningtoo1)把图标移至图示的 位置再用连线工具连接起来。 DemoReadVohageVI子程序模拟从数据采集卡的0通道读取电压程序再将读数乘以1000转换成华氏温度读数或者再把华氏温度转换成摄氏温度。 图2 框图程序如图 3) 创建图标和端 口。把创建的温度计程序(Ther-rnometerVI1作为一个子程序选择前面板窗口使之变成当前窗口,并运行VI程 序。点击连续运行按钮。使程序运行于连续运行模式;再点击连续运行按钮。关闭连续运行模式。创建图标Tempf此图标可以将现程序作为子程序在其他程序中调用)。创建方法如下:在面板窗口的右上角的图标框中点击鼠标从弹出菜单中选择EditIcon功能。双点选择工具,并 按下Delete键消除缺省的图标图案。用画图工具画出温度计的图标。使用文本工具写入文字。双击文本工具把字体换成SmallFont。当图标创建完成后,点击OK以关闭图标编辑。生成的图标在面板窗口的右上角。 创建联接器端口:点击右上角的图标面板,从弹出菜单中选择Sh0wConnect0r功能。LabVIEW将会根据控制和显示的数量选择一种联接器端口模式。在系统中,只有两个端口一个是竖直开关另一个是温度指示把联接器端口定义给开关和温度指示。 使用连线工具在左边的联接器端口框内按鼠标键,则端口将会变黑。再点击开关控制件一个闪烁的虚线框 将包围住该开关。现在再点击右边的联接器端口框,使它变黑。再点击温度指示部件。一个闪烁的虚线框将包围住温度指示部件这即表示着右边的联接器端口对应温度指示部件的数据输入。如果再点击空白外。则虚线框将消该 失而前面所选择的联接器端口将变暗,表示已经将对象 部件定义到各个联接器端口。注意:LabVIEW的惯例是前面板上控制的联接器端 口放在图标的接线面板的左边,而显示的联接器端口放在图标的接线面板的右边。也就是说图标的左边为输入端口而右边为输出端口确认当前文件的程序库路径为SeminarLLB用文件菜单的SAVE功能保存上述文件并将文件命名为Ther- mometerVi。 现在该程序已经编制完成。它可以在其他程序中作 为子程序来调用在其他程序的框图窗口里,该温度计程序用前面创建的图标来表示。联接器端口的输入端用于选择温度单位输出端用于输出温度值。关闭该程序。4)创建一个新vI程序进行温度测量打开一个新的前面板窗口在里面放一个竖直开关 (在Boolean逻辑部件子模板)给该开关标注为 “Enable” 你可以用该开关来开始停止数据采集;在前面板 内再放置一个趋势 图 (Graph子模板 中的Waveform Chart)标注为 “温度历史趋势”。该图表将实时地显示温度值;由于趋势图将它的图标注解plot自动地标注为“ plot0”。你可以用标注工具将其重新标注为 T“emp”;因为趋势图用于显示室内温度需要对它的标尺进行重新 定标。将Y轴的“10”改为 “90”,而将 “00”改为 “20”;此时 暂时不要创建模式转换开关而是从框图程序窗口创建前 面板的部件 。 图3前面板部件 5)、打开框图程序窗口,从结构(Structure$)工具模板选 择条件循环结构 “WhileIx,op”放人框图程序窗口调整该条件循环框的大小把先前从前面板创建的两个节点放 人循环框内。放人其它的框图程序对象。ThermometerVI这个VI程序是前面创建的从SemiBarLLB中调出f从 SelectaVI子模板)。按照上图的框图程序连好线。创建模式开关 把连线工具放在TheriBometerVI的Mode输入端 口上按鼠标右键并选择CreatCono1这样就可以自动 创建模式转换开关并将它与TherlnometerVI子程序相 连线,再转换到前面板窗口,将模式转换开关的位置重新 调整。在前面板窗口,使用标注工具双击模式开关的 “OFF”标签,并把它转换成 “华氏”再把“ON”标签转换为 “摄 氏”。要转换开关状态,使用操作工具(Operating Too1)。将模式开关设置为ON状态运行该VI程序。要停 止数据采集,点击Enable开关使其状态变为OFF循环结束。修改Enable开关缺省设置使运行vI程序时不必 每次打开该开关。运行该程序,把开关点击为Stop状态以 停止数据采集。开关将变为OFF状态,但当条件循环结构再次读取其数值时,它又会变成ON状态。 图4温度测量框图程序 若在运行程序时希望它以一定的时间间隔例如 一 秒钟一次或者一分钟一次来采集数据 就可以WaitUntilNextms,Multiple功能 (在Time&Dialog子模板)来 满足上述条件 该功能模块可以保证循环间隔时间不少于指定的毫秒数。如图5所示使vI程序采样间隔为500毫秒 则可使用Time&Dialog子模板中的WaitUntil Nextm,sMultiple功能再加上时间常数 NumericCon stant把它设置为500。关闭并保存上述程序,文件名为TemperatureMon 图5温度测量框图程序 利用前面创建的新vI程序,在数据采集过程中实时地显示数据 当采集过程结束后在图表上画出数据波形并算出最大值、最小值和平均值。6)、打开创建的TemperatureAnalysisVI程序 按照下图所示修改前面板。被虚线框住的部
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号