石鑫华视觉 发表于 2018-10-11 15:31:59

LabVIEW将程序框图自动封装成子VI

LabVIEW将程序框图自动封装成子VILabVIEW是一种图形化编程语言,很多初学者,都喜欢在一个程序框图界面中实现所有功能。而这样做所面临的问题,就是界面非常复杂宏大。这时,就需要将某些功能尽量子函数化,即将某些确定或重复的功能设计成子VI,在主程序框图中进行调用。就跟调用加减加减乘除这些基本函数一样,尽量能做到简单化。这时,可能有两种方法来子VI化。一种,就是在设计初期,明确的知道需要完成的功能,直接新建VI,将其设计成子VI来调用。这是属于老司机的方法。另一种,则是在现有的函数中,选择需要转换为子VI的框图部分,然后在菜单编辑中选择创建子VI,这样LabVIEW就会将程序框图中的选择的部分自动创建为子VI,并且自动设置好连线,但是不会自定义图标以及连续位置顺序之类的,子VI的说明帮助信息等也不会设置,都需要后期人工添加。当然,这种方法,属于新手常用的。下面我们看一下例子:求平均值演示上面这个例子是一个求两个元素平均值的过程,非常简单。如果我们要将其中的加法和除法直接设计成一个平均值函数,那么只需要选择加法、除法以及常量2,及它们相连的连线,然后编辑中创建子VI即可:选择需要的框图选择需要的框图这里选择需要的框图时,加法前的连线和除法后的连线,是否选择,是不影响创建子VI效果的。在创建子VI后,都会自动对其连线,所以上面两个图中的选择方式,效果是一样的。将x、y、xy平均值都选择上但是,如果将x、y、xy平均值都选择上,则效果不一样,这样的话,会将该部分创建成子VI,这个子VI与上面选择中创建的框图效果上一样,但是子VI将不会自动创建接线端。但是在主程序中(即这里的求平均值演示.vi)中,则不一样,前面的方法,会在主程序中保留x、y、xy平均值三个控件,而后面一种方法,则不会保留x、y、xy平均值这三个控件。创建子VI创建子VI后的效果这里的子VI是没有命名且没有保存的,需要双击进去打开子VI,对其进行一些设置然后再保存:自动创建的子VI未命名创建的子VI这个是创建后的子VI,这里看到的和前面的例子是一样的效果。即求平均值的过程。如果我们有其它的功能,则可以通过调用该函数,来实现,我们将该子VI保存为均值.vi函数:file:///C:/Users/VISION~1.CN/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg将接线端模式设置为更适当的模式调用均值子vi效果4元素求平均值这里演示的只是LabVIEW中一个很简单的基本操作。对于老司机来说,一般都不用这样的方式来处理。另外,也可以直接复制需要的框图,然后到新建VI中粘贴,再进行设置后变成子VI,再在主程序中调用,方法基本上差不多。
附件为演示VI,LabVIEW2018

inms 发表于 2024-11-10 00:38:25

66666666666666666666
页: [1]
查看完整版本: LabVIEW将程序框图自动封装成子VI

LabVIEW HALCON图像处理入门教程(第二版)
石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
《LabVIEW Vision函数实例详解》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24