当前位置:首页 > 测试测量 > 测试测量
[导读]关于VI的类型,即便在帮助文件中,我们也没有见到更多的解释和说明。我们只是在帮助文件中看到过这样的说法:严格类型VI。与严格类型VI相对应的是通用VI。它们之间的区别在那里呢? 2.6.1 通用类型VI 我个人理解

关于VI的类型,即便在帮助文件中,我们也没有见到更多的解释和说明。我们只是在帮助文件中看到过这样的说法:严格类型VI。与严格类型VI相对应的是通用VI。它们之间的区别在那里呢?


2.6.1 通用类型VI
我个人理解,所谓通用类型VI应该是这样一些VI,它们能够独立完成程序执行结果(独立完成或演示一个任务),换句话说,它并不需要与其它VI进行数据交 换,所以它们也不需要定义连线板。NI所提供的许多例程就是以这种形式出现的。例如,NI的例程:》分析与信号处理》电平测量》基本幅值测量,参见下图。图 2-24 通用VI的例子——基本幅值测量(没有定义连线板)通用类型VI最明显的标志就是没有定义接线板。例程是供我们学习和模仿的,甚至我们可以略加修改就可以在程序中使用这些例程。
2.6.2 严格类型VI
严格类型VI更多的应用是作为子VI来使用,通过连线板它可以与其它VI进行有效的交换数据。比如理想滤波器就是严格类型VI。而例2-1所创建的VI是 通用VI。函数选版上的内置VI都是严格类型的VI,因为它们可以被开发者所调用。熟悉和了解这些内置VI的功能和使用方法是必须要做的事情之一,最好的 学习方式就是不断的进行实践。

所谓严格类型VI就是指它连线板上接线端的数据类型是已经定义完成,其它与它相连接的接线端的数据类型必须与此保持一致。如果二者数据类型不匹配,开发环境将会报错,直观的表现就是无法连接。

通用VI和严格类型VI只是在VI的动态调用时才会区分。一般的情况下,我们不太关心VI的类型。
2.6.3 VI的使用
严格类型子VI被拖拽放置到程序框图上时称为VI的静态连接。图形化程序设计基本上采用的都是这种方式。比如将函数选板中的内置VI或使用者库中的VI直 接拖拽到程序框图上进行程序设计就是VI的静态连接。这些放置在程序框图上的子VI会随着导入时同时加载到内存中。比如例2-2层次结构中的所有子VI都 会随着理想滤波器VI的导入而被加载到内存中。

如果程序中所使用的VI较多,且有些VI很大并属于基本上不太常用的VI,为避免占用内存的使用或减少程序的导入时间,也可以进行VI的动态调用。所谓动态调用是指在程序运行需要时再调入,运行完成后从内存中将其清除。VI的动态调用与VI的类型也有一定的关联。

关于VI的动态调用将在VI服务中详细说明。
2.6.4 VI的跨平台
目前计算机使用的操作系统基本上有三种:Windows、Mac OS、Linux。NI为这三种操作系统平台都提供相应的LabVIEW版本。这就意味着,VI是可以跨平台使用的。
所谓的“跨平台”就是说:“无论在那个操作系统平台上用NI LabVIEW开发环境设计出来的VI,在其它平台的LabVIEW下都可以正常运行。人们也称这种方式为:可移植性。 VI的跨平台特性增强了设计的灵活性和应用的广泛性。
VI为什么能够跨平台使用呢?其实,VI的本质是一种中间语言代码。
中间语言代码——是在各个操作系统平台上生成的,由NI制定的标准化的(图形化)语言代码。有了这种中间语言代码就完成了“跨平台”的第一步,确保在不同平台的LabVIEW开发环境下都可以打开和运行。

可是我们知道不同平台的底层运行机制是不一样的,如何保证中间语言代码能够在不同平台下运行呢?
实现“跨平台”操作的第二步,就是通过各个平台下LabVIEW Run_time (Run_time运行时)将VI(中间语言代码)编译转换成各个平台下的可执行代码,这样VI才能够得以顺利运行。所以,对于不同的操作系统 LabVIEW Run_time是不同的,其实对于不同的LabVIEW版本其LabVIEW Run_time也是不同的。

由此可见,各个操作系统下的LabVIEW Run_time是保证VI是可以跨平台运行的关键。所以,当将图形化程序代码打包成可执行文件时,我们也会看到LabVIEW Run_time也是包含在内。

跨平台的好处是:如果你的用户(协作者)使用的是Linux版的LabVIEW,那你在MS操作系统下设计的VI同样可以发给他,或者说与他进行交流、沟通。在网络时代这是一个极为有用的特点。
在LabVIEW 2009中,这个特点有了进一步的发挥,将VI制作成图形片断用来进行交流和传递。过去我们进行VI传递采用的是传递VI的实体,根本无法直接看到其基本 内容。只有在NI LabVIEW打开它才能看到它对我们是否有用。现在通过图片可以直接看到它的内涵,只要有用可以直接下载后拖拽到我们的程序框图中。真的是太好了!

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

打造更安全的互联汽车生态 上海2022年1月18日 /美通社/ -- “新四化”浪潮下的汽车已不是简单的机械工业产品,而是成为与用户娱乐、工作...

关键字: vi

(全球TMT2021年12月15日讯)佳能香港于尖沙咀凯悦酒店举办“DX Journey: Achieving Digital Maturity”活动。本次活动着重于展示8个关键业务方面:销售、市场推广、财务及会计、法...

关键字: ev vi 佳能

新德里2021年11月19日 /美通社/ -- 提供数字金融解决方案的全球领导者之一Comviva今天宣布与Strands建立战略合作伙伴关系,提供一整套智能数字银行、钱包和...

关键字: vi

VivadoML最新版2021下载方法:《安装Vivado2021.1ML版,编译时间真的会减少吗?》今天我们通过zedboard串口使用的实例来简单介绍vivado和vitis的使用步骤。1,首先打开软件,新建一个空白...

关键字: 串口 zedboard vi

此项销售购买协议的签署将见证 AtlasEdge在英国和欧洲收购 12 个数据中心 伦...

关键字: ce ic vi

(全球TMT2021年11月3日讯)全球超大规模数据中心解决方案供应商,Colt Data Centre Services (DCS)宣布与AtlasEdge Data Centres完成了一项销售购买协议,同意出售其...

关键字: vi ic ce

(全球TMT2021年11月3日讯)移动解决方案领域企业Comviva宣布推出下一代BlueMarble平台。BlueMarble是一个集成式数字商务、订单管理、客户服务和合作伙伴管理平台。该平台专为通信服务提供商(C...

关键字: vi

VivadoML最新版2021下载方法:《安装Vivado2021.1ML版,编译时间真的会减少吗?》今天我们通过zedboard串口使用的实例来简单介绍vivado和vitis的使用步骤。1,首先打开软件,新建一个空白...

关键字: 串口 zedboard vi

作者:架构思维toutiao.com/i6882356844245975563前几天刷头条又刷到了「Service层和Dao层真的有必要每个类都加上接口吗?」这个问题,之前简单回答了一波,给出的观点是「看情况」!现在结合...

关键字: ce ic vi

曼谷2021年10月27日 /美通社/ -- 暹罗百丽宫(Siam Paragon)、暹罗中心(Siam Center)和暹罗探索(Siam Discovery)等全球知名零售开发项目的所有者及运营商...

关键字: Group vi
关闭
关闭