1、 课程设计课程设计报告报告 (LabVIEW 2010 基础教程)学学 院:院:电气工程与自动化学院电气工程与自动化学院 题题 目:目:基于基于 LabVLabVIEWIEW 的自动售货的自动售货机机设计设计 专业班级:专业班级:自动化自动化 131131 班班 学学 号:号:24201329052420132905 学生姓名:学生姓名:吴亚敏吴亚敏 指导老师:指导老师:张振利张振利 时时 间:间:2012016 6 年年 5 5 月月 1616 日日 摘摘 要要 基于 LabVIEW 2010 的自动售货机设计,采用以自定义控件、移位寄存器、While 循环和条件结构组成的状态机作为主要设计
2、思路,辅以属性节点和利用For 循环对数组的自动索引功能建立的子 VI 以及自定义枚举型控件组成的数组等控件,完成自动售货机的功能设计。最后,对前面板的输入控件和显示控件进行布局,调色等操作,完成视觉设计和交互设计。关键词:关键词:LabVIEW;状态机;设计 目目 录录 摘摘 要要.2 第一章第一章 LabVIEWLabVIEW 状态机状态机.1 1.1 状态机的概念.1 1.2 状态机的组成.2 1.3 状态机的状态转换.4 第二章第二章 自动售货机的设计过程自动售货机的设计过程.7 2.1 自定义枚举型控件的制作.7 2.2 下一状态子 VI 的设计.7 2.3 自动售货机程序框图的编写
3、.8 2.4 自动售货机前面板的设计.9 第三章第三章 心得体会心得体会.10 致致 谢谢.11 参考文献参考文献.12 江西理工大学 2013 级自动化专业项目驱动设计报告 1 第第一一章章 LabVIEWLabVIEW 状态机状态机 1.11.1 状态机的概念状态机的概念 顺序模式是我们最先接触,也是最基本的一种编程模式,程序按照固定的顺序依次执行,结束。图 1 顺序结构模式 但在很多情况下,静态的顺序模式并不能满足我们编程的要求,我们需要更有效地动态结构来实时改变程序的执行顺序。比如,一个自动的可乐贩售机,当然它可以实现简单的投币,取可乐,结束这样的顺序模式,但更多的情况下,需要经过多次
4、投币,或者是取消购买来结束一次操作。图 2 动态的程序结构 在这种情况下,状态机的引入就成了必然的结果。那么什么是状态机呢?简单的说,状态机是对系统的一种描述,该类系统包含了有限的状态,并且在各个状态之间可以通过一定的条件执行转换。一般可以用状态图来对一个状态机执行精确地描述。江西理工大学 2013 级自动化专业项目驱动设计报告 2 找零投币5元结束出货投币1元空闲初始化投币5角无操作投币5角总金额3元投币1元总金额=3元总金额3元累计总金额=3元累计总金额=3元单价:¥3图 3 可乐自动贩售机模型 从图中就可以清楚地看到可乐机的运行过程,图中直观地表现了可乐机投入不同金额硬币时的情况以及几个
5、处理步骤的各个状态和它们之间的转换关系,根据投入硬币的不同面值,对总金额执行计算,并对各种操作执行响应以完成一次购买。显然,类似这样的系统,使用顺序结构是难以实现的。1.21.2 状态机的组成状态机的组成 在 LabVIEW 中,任何一个状态机都是由三个基本部分构成的,首先外层是一个 while 循环,同时在 while 循环中包含有一个条件结构,while 循环用于维持状态机的运行,条件结构用以对各个不同的状态执行判断,第三个基本部分是移位寄存器,用以将下一个状态传递到下一次循环状态判断中。另外在一个完整的状态机中,我们一般还会提供初始状态,每一个状态的执行步骤以及下一个状态切换代码等等。江
6、西理工大学 2013 级自动化专业项目驱动设计报告 3 图 4 LabVIEW 中的状态机 除了前面提到的三个基本部分以外,状态机的构建还有一个技巧,就是使用枚举型常量作为状态变量,相对于其它数据类型来说,枚举常量表示了两组成对的数据,一组是字符串,一组是数值,两者一一对应,在前面板上,能直观地看到字符串,在程序面板上则简单地表示为数值型数据,整个枚举型数据的值可以是预定义的多个数据中的任何一个值。图 5 枚举常量与条件结构 为什么要使用枚举型数据来作为状态变量呢?因为枚举型数据和条件结构配合使用时相当方便。第一,在条件结构的条件判断框中,我们看到的将不是单纯的数值,而是我们定义好的字符串,这
7、样直观的表现形式给不同状态的管理带来了方便,另外,我们在条件结构上通过右键单江西理工大学 2013 级自动化专业项目驱动设计报告 4 击,选择为每个值添加分支,就能够自动地将条件结构根据枚举数据执行展开,从而保证每个状态的完整性。此外,考虑到以后对状态机修改及维护的方便,通常,我们将该枚举常量保存为一个自定义控件,将该自定义控件作为枚举常量引入状态机中,当我们需要对状态变量执行修改的时候,只需要对这个自定义控件执行一次修改,更新,就能对该状态机中任何位置的状态变量执行统一的管理了。图 6 自定义枚举常量 1.31.3 状态机的状态转换状态机的状态转换 在实际的工程状态机中,很多时候会遇到一个状
8、态可能往多个状态转换的情况,在这个时候,我们能够使用 LabVIEW 提供的附加的逻辑功能来实现下一个状态的判断。在状态框图中有一个子 VI,利用该子 VI 来对选择哪一个分支为下一状态执行判断。这个功能的实现分为两个子功能,一是子 VI 实现的逻辑运算,这一部分,大家可以根据程序实际的需要自行编写,第二部分就是状态变量的选择。一般来说,实现状态变量的选择有 4 个基本的方法。图 7 状态机的逻辑状态转换 江西理工大学 2013 级自动化专业项目驱动设计报告 5 一般来说,实现状态变量的选择有 4 个基本的方法:(1)默认转换。无论这个状态执行的情况怎么样,都会无条件地转换下指定的下一个状态中
9、。图 8 默认状态转换 (2)选择转换利用真假选择函数来实现。在逻辑子 VI 输出为真时,跳入真分支的状态,运行 State1;为假时,跳入假分支的状态,运行 State2。这个方式在两个可能状态的情况下非常简单和好用,但如果下一个状态的有可能是三个或三个以上的状态呢?后两种方式就是处理这个情况的 图 9 选择转换 (3)条件结构转换。条件结构的多个分支分别对应了不同的下一状态值,根据逻辑判断子 VI 输出的结果,跳入不同的分支以选择不同的状态。江西理工大学 2013 级自动化专业项目驱动设计报告 6 图 10 条件结构转换 (4)转换数组转换。条件结构虽然解决了多个状态选择的问题,但从结构上
10、来看不太直观,管理不够方便,我们可以把所有待选择的状态放入数组中,通过逻辑判断子 VI 输出不同的索引值直接从数组中索引出下一个状态输出到移位寄存器。图 11 转换数组转换 江西理工大学 2013 级自动化专业项目驱动设计报告 7 第第二二章章 自动售货机自动售货机的的设计设计过程过程 2.12.1 自定义枚举型控件的制作自定义枚举型控件的制作 在路径“函数选板编程数值”下找到“枚举常量”,将其拖拽到程序框图中,然后鼠标右键单击选择“制作自定义类型”,接着再次右键单击选择“打开自定义类型”,就可以对其属性进行编辑。图 12 自定义枚举型控件的编辑 2.2.2 2 下一状态子下一状态子 VIVI
11、 的设计的设计 为了解决多状态选择的难题,可以利用 For 循环对数组的自动索引功能来建立子 VI。江西理工大学 2013 级自动化专业项目驱动设计报告 8 图 13 下一状态子 VI 的前面板和程序框图 2.2.3 3 自动售货机程序框图的编写自动售货机程序框图的编写 图 14 自动售货机的初始化 江西理工大学 2013 级自动化专业项目驱动设计报告 9 图 15 自动售货机的空闲状态 2.2.4 4 自动售货机前面板的设计自动售货机前面板的设计 图 16 自动售货机的前面板 江西理工大学 2013 级自动化专业项目驱动设计报告 10 第三章第三章 心得体会心得体会 通过这次课程设计真切地体
12、会到课程设计的目的并不止于自己单纯任务的完成,而在于学习新的知识并掌握具体的方法,如何具体使用和具体应用你所学所用的语言。回首整个开发设计过程,我学到了很多书本上学不到的东西。比如上课讲到的知识点,通常都是实现比较简单的功能。但是这次课设,我要做的是虚拟贩卖机系统的整个设计过程,设计的题目看似高深,其实,在整个程序设计过程中,我所使用的知识都是课堂上讲过的。在每次程序修改中,我都能学到很多的东西。同时,这个课程设计也是对逻辑要求挺强的要求,对我的逻辑能力提高很大。在整个课程设计过程中,基本上完成了虚拟贩卖机系统各个模块的功能,达到了课程设计的要求。江西理工大学 2013 级自动化专业项目驱动设
13、计报告 11 致致 谢谢 在报告完成之际,我首先向关心帮助和指导我的指导老师张振利老师表示衷心的感谢并致以崇高的敬意!大三下学期的学习生活即将结束,回顾一学期来的学习经历,面对现在的收获,我感到无限欣慰。为此,我向热心帮助过我的所有老师和同学表示由衷的感谢!在撰写报告的过程中,我遇到了许许多多这样那样的问题,有的是专业上的问题,有的是报告格式上的问题,一直得到老师的亲切关怀和悉心指导,使我的报告可以又快又好的完成,张振利老师以其渊博的学识、严谨的治学态度、求实的工作作风和他敏捷的思维给我留下了深刻的印象,我将终生难忘老师对我的亲切关怀和悉心指导,再一次向他表示衷心的感谢,感谢他为学生营造的浓郁
14、学术氛围,以及学习、生活上的无私帮助!还要特别感谢帮助我完成设计的几位同学,没有你们的帮助,我也不可能这么顺利地完成设计,在此表示深深的谢意!感谢学长学姐,谢谢他们在这一年来对我学习上的悉心指导,他们在整个实验的过程中都给了我很大的帮助,使我能够顺利的完成这次设计报告。江西理工大学 2013 级自动化专业项目驱动设计报告 12 参考文献参考文献 【1】LabVIEW 大学实用教程.Jeffrey Travis 等编著.电子工业出版社,2008【2】虚拟仪器设计基础教程.黄松岭,吴静编著.清华大学出版社,2008【3】LabVIEW 2010 基础教程.肖成勇,雷振山等编著.中国铁道出版社,2012
copyright@ 2008-2023 冰点文库 网站版权所有
经营许可证编号:鄂ICP备19020893号-2