LabVIEW中的多态VI程序是指:该VI程序作为子程序被调用时,可以自动适应所连线的输入数据类型,自动选择实际的处理VI程序并得到正确的运算结果。可以简单的理解为,多态VI程序本质上只是具有相同输入输出参数模式的不同VI程序的集合,LabVIEW平台本身可以根据连线的数据类型自动选择相应的VI程序。
下面通过一个具体实例演示LabVIEW中多态VI程序的创建及使用方法。
例子说明
编程实现一个多态VI程序——MyAdd.vi,实现两个数据x、y的相加运算,得到运算结果z。其中,输入参数x、y可以是以下三种数据类型情况:
l X、y皆为double类型,输出参数z为double类型,其值为x、y两个数值相加的结果
l X、y皆为字符串类型,输出参数z为字符串类型,其值为x、y两个字符串进行连接的结果
l X、y皆为bool类型,输出参数z为bool型的数组类型,其值为将x、y组成一个一维数组的结果
其总体的编程实现思路是:先分别编写三个子VI程序,对应上面的三种输入类型,其名称分别为“Add_double.vi”、“Add_string.vi”和“Add_bool.vi”,然后在这三个VI程序的基础上创建多态VI程序,下面分别进行说明。
三个子程序的创建
1、“Add_double.vi”的前面板和程序框图
2、“Add_string.vi”的前面板和程序框图
3、“Add_bool.vi”的前面板和程序框图。
上面三个VI程序,连接口(输入输出参数)皆定义为两个输入x、y,一个输出z。
多态VI程序的创建
在LabVIEW平台中选择菜单“文件”---->“新建(N)...”,在弹出的新建对话框中选择新建的VI类型为“多态VI”,保存名称为“MyAdd.vi”。在多态VI的界面中,单击“添加...”按钮,将上面已经创建的三个子VI程序添加进去即可,其它选择默认设置,可以根据需要自定义多态VI的图标。
设置完成后如下图所示:
需要注意的是,多态VI本质上是多个VI程序的集合,所以它没有程序框图。
多态VI程序的测试
下面新建一个VI测试程序“test.vi”,在程序框图上选择上面的多态VI程序,看一下程序是否能根据不同的输入参数类型得到正确的结果。测试程序前面板及框图程序如下图所示:
从运行结果可以看出,该多态VI程序能够针对不同的输入数据类型得到正确的结果。
说明
在程序框图中,多态VI程序可以根据连线的数据类型自动选择实际的VI程序,当然也可以在其右键菜单中手动选择VI的类型,如下图所示:
如果你觉得这篇文章对你有用的话,请不要忘记点赞哦。
领取专属 10元无门槛券
私享最新 技术干货