版本:LabView2018


这篇说下子VI怎么用,相当于C里面的子函数,C里面主函数子函数什么的倒是无所谓,代码量有多少看一眼就知道,但是在LabView里,子Vi+结构套用这就踏马很恐怖了,主Vi一打开一看,哦,里面没啥呀,就几个结构框框加上几个控件图标,很简单呀,结果结构分支标签你切换试试,自定义Vi控件图标你双击试试,越点越多,越点越多,直到头皮发麻。。。但是这也侧面说明了合理运用结构分支,加上子Vi能极大简化程序结构。

下面用子Vi做个登录验证功能。0分支依旧是初始化分支,将布尔灯关掉。

1分支做用户名和密码的字符串匹配,如果用户名和密码都正确,则布尔灯状态True,并关闭本Vi,如果其中有一个输入不匹配,布尔灯状态False,会继续卡在这里循环,直到用户名和密码都输入正确为止。说下这里右下角的停止和关闭本Vi的区别,停止只是停止Vi的运行,但是界面还是摆在那里,程序也不继续向下执行,而关闭本Vi通过调用节点控件,调用FP.Close方法来实现的。

什么是调用节点,通俗的说,就是用来实现引用的方法,引用的是谁,就有哪些方法可供选择,再通俗的说,看上图本Vi和调用节点之间用线连了起来,那么调用节点可引用的就是本Vi中的可被引用的所有方法,本Vi控件可以在应用程序控制--->Vi服务器引用中找到,调用节点可以在应用程序控制--->调用节点中找到,将本Vi和调用节点连线,就可以在调用节点右键--->选择方法中调用本Vi中的方法,这里调用的是前面板的关闭方法。可以看到除此之外,还有很多方法可供调用。

回到前面板,点右上角红框处的黑格,然后再点布尔控件,就将布尔控件状态设置为本Vi的输出,其实这些小格都是本Vi被调用的时候可以引出的接线端,相当于子函数的参数列表,先点哪个格子,再点哪个控件,就将相应的格子与相应的控件建立起了连接关系,至于是输入的端口还是输出的端口,不取决于格子的位置,而取决于被格子连接的控件本身是输入控件还是输出控件有关。

右键格子--->模式,可以看到有多种外部接线端形式可供选择。

格子旁边还有个示波器一样的图标,那是本Vi的默认图标,是可以被修改的,为了在调用本Vi的程序框图中,能更清楚的显示本Vi的作用是什么,通常建议把Vi图标改一下,这样能直观一些,双击图标打开修改图标界面。

保存一下,然后重新新建一个主Vi,在程序框图中右键--->选择VI,找到刚才保存子Vi的位置,打开后就能看到子Vi图标啦。

然后连接框图,注意这里的两个属性节点,先在应用程序控制--->VI服务器引用,拖出来本VI,然后对着属性节点右键--->全部转换为写入,再右键--->选择属性--->前面板窗口--->状态,再对着FP.State右键--->创建--->常量,在点创建出来的常量右侧的下三角一个选hidden隐藏,另一个选standard标准,目的是在程序刚运行的时候,把主VI隐藏,先进行子VI的用户名、密码验证,验证正确了以后,再将主VI显示出来,并弹出对话框说登录成功,显示主VI中的只有一个确定按钮。

啊对了,左边的这方框是平铺式顺序结构,可以让程序从做到右按顺序执行,另外,子VI图标虽然加进来了,但是还要设置一下,子VI图标上右键---> 设置子VI节点。

在弹出的对话框中进行如下设置。

之后就可以运行主VI啦,运行结果如下。

