Labview培训总结(1)
转眼,一周的培训结束了,回顾这周,收获还是很多的,对于完全陌生的labview逐渐变得熟悉,操作也变得熟练。对于老师给我们布置的任务也都完成了,虽然过程中有困难,但是经过老师的讲解,以及同学之间的互相讨论和百度,我们终于一路过关斩将,披荆斩棘,打败了它们。下面来说说这几个作业以及我做作业的思路和方法。
首先,第一个作业是求三个数平均值,这是个很简单的小程序,在前面板放置三个数字输入框和一个数字显示框,然后在程序面板通过数值按钮里的加减乘除的按钮和连线将他们连接起来即可。如图:
(求平均前面板)
(求平均程序框图)
第二个作业是利用labview来实现e值得计算,虽然我们都知道e的值为2.71282,但是我们同样是可以用labview来得到这个值的,我们知道e=1+1/2!+1/3!+.....+1/N!,我们可以利用这个公式来的到e的值,他的前面板很简单就一个数值输出框和一个确定按钮,如图
(求e值前面板)
(求e值程序框图)
问题:在做这道题时我遇到了一些困难,像我们前面不知道怎么用那个确定按钮,就算写了程序可是并不知道怎么输出它的值,后来经过百度了解了结构里的事件结构的用法,解决了这一困难,当我们添加了事件分支后如把确定按钮添加进去,就回显示确定按钮值改变,这样我们按下确定后,就会执行事件结构框内的while循环结构,则会输出值。
作业的难度是一点点的上升的额,第三个任务是利用labview设计一个温度报警器,当达到温度设置上限时,警示灯就开始亮起,同时显示框中显示实时温度,当温度过高时显示“温度过高XX”假设XX为当时的过高温度,当然,字符串输出框是要有记录功能的,滚动拉右边的滚动条就可以查看以往的温度记录。这个任务刚拿到手里时有点蒙,无从下手啊这个,后来经过百度以及和同学们的讨论,有了一定的思路,它的前后面板如下图,有一个报警上限的滑动杆和一个温度计,一个报警灯,一个报警按钮一及一个显示框,前面板没什么困难,主要是程序框图,如下
(温度报警器程序框图)
在课堂上老师对我们进行了一定的点播,我们利用一个随机数发生器产生一个数,输出到温度计,将这个至于报警上限值进行比较,当报警开关和大于报警上限值同时满足时,则报警灯亮起,当输出实时温度温度时用到一个字符串显示和一个字符串连接,把要输出的内容通过字符串连接器连接起来,这样就可在显示框中显示,同时这里要有一个条件判断结构,如果大于那上限温度,则输出温度过高字样,哦,别忘了换行,不然他全部显示在一行。
问题:在做这个作业时遇到的最大问题就是如何让它有记录功能,让它可以记录上一时刻的温度,在百度过后,我学会了如何使用移位寄存器,再用了他过后就可以记录了。
第四个任务就是升级版的温度报警器,这个报警器要求更多,第三个作业的要求全部包括,又在原基础上增加了通过一个按钮来实现摄氏度与华氏度的转换,并且记录报警次数,还要增加三个按键,同时他有三个按键,1、开始键:开始采集。2、暂停键:暂停采集。3、停止键:采集停止,按了开始键后从头开始采集。需要用到的知识也更多,for循环,while循环,事件结构,条件判断结构,移位寄存器,公式节点等等,都用到了,对于这些新增要求我想的是一步步一个一个的去实现它。
1,记录报警次数
我们要实现当超过温度上限时,就记录一次,累加次数,它的程序控制图如下,这里同样用到了一个累加器,在实现这一部分功能时。
问题:我遇到的问题是它的温度当有一次不超限时就计数就清零,前面一直搞不定这个问题,后来和请教了同学,知道了原来是要把条件语句的假部位也要连起来,不然就会清零。
对于华氏度和摄氏度的转换问题,因为老师进行了指导,完成的比较顺利,用了一个公式节点就解决了。框图如下
困惑我们最久就是采集进度条的问题了,因为要实现按键就开始采集,暂停键就暂停采集的问题,而停止停止整个系统,按开始键时又开始从头开始,在这个过程中,我们遇到了如下问题。
问题:1、在使用判断结构时,开始可以开始,但是暂停键不知如何安放。后面经过思考我们觉得可以用到一个非语句,将他接在暂停键的后面,如果按暂停键取非就采集,没按暂停键就执行while循环,开始采集,线图如下,通过这样的接线总算结局了这个问题。
(真部分)
(假部分)
再然后就是停止键的问题了,我前面把它想的太简单,以为将停止键接一个系统停止按钮就可以了,那样按下停止按键就跳出整个系统,今天下午听老师的讲解,知道了要求是按停止键会停止系统,但是按采集键后从零开始采集,我就改程序将停止键接在了for循环的条件判断处,在for循环外加一个事件结构,然后在整个程序外加了一个while循环,使其整个连续循环。它的前面板如下。
(温度报警器前面板)
由于程序框图太大了,分两部分截图如下。
(温度报警器程序框图1)
(温度报警器程序框图2)
到这里总算实现了所有功能,心中还是有一定的成就感的,在后面的学习中继续努力,争取学到更多的知识。