前言
模块化思想就是将程序划分为若干个区块,这样对程序某个区块进行修改就不会影响到其它区块。Labview中用子VI实现程序的模块化。
当一个VI被用到其它VI中,则该VI被称为子VI,子VI相当于文本语言中的子程序。
创建子VI有两种方法,接下来为大家介绍。
一、直接生成子VI
生成方法:框选需要做为子VI的部分---->面板上选择编辑---->创建子VI。
例1:该程序为比较两个数绝对值大小然后输出绝对值较大的那个数。通过它生成子VI,再编程实现3个数的绝对值比较大小。
首先选择比较部分的程序:
生成子VI:
编写三个数比较大小程序:
将比较部分重复的代码变成子VI,使得代码变得简洁。
该方法特点是生成速度快,但该方法在创建多个子VI后,记得及时点击入子VI,对图标跟子VI名称进行更改跟保存,否则容易造成混乱跟错误。因为如果创建好一个子VI没有对其进行保存,又创建了多个其它子VI,容易造成混淆。且创建的多个子VI默认图标相同,其它编程人员难看清程序的逻辑。
双击子VI,弹出子VI前面板窗口:
点击框中的图标编辑器,为子VI创建图标,方便识别(也可以用默认图标,但是子程序多了将难以区分)。
在图标编辑器上,画图,最好体现程序作用:
删除默认图标,在第一行文本框中输入MAX,然后在外面加两条竖线表示绝对值。这样就能明确表示子VI作用——取绝对值较大的数。
保存并命名:
在主程序中显示子程序标签,这样程序就简洁明了。
二、创建一个子VI,外部再调用
新建一个VI---->接线板创建输入输出---->自定义图标---->保存----->外部调用。
例2:还拿刚刚程序举例子。
在前面板上用接线端子选择对应的输入跟输出:
(接线端子默认422*4如果不够用可以右键—>改变接线板样式)
先点一下接线板输入端(左接线端),接线端会变为黑色,再点一下输入“数值1”,接线端会变为橙色(随类型变化),这样就确定了一个输入。
同理配置好另一个输入点,跟一个输出点:
同例1一样配置好默认图标:
保存并命名:
新建一个主VI调用该子VI:
连接好程序:
这两种方法都能创建子VI,主要看编程者的需要,灵活运用。
三、设置必需,推荐和可选输入输出
有些子VI输入输出不是一定需要接线的,或者编程者可以为子VI没有输入的情况设置默认值,有些输入是必需的,否则子VI将不能正常使用。
必需接线端程序没有连线时会出现短线,如果摸个输入对子VI时必不可少的需要设置为必需类型;推荐和可选程序可以不用接线,也能正常运行。
右击某个接线端,可以改变接线端类型:
总结
创建子VI是Labview大型化编程所必需掌握的知识,也是小白课程的结束。接下来将学习比较困难得内容,对我来说也是一种挑战,希望大家能对以前的知识融会贯通。