77范文网 - 专业文章范例文档资料分享平台

《虚拟仪器技术》实验指导书(4)

来源:网络收集 时间:2020-05-05 下载这篇文档 手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:或QQ: 处理(尽可能给您提供完整文档),感谢您的支持与谅解。点击这里给我发消息

LabVIEW实验指导书

2.使用Case结构,创建一个VI以检查一个数值是否为正数。如果它是正的,VI就计算它的平方根,反之则显示出错。如图3-9所示,最后将该VI保存为Case Structure.vi。

提示:可以使用以下函数:

One Button Dialog函数:它可以用于显示一个对

话框,内容可由字符串常量输入提供。 例如:

图3-9 Case Structure 3.设计一个VI,用公式节点来计算下列方程:y1=x3-x2+5,y2=mx+b,其中x的取值为0-20,以上两个方程只许使用一个Formula Node。

4.设计一个VI能够像计算器一样进行运算。前面板上有两个数字控制器,用来输入两个数字,另有一个指示器,用来显示VI对输入数字进行运算(Add、Subtract、Divide或Multiply)的结果。用一个滑动条控制器来选择加、减、乘、除运算。

*5.分别用Case结构和公式节点语句两种方法,实现下列条件分支语句:

考虑计算两数比率x/y的下列代码段:

if (y?0) z=x/y; else z=+?;

两VI保存为Case Division.vi和Formula Division.vi。

*6.利用case结构的多分支,进行下列简单程序设计。 要求:星期一显示:新的一周开始了,好好学习! 星期二显示:今天是星期二,继续努力! 星期三显示:今天是星期三,生活愉快! 星期四显示:周四了,加油呀!

星期五显示:今天是星期五,站好最后一班岗! 星期六显示:周末愉快!

星期日显示:好好休息,迎接新的一周!

四、思考题

1.数据流编程有何有点?

2. LabVIEW有哪两种顺序结构?各有何特点? 3. 掌握Case结构的组成及设计方法。 五、实验报告要求

1.调试编辑以上VI,按顺序打印以上VI的前面板与程序框图后,贴在实验报告上;实验报告中要求详细说明设计步骤要点。

2.使用公式节点时,如果输入变量的名称同输出变量的名称相同时,会怎样? 3.心得体会及其它。

13

LabVIEW实验指导书

实验四 LabVIEW程序结构——事件结构与状态机

一、实验目的

1.掌握事件结构(Event Structure)编程。 2.了解状态机的工作原理和设计方法。 二、实验原理

1.事件结构(Event Node)

编程的主要目的是为了实现用户的某种功能,用户通过用鼠标、键盘、程序内部等触发某种程序动作,从而达到某种结果,这些操作都被称作为事件,LabVIEW中相应这些事件最常用的结构就是―事件结构‖。事件结构内容丰富,基本上大的程序结构都需要用到事件结构。

事件结构在程序不能够单独响应各种事件,必须与循环结构一同使用。

以图形化方式响应和处理用户的操作;与Windows操作系统的事件处理方式相似。如图4-1所示。

事件超时事件数据节点选择器标签选择器标签对应事件的子框图 图4-1 事件结构

事件结构的组成:

(1)上边框中间是事件选择标签,用于标识当前显示的子框图(第0个)所处理的事件源。其增减与层叠式顺序结构和选择结构中的增减类似。

(2)事件数据节点为子框图提供所处理事件的相关数据。事件数据节点由若干个事件数据端子组成。

(3)事件超时端子,隶属于整个事件结构,用于为超时事件提供超时时间参数,以ms为单位。当值为-1时,事件结构处于永远等待状态,直到指定的事件发生为止。通常情况下,应当为事件结构指定一个超时时间,否则事件结构将一直处于等待状态。

LabVIEW事件编程的黄金原则:

(1)不要将事件结构放置在While循环之外。 (2)不要在事件结构中直接使用循环处理事件。 (3)在事件结构中添加“停止”按钮的处理分支。 提示:为防止前面板“死锁”,在编辑事件结构分支时,请将“锁定前面板直至事件分支完成”复选框去掉。

2.状态机

顺序模式是我们最先接触,也是最基本的一种编程模式,程序按照固定的顺序依次执行,结束。

14

LabVIEW实验指导书

但在很多情况下,静态的顺序模式并不能满足我们编程的要求,我们需要更有效地动态结构来实时改变程序的执行顺序。比如,一个自动的可乐贩售机,当然它可以实现简单的投币,取可乐,结束这样的顺序模式,但更多的情况下,需要经过多次投币,更或者是取消购买来结束一次操作。在这种情况下,状态机的引入就成了必然的结果。

那么什么是状态机呢?简单的说,状态机是对系统的一种描述,该类系统包含了有限的状态,并且在各个状态之间可以通过一定的条件进行转换。一般可以用状态图来对一个状态机进行精确地描述。

