关于VI的类型,即便在帮助文件中,我们也没有见到更多的解释和说明。我们只是在帮助文件中看到过这样的说法:严格类型VI。与严格类型VI相对应的是通用VI。它们之间的区别在那里呢?
2.6.1 通用类型VI
2.6.2 严格类型VI
2.6.3 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打开它才能看到它对我们是否有用。现在通过图片可以直接看到它的内涵,只要有用可以直接下载后拖拽到我们的程序框图中。真的是太好了!
关键字:类型 跨平台特性
引用地址:VI的类型和跨平台特性
2.6.1 通用类型VI
我个人理解,所谓通用类型VI应该是这样一些VI,它们能够独立完成程序执行结果(独立完成或演示一个任务),换句话说,它并不需要与其它VI进行数据交 换,所以它们也不需要定义连线板。NI所提供的许多例程就是以这种形式出现的。例如,NI的例程:》分析与信号处理》电平测量》基本幅值测量,参见下图。
通用类型VI最明显的标志就是没有定义接线板。例程是供我们学习和模仿的,甚至我们可以略加修改就可以在程序中使用这些例程。
2.6.2 严格类型VI
严格类型VI更多的应用是作为子VI来使用,通过连线板它可以与其它VI进行有效的交换数据。比如理想滤波器就是严格类型VI。而例2-1所创建的VI是 通用VI。函数选版上的内置VI都是严格类型的VI,因为它们可以被开发者所调用。熟悉和了解这些内置VI的功能和使用方法是必须要做的事情之一,最好的 学习方式就是不断的进行实践。
所谓严格类型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服务中详细说明。
如果程序中所使用的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打开它才能看到它对我们是否有用。现在通过图片可以直接看到它的内涵,只要有用可以直接下载后拖拽到我们的程序框图中。真的是太好了!
上一篇:LabVIEW子VI与VI的层次结构
下一篇:CRC校验的LabVIEW实现
推荐阅读最新更新时间:2024-03-30 23:02
气体涡轮流量计与其他类型的燃气流量计特性对比
一、本文前言 随着中国节能减排的政策的持继的能源结构的变化,国内的企业更多地在使用天然气和其他类型的燃气作为工业能源,目前目前燃气计量广泛使用的计量仪表的种类有多种,常见的主要有 气体涡轮流量计 、旋进式流量计、气体腰轮流量计、膜式燃气表等。这些仪表在门站交接计量、工业用户、商业用户、居民用户以及各级调压站及工艺计量等用户中有较多的使用,使用情况各不相同。由于要面对众多的不同用户,对于选择合适的流量计量仪表显得尤其重要,要选择到合适的流量仪表就必须首先要了解各类仪表的特性。 二、燃气流量计量仪表简介 下面分别阐述这些流量计量仪表的原理、特点及主要技术参数。 (一)气体涡轮流量计 气体涡轮流量计的工作原理
[测试测量]
浅析指纹识别技术的四大类型
目前在国内,指纹识别由于其发展时间长,且发展速度比较快,并且经过多年的市场推广和应用,在门禁、考勤、保险箱、身份认证等方面都有比较成熟的产品,同时由于其成本较其他识别技术低,更易推广和被用户接受。 指纹识别技术的类型 指纹图像的获取技术主要有4种类型:光学扫描设备(例如微型三棱镜矩阵)、温差感应式指纹传感器、半导体指纹传感器、超声波指纹扫描。 光学识别技术 借助光学技术采集指纹是历史最久远、使用最广泛的技术。将手指放在光学镜片上,手指在内置光源照射下,用棱镜将其投射在电荷耦合器件(CCD)上,进而形成脊线(指纹图像中具有一定宽度和走向的纹线)呈黑色、谷线(纹线之间的凹陷部分)呈白色的数字化的、可被指
[安防电子]
电压关断型缓冲器的基本类型及其工作原理
本文较深入地讨论了两种常用模式的RCD Snubber 电路 :抑制电压上升率模式与电压钳位模式,详细分析了其各自的工作原理,给出了相应的计算公式,最后通过实验提出了 电路 的优化设计方法。 RCD Snubber电路的基本类型及其工作原理 RCD Snubber是一种能耗式电压关断型缓冲器,分为抑制电压上升率模式和电压钳位模式两种类型,习惯上前者称为RCD Snubber电路,而后者则称为RCD Clamp电路。 为了分析方便,以下的分析或举例均针对反激电路拓扑, 开关 器件为功率MOSFET。 图1 常用的RCD Snubber电路 抑制电压上升率模式 对于功率MOSFET来讲,其电流下降的速度较GTR或IGBT
[电源管理]
智能机器人按照用途可分为哪几种类型?
随着科学技术突飞猛进的发展,科技产品日益成为我们生活中几乎无时不在的、无处不在、无所不在的客观存在,而智能机器人就是机械技术、电子技术、信息技术有机结合的产物。 在用途上,智能机器人与普通机器人在用途上有许多相似之处,但因其智能性使得它能做更复杂的工作,完成更高级的任务。智能机器人按照用途可以分为以下几类: 1、工业智能机器人 工业智能机器依据具体应用的不同,通常又可以分成焊接机器人、装配机器人、喷漆机器人、码垛机器人、搬运机器人等多种类型。作为具有智能的工业机器人,他们在很多方面超越了传统机器人。 焊接机器人,包括点焊(电阻焊)和电弧焊机器人,用途是实现自动的焊接作业。装配机器人,比较多地用于电子部件电器的装配。 喷漆机器人,代
[机器人]
光学元件厂商II-VI出货量增长200%
集微网消息,昨日苹果的光学元件供应商II-VI公司公布财报表示,本季度(7~9月)的订单量创下了新记录,总营收为3.144亿美元,比去年同期增长了20%,军用业务增长30%,工业终端市场收入增长10%,而最出乎意料的是3D传感器出货量增长了200% 。 II-VI公司CEO Vincent D. Mattera, Jr表示,SiC衬底的销售增长超过了50%,在SiC制造规模上的增加使得公司很好地抓住了5G和电动汽车带来的长期机遇。作为GaN射频器件的市场领导者,住友电器设备创新公司(Sumitomo Electric Device.onsInc.)在SiC器件上制造的最先进的GaN,以使下一代无
[手机便携]
labview的数据类型----通过类型描述符提取控件名称(LABEL)
通过分析类型描述符结构,我们已经得到的类型描述符的头部信息,我们知道,LV的存储结构中同时包括了控件的标签信息,看看如何能通过描述符得到控件的标签.OPENG中提供了这个功能,我们跟踪一下看看它实现的方法: 首先根据类型描述符头部信息中的类型码对LV的数据类型进行分类,每个CASE中的数据存储结构都是类似的. 先看看第一个CASE: 条件是: I8 .. CXT , Boolean , Variant ,这说明从I8--- CXT ,包括BOOLEAN VARIANT类型描述符的结构都是类似的.看看I8 和BOOLEAN的类型描述符的内容,我们分析一下. I8和BOOLEAN除了类型码不同(0X01,0X21)
[测试测量]
嵌入式内存的读写方法,以及强制类型转换的知识点
由函数flash读取,type为0代表128字节储存区,为1代表64K存储区(512字节/扇区) void InterFlashRead(unsigned short addr, unsigned char nLength, unsigned char* dat) { unsigned char i; EA = 0; PSCTL=0x04; FLSCL = 0x00; for(i=0; i { *(dat+i) = *(unsigned char code*)(addr+i); } PSCTL = 0; EA = 1; } 而想到的问题,其中的 *(dat+i)= *(unsigned char code *)(addr+i
[单片机]
最新耐用型大功率LDMOS晶体管耐用测试及应用类型
目前制造的大功率射频晶体管比以往任何时候都更坚实耐用。针对特高耐用性设计的器件可以承受严重的失配,即使在满输出电平时也是如此。现在多家制造商可提供大功率硅横向扩散金属氧化物半导体(LDMOS)晶体管,这种产品能够承受相当于65.0:1的电压驻波比(VSWR)的负载失配。但这些晶体管真的无懈可击吗?这种耐用性适用于哪些类型的应用?本报告将介绍一些最新的耐用型大功率LDMOS晶体管以及它们的电气特性,并通过比较测试过程来判断它们的耐用水平。 众所周知,像硅双极晶体管等一些晶体管能够在其中一些半导体单元因短路或负载失配等原因损坏时继续工作。因此,将一个器件定义为“耐用晶体管”可能没有清晰的界限。对硅LDMOS晶体管的耐用性测试通常
[模拟电子]