【JokerのLabView】VI嵌套。相关推荐

  1. C#调用LabVIEW VI

    C#调用LabVIEW VI 下载地址 https://download.csdn.net/download/u010235580/15686617

  2. LabVIEW:VI界面中英文切换的实现方法

    因为公司项目的需要,要求程序实现中英文可以切换. 找到一种实现方法,分享一下. 1. 在项目里建立了3个Vi,一个用来展示显示效果的VI(Main.vi),一个用来导出界面控件显示的Vi,另外一个用来 ...

  3. 【JokerのLabView】程序结构。

    版本:LabView2018 while循环 在前面两篇也都有提到过while循环了,这里写个小例子再细说一下. 例子达到的作用是输入任意数值, 循环中计算1到该数+1的累加和.注意左下角的i是对wh ...

  4. LabVIEW VI版本太旧,无法转换至当前LabVIEW版本

    VI5.0不能直接用8.6或以上的labview版本打开,而labview8.0版本可以打开,NI官网提供的版本最早到labview2009,而且还不能下载,找资源找了很久,终于找到8.6以前的版本: ...

  5. LabVIEW程序安全性保护详解(VI密码保护与删除)

    LabVIEW是一种常用的工程软件,常被用于设计.测试和控制系统.由于它的高效性和易于使用性,越来越多的公司和研究机构使用LabVIEW来开发自己的项目和应用程序.然而,由于LabVIEW开发环境的开 ...

  6. labview如何加载库_LabVIEW如何方便地调用DLL文件

    转自:http://bbs.elecfans.com/jishu_469502_1_1.html LabVIEW调用DLL文件 LabVIEW支持通过调用DLL文件的方式与其它编程语言混合使用.比如, ...

  7. labview调用DLL

    <link href="https://csdnimg.cn/public/favicon.ico" rel="SHORTCUT ICON"> &l ...

  8. labview对dll的调用

    LabVIEW调用DLL文件 LabVIEW支持通过调用DLL文件的方式与其它编程语言混合使用.比如,在实际的工程项目中,用户可以用C++语言实现软件的运算部分,并把这些功能构建在DLL文件中,然后再 ...

  9. LabView 下载与安装

    labview2014是目前labview软件的最新版本,新版本增加了多个VI服务器对象,增加了多个vi脚本对象,增加了labview第三方许可和激活工具包,同时针对程序框图.编辑环境.应用程序生成器 ...

最新文章

  1. java word根据模板导出_简历不知道如何写起,推荐几个简历模板
  2. 得到当前函数堆栈调用
  3. abap中的弹出窗口函数
  4. EXCEL表格转换成json数据工具
  5. linux下怎么查看程序异常,linux程序莫名异常怎么查
  6. python学到什么程度可以找到工作-月薪2万+的Python Web岗,学到什么程度能找到工作?...
  7. 8VC Venture Cup 2016 - Final Round (Div. 2 Edition)
  8. 一种传统发酵彝药有效抑制新冠病毒的复制体外研究
  9. Qt插件之Qt Designer插件实现
  10. 应广单片mini-c之$符号的说明
  11. 软件能力成熟度模型(CMMI)
  12. UE4.CPP变焦推进效果(_杰森大师)
  13. 油罐车起火造成损失和伤亡?资产监测设备可远程监测油罐车运输!
  14. 通俗易懂的SpringCloud(三)熔断器
  15. MySQL占用内存资源过多的解决方法
  16. 如何预编译ASP.Net程序
  17. 聚观早报 | ChatGPT登顶美区iOS免费榜;库克不满苹果首款MR设备
  18. AutoCAD二次开发(.Net)之动态块
  19. 【岩熹解读】今天“麻花”不开心:只靠个别明星的业绩太难了
  20. 【配电网重构】基于matlab负荷平衡的配电网重构【含Matlab源码 2180期】

热门文章

  1. 《MATLAB语音信号分析与合成(第二版)》:第8章 基音周期的估算方法
  2. 高德地图之添加遮盖物
  3. 酒店预定系统开发方案
  4. 【P9】Point to the Expression:Solving Algebraic Word Problems using the Expression-Pointer Transformer
  5. AMBER:对单个复合物进行分子动力学模拟的python包(resp计算电荷及gpu加速版本)
  6. 2013年08月威海之旅
  7. 【玩转python】Flask基金数据可视化
  8. Python:模拟邮箱登陆
  9. unity如何改变重力方向
  10. 谷歌SEO优化八步走