中大型labview软件三层设计架构

中大型labview软件三层设计架构

ID:10114663

大小:29.00 KB

页数:5页

时间:2018-06-10

中大型labview软件三层设计架构_第1页
中大型labview软件三层设计架构_第2页
中大型labview软件三层设计架构_第3页
中大型labview软件三层设计架构_第4页
中大型labview软件三层设计架构_第5页
资源描述:

《中大型labview软件三层设计架构》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、通常一个VI若包含三、四十个以上的subVI(不包含LabVIEW本身在Functions中提供的VI)时,就可算是一个中大型的软件计划(softwareproject)了。虽然比起软件工程中的一些作业环境软件(如Windows系列)或大型应用软件(如Word、Excel)等仍算是小工程,但其复杂性亦在一定程度之上,若没有事先想好在撰写程序时的一些规划与方法,想要完成这类中大型的软件绝对不是一件简单的事。尤其这类软件通常不是由一个人,而是由一个团队所共同完成的,因此整个软件的结构,就要能让团队中的每一成员都能清楚的了解,而且要够简单,才算是好的软件结构。以下将参考由Ri

2、ckBitter等人所着”LabVIEWAdvancedProgrammingTechniques”,中之第4章的部分内容,介绍所谓软件计划中的三层式结构(theThree-TieredStructure)的概念及其优点。需要软件结构的主要原因,是当软件人员发展软件到某一阶段时,若没有计划或无意的创造了许多subVI,但各subVI之间有许多部分其实是重复撰写的;或各VI相互间呼叫时没有一定的纪律,使得在VIHierarchy中所看到的各VI间的联机是错综复杂,像个盘丝洞一般,这将可能会使多人发展的软件计划增加所耗费的时间和可能出错的机会、减低程序的效率,以及增加deb

3、ugging时的困难。为了改善上述的情形,所以要提倡三层式结构的概念。三层式结构由上而下依次为:MainLevel、TestLevel和DriverLevel,这种结构是由经验中得来的,在多人发展的软件计划中显得简单明了,当大家都能遵照这个结构来写程序时,这种结构就可以充分显现出它的优点。那这三个阶层到底如何区别呢?以通俗的比喻来说,假设我们如果要组织一个篮球队参加全国比赛,每个球员要练习基本动作及体能,如何跑、如何跳、手脚该如何放置才是正确位置等,这就相当于系统中DriverLevel所做的事情;接下来,将各球员组合练习某一套防守或进攻的战术,如二三区域联防、人盯人防

4、守,每个人该在什么位置才能正确接应等,则像是TestLevel中一项项的test了;而最后比赛时,场上的战略运用,包括何时要用什么战术组合、如何更换球员、何时喊暂停、终场前是不是要故意犯规或采拖延战术等等,对照过来,就像是在MainLevel中,如何将TestLevel中各test做最有效能的整合与排列组合等的工作。简单来说,DriverLevel包含了程序与所有仪器、组件、马达或其它应用软件的沟通、控制等较低阶的事情,使其可完成某一项基本的动作,例如初始化、马达走到home位置、雷射以设定的能量及频率发射光束‧‧‧等。可注意到我们在这边所说的driver,并不像一般在

5、别处所称驱动程序的那种driver那么低阶,真正最低阶的工作还是要有现成的VI来帮忙才行;在TestLevel中,则是如何连接各个DriverVI的基本动作,使可做完出一套连续、有意义的流程,来执行某项测试,例如让手臂由A点走到B点,下降夹取一个螺丝,再走至C点装到某面板上,然后回到A点等待,类似这样控制一个流程的进行,便是TestVI的工作内容;MainLevel则包含了使用者接口(UserInterface)或称人机接口(Man-MachineInterface),目的是整合各项测试和例外处理(ExceptionHandling)等,将它们以适当的顺序及流程组合,很

6、容易地让使用者操作。当一个软件计划严格的遵照上述的三层结构来撰写时,最大的优点是可使程序代码的再使用(codereuse)达到最大化,在不同的TestVI中,可重复使用相同的DriverVI;而在不同程序的MainLevel中,又可重复使用相同的TestVI,这将使得程序维护或修改的时间与精力大幅减少;同时当我们已有一个程序的样板(template)后,可增加软件版本更新的速度。另一个很重要的好处是,当我们在撰写某一个level中的程序时,并不需要关心在另一个level中有什么其它的程序是如何执行的,而只要专注在自己的这个level的程序上就可以了,这使得由团队来共同完

7、成一个大型计划的工作变得容易许多。以下将依DriverLevel、TestLevel、MainLevel的顺序,来介绍在各level写程序时的原则与心得﹔(1)DriverLevel﹔通常在DriverLevel所写的程序是比较低阶的,其功能是把一些最基本的I/O动作按某一顺序连接起来,形成基本动作,大致分为三大类﹔a.组态(configuration):开启或关闭与仪器的连结、将仪器初始化及设定组态等。b.量测(measurement):由仪器读出测量值或特定的资料。c.动作/状态(action/status):一个流程的启始或结束动作

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。