在LabVIEW中,任何一个状态机都是由三个基本部分构成的,首先外层是一个while 循环(用于维持状态机的运行),同时在while循环中包含有一个条件结构(用以对各个不同的状态进行判断),第三个基本部分是移位寄存器(用以将下一个状态传递到下一次循环状态判断中)。另外在一个完整的状态机中,我们一般还会提供初始状态,每一个状态的执行步骤以及下一个状态切换代码等等。

除了前面提到的三个基本部分以外,状态机的构建还有一个技巧,就是使用枚举型常量来作为状态变量,相对于其它数据类型来说,枚举常量表示了两组成对的数据,一组是字符串,一组是数值,两者一一对应,在前面板上,能直观地看到字符串,在程序面板上则简单地表示为数值型数据,整个枚举型数据的值可以是预定义的多个数据中的任何一个值。

为什么要使用枚举型数据来作为状态变量呢?

因为枚举型数据和条件结构配合使用时相当方便。第一,在条件结构的条件判断框中,看到的将不是单纯的数值,而是定义好的字符串,这样直观的表现形式给不同状态的管理带来了方便,另外,在条件结构上通过右键单击,选择为每个值添加分支,就能够自动地将条件结构根据枚举数据进行展开,从而保证每个状态的完整性。

此外,考虑到以后对状态机修改及维护的方便,通常将该枚举常量保存为一个自定义控件,将其作为枚举常量引入状态机中,当需要对状态变量进行修改时,只需要对该自定义控件进行一次修改、更新,就能对该状态机中任何位置的状态变量进行统一的管理了。 三、实验内容

1. 在前面板中显示一个按钮和一个数值输入控件,当在按钮上按下鼠标或数值输入控件值发生变化时,产生事件。当该事件发生时,弹出对话框,询问是否继续,点击Yes,While循环继续执行;若点击No则退出While循环;此外,设置一个超时处理子图形代码框,若5秒钟没有在前面板操作,则退出While循环。

15

LabVIEW实验指导书

2. 数据采集与处理状态机设计。该状态机主要完成数据采集与数据分析功能。

(1)状态变量枚举类型定义为:初始化、停止、检查VI事件、数据采集、数据分析等五项,将其设定为自定义类型。系统状态转换图如图4-5所示。

数据采集 “数据采集”:值改变 数据分析 “数据分析”:值改变 “停止”:值改变 初始化 检查VI事件 图4-5 状态图转换图 (2)在“初始化”分支中,将向波形图、信号测量局部变量写入初始数据代码。注意数

组常亮为一个空数组。

(3)在“检查VI事件”分支中,设置一个VI事件结构,事件结构包含以下事件分支: ? “数据采集”:值改变; ? “数据分析”:值改变; ? “停止”:值改变。

并将每个按钮设置为“释放时触发”。

(4)输出隧道设置为“取消未连线时使用默认”。 (5)Case结构中不要包含默认帧。 (6)前面板及部分程序框图如下:

停止

16

LabVIEW实验指导书

*3. 在前面板放置四个控件:门——布尔控件,表示一扇门(鼠标点击表示敲门);敲门次数——控件用来记录时间的次数;停止按钮——布尔控件,用来表示随时停止程序的运行;门把手——指示灯控件,要开门时门把手变绿,不开门时门把手为红色。

要求用事件结构设计,运行程序后,就一直等待事件的发生,此时,如果用鼠标点击“门”一次,则会弹出对话框,显示“您找谁呀?”,如果让其进入,选择“确定”按钮,门把手变“绿”,程序终止;如果不让其进入,选择“取消”,敲门次数显示为1,程序继续等待。

如果再敲门,则显示“对不起,您敲错了!”,确定后,敲门次数显示为2。如果再敲,则显示“错了,请不要再敲了!”,敲门次数显示为3。如果再敲,则显示“如果再敲,我就要报警了!”,敲门次数显示为4。如果还敲,则显示“这里是110,我们正赶往您那儿!”,确定后,程序自行终止。

如果在整个过程中,点击“停止”按钮,程序随时终止。

四、思考题

1.什么是事件?事件结构有哪几部分组成?使用事件结构有何优点? 2.什么是状态机?状态机有哪几部分组成?为什么要使用状态机? 五、实验报告要求

1.调试编辑以上VI,按顺序打印以上VI的前面板与程序框图后,贴在实验报告上;实验报告中要求详细说明设计步骤要点。

2.使用公式节点时,如果输入变量的名称同输出变量的名称相同时,会怎样? 3.心得体会及其它。

17

百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说教育文库《虚拟仪器技术》实验指导书(4)在线全文阅读。

《虚拟仪器技术》实验指导书(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印 下载失败或者文档不完整,请联系客服人员解决!
本文链接:https://www.77cn.com.cn/wenku/jiaoyu/1024690.html(转载请注明文章来源)
Copyright © 2008-2022 免费范文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ: 邮箱:tiandhx2@hotmail.com
苏ICP备16052595号-18
× 注册会员免费下载(下载后可以自由复制和排版)
注册会员下载
全站内容免费自由复制
注册会员下载
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: