labview:toolbox

模拟电梯

利用labview教学演示工具箱,通过labview编程,控制步进电机转动(一周共有八个稳定点,类似于电梯的八层楼)。同时控制指示灯显示具体“楼层”。

这里先给一个labview控制面板的简介,演示工具箱最好可以也找人录一段视频。

计划课时数:???(十课时以内,分两次)

预习内容:
1、labview的基本操作,以及简单的编程结构(For、While、条件结构等),布尔量的操作,数组运算。只要有大致了解即可,第一次课主要用来熟悉这些操作。
2、步进电机的工作原理及编程流程。 可以参看这里

第一次课主要完成各个具体控制环节的编程,第二次课则通过整合完成整个程序。

基本要求:

  1. 电梯能正常运动,指示灯示数正确。
  2. 当达到指定楼层后,电梯与指示灯都停止。
  3. 在labview的控制面板上,也做一个楼层指示器,与演示工具箱上的指示灯同步。
  4. 要求电梯能升能降(即电机可以实现双向的转动)。



说明:考虑到熟悉软件的问题,第一次课课时可能不够,因此应当自行合理调整进度。另外,如果对软件有比较好的掌握,也可以不按照下面的流程,只要在规定课时内完成基本的实验内容即可。

控制步进电机是本实验最基本的操作,在相关的介绍材料里面已经提到了本实验是使用四相八拍的步进策略,对应八层楼。

可以有不同的编程策略实现步进,这里只介绍一种,并提出一些注意点

  • 关于通过AD卡控制工具箱。由于我们使用AD卡来进行数模转换,因此编程时首先要调用AD卡,本实验中涉及到的集成至labview中的模块有,Creat ID,Release ID,DO,DI四个

这些模块的具体功能可以参见说明书

  • 布尔开关量(数字逻辑)。无论是通过DO输出指令还是由DI读取状态参数,labview里得到的都是开关量,进行的是专门针对布尔开关量(0、1)的操作,而且基本上都是以布尔数组

的形式出现。因此,能够使步进电机动起来之后,最好再利用DI查看一下读取到的状态参量,以及对应的十进制数,在后面的编程中,可能需要这些知识见视频

  • 关于步进,最简单的方式之一是做一个for循环,(以8为周期,再利用while实现无限的重复),对单个周期中循环的每一步,利用条件结构,按照四相八拍的真值表,分别予以赋值

(逻辑数组)。考虑到初次接触,附上下图以供参考。

演示工具箱上的指示灯就是那种七根火柴拼起来的示数器,可以显示0-9.本实验中需要用到的只是1-8而已。

在这一部分我们先做一个比较简单的示数控制,即调节数字输入框,使工具箱的指示灯相应显示出1-8。

提示:类似于上面,用while加条件结构,注意控制指示灯示数的是DO7-DO13这7个布尔开关。在这部分不需要电机步进,直接将DO0-DO6空置(0)即可。

控制labview面板上的指示灯。这一部分可以不用演示工具箱,参看这里

其中,那七根火柴是用长方形布尔开关搭成的。

利用上面几部分的有关知识,完成完整的程序。上面几部分有些需要进行比较大的改动,有些可以直接套用。另外,要实现到指定楼层后电梯停下来的目的,以及令电梯双向运行,

还需要重新构思。因此前一部分主要还是熟悉操作,后一部分则需要一些编程的思想方法。

完成了所有内容后,还可以考虑做一些修饰,比如电梯运行时工具箱的红灯亮起,到站时绿灯亮起(很容易)等。

完不成所有内容也是可能的(实际上我觉得可能性很大),希望评分时勿仅以此为标准。

返回

  • labview/toolbox.txt
  • 最后更改: 2011/10/01 15:32
  • (外部编辑)