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

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

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

[复制链接]
  • TA的每日心情

    3 小时前
  • 签到天数: 3176 天

    连续签到: 46 天

    [LV.Master]2000FPS

    发表于 2018-10-11 15:31:59 | 显示全部楼层 |阅读模式 来自:广东省东莞市 电信

    注册登陆后可查看附件和大图,以及购买相关内容

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

    x
    LabVIEW将程序框图自动封装成子VI
    LabVIEW是一种图形化编程语言,很多初学者,都喜欢在一个程序框图界面中实现所有功能。而这样做所面临的问题,就是界面非常复杂宏大。这时,就需要将某些功能尽量子函数化,即将某些确定或重复的功能设计成子VI,在主程序框图中进行调用。就跟调用加减加减乘除这些基本函数一样,尽量能做到简单化。这时,可能有两种方法来子VI化。一种,就是在设计初期,明确的知道需要完成的功能,直接新建VI,将其设计成子VI来调用。这是属于老司机的方法。另一种,则是在现有的函数中,选择需要转换为子VI的框图部分,然后在菜单编辑中选择创建子VI,这样LabVIEW就会将程序框图中的选择的部分自动创建为子VI,并且自动设置好连线,但是不会自定义图标以及连续位置顺序之类的,子VI的说明帮助信息等也不会设置,都需要后期人工添加。当然,这种方法,属于新手常用的。下面我们看一下例子:

    求平均值演示

    求平均值演示
    求平均值演示
    上面这个例子是一个求两个元素平均值的过程,非常简单。如果我们要将其中的加法和除法直接设计成一个平均值函数,那么只需要选择加法、除法以及常量2,及它们相连的连线,然后编辑中创建子VI即可:

    选择需要的框图

    选择需要的框图
    选择需要的框图

    选择需要的框图

    选择需要的框图
    选择需要的框图
    这里选择需要的框图时,加法前的连线和除法后的连线,是否选择,是不影响创建子VI效果的。在创建子VI后,都会自动对其连线,所以上面两个图中的选择方式,效果是一样的。

    将x、y、xy平均值都选择上

    将x、y、xy平均值都选择上
    xyxy平均值都选择上
    但是,如果将xyxy平均值都选择上,则效果不一样,这样的话,会将该部分创建成子VI,这个子VI与上面选择中创建的框图效果上一样,但是子VI将不会自动创建接线端。但是在主程序中(即这里的求平均值演示.vi)中,则不一样,前面的方法,会在主程序中保留xyxy平均值三个控件,而后面一种方法,则不会保留xyxy平均值这三个控件。

    创建子VI

    创建子VI
    创建子VI

    创建子VI后的效果

    创建子VI后的效果
    创建子VI后的效果
    这里的子VI是没有命名且没有保存的,需要双击进去打开子VI,对其进行一些设置然后再保存:

    自动创建的子VI未命名

    自动创建的子VI未命名
    自动创建的子VI未命名

    创建的子VI

    创建的子VI
    创建的子VI
    这个是创建后的子VI,这里看到的和前面的例子是一样的效果。即求平均值的过程。如果我们有其它的功能,则可以通过调用该函数,来实现,我们将该子VI保存为均值.vi函数:
    file:///C:/Users/VISION~1.CN/AppData/Local/Temp/msohtmlclip1/01/clip_image012.jpg

    设置子VI图标

    设置子VI图标

    将接线端模式设置为更适当的模式

    将接线端模式设置为更适当的模式
    将接线端模式设置为更适当的模式

    调用均值子vi效果

    调用均值子vi效果
    调用均值子vi效果

    4元素求平均值

    4元素求平均值
    4元素求平均值
    这里演示的只是LabVIEW中一个很简单的基本操作。对于老司机来说,一般都不用这样的方式来处理。另外,也可以直接复制需要的框图,然后到新建VI中粘贴,再进行设置后变成子VI,再在主程序中调用,方法基本上差不多。

    附件为演示VI,LabVIEW2018
    均值.vi (13.26 KB, 下载次数: 18)
    求平均值演示.vi (6.59 KB, 下载次数: 59)
    求平均值演示1.vi (7.35 KB, 下载次数: 102)

    回复

    使用道具 举报

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

    本版积分规则

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

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-4-18 14:32

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

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