LabVIEW使用VI Snippets存储和共享重用代码段

简介: LabVIEW使用VI Snippets存储和共享重用代码段

LabVIEW使用VI Snippets存储和共享重用代码段


VI Snippets是存储、共享和重用LabVIEW代码小部分的新方式。VI代码段将截图的可移植性与VI文件的功能结合在标准PNG图像中嵌入LabVIEW代码。当将VI代码段PNG图像拖到框图上时,它会将代码片段作为图形代码拖放,可以在应用程序中编辑和使用。


背景


传统上,可以通过以下两种方式之一共享LabVIEW代码;作为.VI文件,或作为框图的屏幕截图。VI包含功能的可重用代码,但必须安装LabVIEW才能查看框图。屏幕截图很容易嵌入到文档、论坛帖子和电子邮件中,但它们要求从图像重新创建代码,其中可能包含案例结构等项目,这些项目会遮挡某些图表。


创建VI代码段


要创建VI片段,请选择框图的一部分(或全部),然后选择编辑»从选择中创建VI片段。然后选择要保存VI代码段的位置。


保存的PNG文件是所选代码的截图,其中嵌入了LabVIEW代码。所有VI片段都有一个边框和图标,表示可以将它们拖到LabVIEW中,将代码添加到框图中。


图1-带虚线的图像是VI片段


现在可以在任何允许使用图片的地方在线分享VI代码片段,包括博客、NI讨论论坛和NI用户社区。


将VI代码段添加到框图


要将VI代码片段添加到框图,请将图像从文件管理器(如Windows资源管理器)或Internet Explorer拖到框图窗口上。

图 2 - VI 代码片段使在社区上共享代码变得容易


通常,将图像文件拖放到框图上会向框图添加图像装饰。VI片段是特殊的PNG图像,除了常规图像数据外,还具有LabVIEW代码。当将VI代码片段拖放到框图上时,您会将所描述的代码添加到VI中。


使用VI代码段的提示和技巧


以代码片段形式保留常用代码(或其他框图元素)


一个节省时间的提示是创建一个文件夹以在本地保存VI片段。每当遇到一段代码时,都会发现自己多次重新创建,将其保存为可重用的VI代码段。可以从代码中会损坏运行箭头或空结构的部分创建VI片段,这些结构不能像子VI那样很好地工作。


由于VI片段包含VI信息,因此它们保留框图上的任何内容,例如注释,装饰和存储在常量中的数据。


在寻求帮助或帮助他人时使用VI片段


如果在支持论坛上寻求帮助,请使用VI代码片段仅发布正在处理的代码部分。这样,访问论坛的每个人都可以看到这部分代码,并可能提出建议,而无需下载和打开该VI。如果正在回答其他人的问题,则代码段既可见又可用-使许多人更容易从示例中学习。


注意子VI


您可以创建引用子VI的VI代码段,但最终用户需要在其计算机上安装子VI才能使用该代码。VI代码段仅包含您从中创建它们的框图中的信息。如果代码段包含子VI,则子VI不会嵌入在VI代码段中。


使用计算机桌面作为中介,如果你从火狐或谷歌浏览器拖动


Firefox和其他浏览器在处理拖动图像的方式上与Internet Explorer不同。从Internet Explorer拖动图像时,它位于剪贴板上,这使得LabVIEW可以轻松地将图像元数据转换为代码。或者,如果您从Firefox或Chrome直接拖动到LabVIEW,将获得图像的URL,而不是预期的代码。


解决此问题的一种简单方法是先将图像拖到桌面或文件夹中,然后将图像从桌面拖到LabVIEW。


保留有用的VI片段的本地副本也将便于将来再次找到它们。


图像编辑器将删除嵌入的VI数据


如果您编辑PNG文件,则不理解VI片段中嵌入的额外数据的图像编辑程序将删除VI信息。这将防止代码在LabVIEW中丢失。为避免这种情况发生,请避免在LabVIEW之外编辑VI片段。如果要添加注释或注释,请在创建VI代码段之前将它们添加到框图中。


代码段示例

以下是一些可能节省时间的示例。


需要说明的是,上述的例程和文档,都是可以下载的,双击即可打开,其中压缩文件是可以采用粘贴复制的方式,拷贝到硬盘上。这不是图片,各位小伙伴看到后尝试一下,这个问题就不用加微信咨询了。有关LabVIEW编程、LabVIEW开发等相关项目,可联系们。

相关文章
|
算法 前端开发 UED
封装一个快速生成目录树的全局脚本
封装一个快速生成目录树的全局脚本
85 0
|
7月前
LabVIEW如何以编程方式获取克隆VI名称?
LabVIEW如何以编程方式获取克隆VI名称?
48 0
|
7月前
|
存储
LabVIEW可重入VI,VI模板和动态VI之间的差异
LabVIEW可重入VI,VI模板和动态VI之间的差异
89 0
|
7月前
LabVIEW动态加载VI到子面板速度优化
LabVIEW动态加载VI到子面板速度优化
41 0
|
编译器 C++
在C++学习的过程中如何使每个 .cpp单独运行
在C++学习的过程中如何使每个 .cpp单独运行
346 1
在C++学习的过程中如何使每个 .cpp单独运行
|
C语言
【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 主函数逻辑结构 | 启动无限循环 | 接收用户操作值 | 宏定义 | 显示操作菜单 )
【C 语言】文件操作 ( 配置文件读写 | 框架搭建 | 主函数逻辑结构 | 启动无限循环 | 接收用户操作值 | 宏定义 | 显示操作菜单 )
149 0
|
存储 SQL 移动开发
我的数据访问函数库的源代码(一)—— 共用部分
/* 2008 4 25 更新 */ 我的数据访问函数库的源码。整个类有1400多行,原先就是分开来写的,现在更新后还是分开来发一下吧。 第一部分:内部成员,初始化设置等。    1using System;  2using System.
820 0
|
存储 SQL
数据访问函数库的使用方法(一)——添加修改数据
由于这个类库是需要实例化的,如果每一次都要实例化,然后用完了在销毁,无形中就多了不少的代码,而且很容易忘记销毁实例。 同时在用户的一次访问的过程中不断地实例化、销毁,也是比较浪费资源的。 所以我建立了一个基类,在基类里面同意获得实例、统一销毁实例,这样在编码的时候就不用考虑有没有实例化,也不用担心是否销毁实例了, 另外用起来(使用方式)也和静态类的使用方式很像了。
877 0