首页 理论教育如何创建LabVIEW子VI并定义连接端口

如何创建LabVIEW子VI并定义连接端口

【摘要】:创建子VI有两种方法,一是通过创建一个新VI来实现;另一个是从现有的VI中提取部分代码构成一个子VI。实际上,创建完成一个VI后,再按照一定的规则定义好VI的连接端口,该VI就可以作为一个子VI来使用了。在LabVIEW2012版本中,在VI前面板或程序框图的右上角的图标显示了图标/接线端口,其中接线端口位于右上角的左侧。在子VI被其他VI调用时,只能向输入端口中输入数据,而不能从输入端口中向外输出数据。

创建子VI有两种方法,一是通过创建一个新VI来实现;另一个是从现有的VI中提取部分代码构成一个子VI。

首先介绍第一种方法。

在本章第1节中提到,VI由3部分组成,其中一部分是图标/连接端口,子VI利用连接端口与调用它的VI交换数据。实际上,创建完成一个VI后,再按照一定的规则定义好VI的连接端口,该VI就可以作为一个子VI来使用了。

在LabVIEW2012版本中,在VI前面板或程序框图的右上角的图标显示了图标/接线端口,其中接线端口位于右上角的左侧。这些端口并没有与控制或指示控件建立起关联关系,需要用户自己定义。如图2-62所示。

978-7-111-49442-3-Chapter02-83.jpg

图2-62 程序框图

通常情况下,用户并不需要把所有的控制或指示控件都与一个端口建立关联,与外部交换数据,因而需要改变接线端口中端口的个数。LabVIEW提供了2种方法来改变端口的个数:

●第1种方法是在接线端口单击右键弹出的快捷菜单中选择添加连线段或删除接线端,逐个删除或添加连接端口,这种方法较为灵活,但也比较麻烦。

●第2种方法是在接线端口单击右键弹出的快捷菜单中选择模式,会出现一个图像化的选择面板,列出了36种不同的接线端口,一般情况下可以满足用户的需要,如图2-63所示。这种方法较为简单,但是不够灵活,有时不能满足需要。

通常的做法是,先使用第2种方法选择一个与实际需要比较接近的连接端口,然后再使用第1种方法对选好的连接端口进行修正。

完成了接线端口的创建之后。下面的工作就是定义前面板中的控制和指示与连接端口中各输入输出端口的关联关系。具体步骤如下:

978-7-111-49442-3-Chapter02-84.jpg

图2-63 设置接线端口

1)在工具模板中将鼠标变为连线工具状态。

2)用鼠标在数值输入控件“加数a”上单击,选中该控件,此时该控件的图标周围会出现一个虚框。

3)将鼠标移动至接线端口的一个端口上,单击这个端口。

此时这个端口就建立了与“加数a”的关联关系,颜色为棕色,如图2-64所示。当其他VI调用这个子VI时,从这个接线端口输入的数据就会输入到“加数a”控件中,程序从控件“加数a”在框图程序中所对应的端口中将数据取出,进行相应的处理。

978-7-111-49442-3-Chapter02-85.jpg

图2-64 建立端口与控件的关联关系

注意,端口的颜色是由与之关联的前面板对象的数据类型来确定的。不同的数据类型对应不同的颜色,例如,与布尔量相关联的端口的颜色是绿色。

建立前面板中其他控件与端口连接关系的方法与此相同。

注意,按照LabVIEW的定义,与控制相关联的接线端口都作为输入端口。在子VI被其他VI调用时,只能向输入端口中输入数据,而不能从输入端口中向外输出数据。当某一个输入端口没有连接数据连线时,LabVIEW会将与该端口相关联的那个控制中的数据默认值作为该端口的数据输入值。相反,与指示相关联的接线端口都作为输出端口。只能向外输出数据,而不向内输入数据。

在编辑调试VI过程中,用户有时会根据需要断开某些端口与前面板对象的关联,具体做法是在需要断开的端口单击右键选择“断开连接本接线端”,或者选择“断开连接全部接线端”,则会断开所有端口的关联。