视觉论坛VISIONBBS微信公众号:石鑫华视觉网

 找回密码
 注册会员
查看: 34|回复: 0

[原创] LabVIEW将程序框图自动封装成子VI

[复制链接]
  • TA的每日心情
    开心
    昨天 17:05
  • 签到天数: 1329 天

    [LV.10]100FPS

    发表于 2018-10-11 15:31:59 | 显示全部楼层 |阅读模式
    LabVIEW将程序框图自动封装成子VI
    LabVIEW是一种图形化编程语言,很多初学者,都喜欢在一个程序框图界面中实现所有功能。而这样做所面临的问题,就是界面非常复杂宏大。这时,就需要将某些功能尽量子函数化,即将某些确定或重复的功能设计成子VI,在主程序框图中进行调用。就跟调用加减加减乘除这些基本函数一样,尽量能做到简单化。这时,可能有两种方法来子VI化。一种,就是在设计初期,明确的知道需要完成的功能,直接新建VI,将其设计成子VI来调用。这是属于老司机的方法。另一种,则是在现有的函数中,选择需要转换为子VI的框图部分,然后在菜单编辑中选择创建子VI,这样LabVIEW就会将程序框图中的选择的部分自动创建为子VI,并且自动设置好连线,但是不会自定义图标以及连续位置顺序之类的,子VI的说明帮助信息等也不会设置,都需要后期人工添加。当然,这种方法,属于新手常用的。下面我们看一下例子:
    求平均值演示
    上面这个例子是一个求两个元素平均值的过程,非常简单。如果我们要将其中的加法和除法直接设计成一个平均值函数,那么只需要选择加法、除法以及常量2,及它们相连的连线,然后编辑中创建子VI即可:
    选择需要的框图
    选择需要的框图
    这里选择需要的框图时,加法前的连线和除法后的连线,是否选择,是不影响创建子VI效果的。在创建子VI后,都会自动对其连线,所以上面两个图中的选择方式,效果是一样的。
    xyxy平均值都选择上
    但是,如果将xyxy平均值都选择上,则效果不一样,这样的话,会将该部分创建成子VI,这个子VI与上面选择中创建的框图效果上一样,但是子VI将不会自动创建接线端。但是在主程序中(即这里的求平均值演示.vi)中,则不一样,前面的方法,会在主程序中保留xyxy平均值三个控件,而后面一种方法,则不会保留xyxy平均值这三个控件。
    创建子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,再在主程序中调用,方法基本上差不多。

    5 C* S* m* }) A8 E0 K
    附件为演示VI,LabVIEW2018

    9 P0 M5 K7 n7 \

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册会员

    x
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    淘宝机器视觉商城

    Archiver|手机版|小黑屋| 机器视觉之家|东莞市华动智能科技有限公司 ( 粤ICP备17078359号-2 ) |网站地图

    GMT+8, 2018-10-21 09:07

    Powered by shixinhua.com X3.4

    © 2009-2018 VISIONBBS.COM 浏览量:

    快速回复 返回顶部 返回列表