- 0
- 0
- 约3.43千字
- 约 3页
- 2025-06-05 发布于北京
- 举报
用LabVIEW编写Wizard类型的应用程序3(LabVIEW8.0)
五、SubPanel
主VI太过复杂,是肯定会影响它的可读性和可性的。所以,对向导类型程序的进
一步改进的重点,就是把主VI进一步模块化,不但是程序代码要模块化,界面也必须模块
化。代码模块化相对比较简单,多利用子VI就是了。但是界面的模块化,在之前的LabVIEW
中是非常的,因为LabVIEW没办法在运行时,把不同的VI的界面拼在一起。是
LabVIEW7.1和8.0的一些新功能最终解决了这个问题。
对程序界面模块化,按一般的思路,第一步就是把每个页面划分成一个独立的模块。这
似乎又回到了我们前文提到过的第一、二个阶段。但有所不同的是,旧版本LabVIEW功
能不全,无法很好的管理被分为模块的页面,而新LabVIEW改进的对这方面的支持。
在LabVIEW7.1中出现了一个新的控件-SubPanel(子面板)。当一个VI运行的时
候,它的SubPanel控件中,可以显示另一个VI的前面板。我们可以利用这个新的控件,
我们可以使用插件框架式程序架构来编写向导型的程序。图1是这种插件框架式程序结构的
示意图。
图1:插件框架式的程序结构
插件框架式程序的实现思路是,把向导的每个页面都分配到一个独立的VI上去,这个
页面上所有的操作,都有这个页面所在的VI完成。图1左上部分的那些VI就是为每个页
面编写的VI。这些VI都被当作插件,在主程序需要的时候被调用显示在主程序上。
图1右下角的VI是主程序的VI。它的界面上主要是一个SubPanel控件,这个控件用
于显示页面VI的界面。主程序在每一步的时候,分别把对应这一步骤页面的VI的界面显
示出来,这样就实现的向导功能。主程序的界面上还有一些公共控件,比如“上一步”“下一
步”这样的按钮,这些按钮在所有步骤中都需要,所以可以放在主框架上,不需要再在每个
页面中重复了。
这样的插件框架式程序在运行时,主VI和插件VI是在同时运行的。
主VI的运行流程大致如下:创建或程序运行时需要的各种-初始化程序
-等待和处理,主要是管理插件。比如在用户按下“下一步”按钮后,主程序负责把当
前的插件移出内存,把对应下一页的VI调入内存,运行,并显示界面。-最后负责销毁
创建的,关闭所有资源,。
插件VI的主要程序结构和主VI一样,采用的是处理结构。它在运行起来以后
执行的流程也和主VI类似:创建或插件运行时需要的各种-初始化程序-
等待和处理,主要是用户在界面上的操作,和一些程序,比如数据处理等等。-销
毁创建的,关闭插件。
虽然SubPanel在LabVIEW7.1中就出现了,但是我当时却并没有在我的程序里采用
上述的设计方案。只是因为当时还有一个棘手的问题没有解决。这个问题就是VI太多了,
不好管理。
向导页面的多个插件VI,他们的功能有很多共同之处。在以前,所有页面都在同一个
主VI中的时候,那些相同的功能可以通过调用同一个子VI来完成。但是,把页面分割
成独立VI,很多情况,我都不得不为每个页面做一整套子VI,他们在每个页面上完
成的功能都类似,但却不能使用同一个子VI。
以处理为例,我写了一套子VI处理页面VI的。但是由于不同的页面可能
会同时在运行,每个页面都有自己的,如果调用同一套处理的子VI,不同页面之
间会相互干扰。
另外,如果想创建一个新的页面,最方便的方法莫过于把一个已有页面的V
您可能关注的文档
最近下载
- 大数据技术融合人力资源管理.docx VIP
- 2026年中国大型广告牌行业市场数据调查、监测研究报告.docx
- 2025年江苏省建筑施工企业主要负责人安全员A证考核考试题库附答案.docx
- 新编语文课程与教学论讲义.docx VIP
- 苏科版数学八年级下册期中测试试卷-含答案02.pdf VIP
- 03-【传统村落保护规划】宁波韩岭古村总体改造方案-DC国际-366页.pdf VIP
- 汽车调光玻璃行业市场前景及投资研究报告:天幕玻璃,国产厂商突破瓶颈,价格下探.pdf VIP
- 金融大数据与人工智能的融合趋势.docx VIP
- 上肢康复训练系统技术参数.docx VIP
- 五年级下册每日计算.pdf VIP
原创力文档

文档评论(0)