LabVIEW项目中使用库

简介: LabVIEW项目中使用库

LabVIEW项目中使用库

LabVIEW项目库包含各种VI、类型定义、共享变量、选板文件以及其他文件,如项目库。创建并保存新项目库时,LabVIEW将创建一个项目库文件(.lvlib),其中包括项目库属性以及对项目库所包括的文件的引用等。

注: 打包项目库是将应用程序生成器生成的项目库打包至一个文件。无法修改打包库中的文件,除非修改文件后重新生成打包库。


项目库有利于在一个层次结构中组织项目项,避免可能的VI名重复,限制特定文件的公共访问和编辑权限,设定一组VI的默认选板文件。可在项目浏览器窗口拖曳项目项至程序框图或前面板。


通过项目浏览器窗口或独立项目库窗口可查看项目库的结构。如果尚未打开项目浏览器窗口,可右键单击一个项目库文件并从快捷菜单中选择打开,从而将该项目在项目库窗口中打开。


注: 如所选项目库文件不是顶层项目库文件案,则被打开的将是顶层项目库的项目库窗口。所选项目库文件将出现在顶层项目库窗口的内容目录树中。


项目库可用于组织一个虚拟的关于项的逻辑层次结构。项目库文件与LLB不同,LLB为包含VI的物理目录,而项目库文件并不包括实际文件。项目库所包括的文件仍以单独文件的形式保存在磁盘中。


项目库可限定VI和其他LabVIEW文件的名称。LabVIEW通过文件名识别VI,因此当一个VI与其它VI重名时,LabVIEW可能会加载和引用其它VI,即发生所谓的交叉链接。对于项目库中的VI,LabVIEW将通过项目库名称确保VI名称的合法性,以避免交叉链接。合法的名称包括文件名以及所属项目库的合法名称。


例如,如果创建了名为caller.vi的VI,其中包含一个名称为init.vi的子VI,并且该子VI存在于library1.lvlib项目库中。那么在caller.vi中调用library2.lvlib项目库中同样名为init.vi的另一个子VI,不会发生交叉链接问题。保存caller.vi时,LabVIEW所使用的合法名称分别为library1.lvlib:init.vi和library2.lvlib:init.vi。


一个VI只能为一个项目库所有。但是,可将非LabVIEW特有的文件(例如,文本文件、HTML文件)与多个项目库建立关联。


不要使一个文件同时属于两个库。如果必须将某个库中的文件添加到一个新的库,必须将整个库添加到新的库中。否则,输出的生成程序将会把文件放在正确的目标文件夹中,而不是把文件添加至新的库。


在项目库中可指定版本号以区分不同时间的文件修改。通过项目库属性对话框的常规设置页可设置并定期更新版本号。该版本号不会影响项目库的名称。


注意: 必须右键单击该项目库并从快捷菜单中选择另存为或重命名,在显示的另存为对话框中对项目库进行重命名。如果没有在LabVIEW中重命名项目库,可能会断开与该项目库的连接。


项目库可限制对某些类型文件的访问。对项目库中的某些项和文件夹可以配置访问权限赋予其公共或私有的属性,防止用户访问某些项。将一个文件夹的访问权限设置成为私有之后,该文件夹中的所有VI的访问权限都为私有。


通过锁定或设置密码保护项目库文件可限制编辑权限。一旦项目库被锁定,用户便不可添加、删除项或浏览设为私有的项。为项目库设置密码后,如无密码就不能添加或删除项,也不能编辑项目库属性。项目库属性对话框可打开,但其中的选项除各个保护选项外都被禁用。只有在项目库解锁或输入密码之后才能设置对话框中的各个选项。右键单击项目库并从快捷菜单中选择输入密码可解除项目库的锁定。


注: 当为LabVIEW项目中的一个库输入密码时,如该项目并没有针对所购买版本的LabVIEW的合法许可证,则无法从库中或向库内拖放项。


注: 对项目库添加密码保护并不意味着对项目库中的VI也添加密码保护。如果想要对程序框图和前面板的编辑权限进行限制,应该对单个VI设置密码保护。建议为同一个项目库下的项目库和VI设置相同的密码,以免引起混乱。


可从项目文件夹创建项目库。也可将LLB可转换为项目库。与项目库相比,LLB有其自身的功能和优势。故在决定将其转换为项目库之前应考虑可能使用LLB的方式。LLB中可包含项目库文件。


如将选板文件(.mnu)包括在项目库内,可将其设置为项目库中所有VI的的默认选板文件。项目库的默认选板文件是右键单击子VI调用任何项目库中的VI时可用的快捷菜单选板,类似于将函数选板上的VI和函数放置在程序框图上时可用的源选板。但与源选板不同,项目库的默认选板文件中不包含任何项目库中的VI。在项目库属性对话框的常规设置页中,从默认选板下拉列表控件中选择选板文件。也可在项设置页中设置默认选板文件。在内容树中选择.mnu文件并勾选默认选板复选框。


LabVIEW部署至共享变量引擎(SVE)的项目库称为进程。修改进程或修改进程中的共享变量而不影响相应的库,这样的操作称为在线配置。修改库或修改库中的共享变量而不影响相应的进程,这样的操作称为离线配置。如使用离线配置修改一个共享变量,则在运行库中的任何一个VI前,必须将库重新部署到SVE,从而使SVE能够对进程中的共享变量进行更新。


组织项目库


用户可为LabVIEW项目库各类文件创建一个组织化的结构。有序的项目库结构有利于源代码控制和避免文件名冲突,同时将库文件分为公共和私有访问区域。


下表列出了组织项目库和库文件的一些说明和建议。


在每个LabVIEW项目中创建单独的项目库。这些项目库中只包含与该项目库有关的文件,如范例文件和用来创建和测试项目库的文件等。项目和项目库的名称应相似。如果一个项目库包括很多功能分区,可对每个功能分区使用子项目库。


为每个项目库文件创建单独的目录。项目库文件可添加到该目录中。如果在同一目录下添加多个属于不同项目库的文件,那么在不同项目库中添加相同名称的VI时将产生冲突。在不同的目录下添加项目库文件令在磁盘上识别与该项目库有关的文件更为便利。


也可使用排序选项对未锁定的项目库中的项进行排序。


如移动了磁盘上项目库文件,为保证项目库与发生移动的项之间存在正确的链接,应重新打开并保存项目库。


(Windows)在创建安装程序时,如安装程序需包含一个项目库,应确保将该项目库中的文件与项目库保存在同一驱动器中。如某些文件保存在网络驱动器等其它驱动器中,将该项目库添加到安装程序时,项目库与这些文件的链接就会断开。


右键单击项目的根目录,从快捷菜单中选择查找错误声明的项,解决库和库声明项之间的冲突关系。使用该功能查找无法识别库声明的项。


为项目库中各项设置私有或公共属性。私有VI不能作为应用程序或其它VI的子VI。公共项为项目库功能提供了相应界面,也提供了选板VI、XControl和仪器驱动程序等供项目库用户查找和使用。私有项包括VI的支持组件、版权文件或无需破坏用户代码即可编辑的项。请参考以下建议。


创建一个文件名为私有的项目库文件夹。在项目库属性对话框中的项设置页中,将文件夹的访问权限设为私有。LabVIEW自动将所有添加到私有文件夹的项目库文件设置为私有,因此无需再对VI单独设置访问权限。


所有非私有文件夹中的项目库文件默认为其具有公共属性。因此无需为公共文件创建文件夹。


还可为项目库的每个功能组分别创建文件夹,并向每个功能组文件夹添加一个私有子文件夹。


子项目库


子项目库是指为另一个项目库所包含的项目库。父项目库的设置不影响子项目库中项的访问设置及编辑权限。在父项目库中可把对子项目库文件(.lvlib)访问权限设置为私有。但是,对子项目库本身的编辑并不影响该子项目库下的项保持其公共或专用的访问权限。


子项目库可用于创建一个包括若干独立功能分区的项目库。例如,在建立图形工具的项目库时,可建立几个子项目库分别用来存放二维和三维的绘图工具。


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

相关文章
|
5天前
|
XML 存储 程序员
LabVIEW开发LabVIEW类
LabVIEW开发LabVIEW类
15 0
|
9月前
|
NoSQL Linux API
linux环境安装可操作图库语言Gremlin的图框架HugeGraph
linux环境安装可操作图库语言Gremlin的图框架HugeGraph
135 0
|
5天前
|
安全 BI Windows
LabVIEW报表生成工具包时出现错误-41106
LabVIEW报表生成工具包时出现错误-41106
12 3
|
5天前
|
监控 Windows
LabVIEW中管理项目
LabVIEW中管理项目
11 0
|
5天前
|
XML 存储 文件存储
LabVIEW使用自定义模板和示例项目来开发LabVIEW项目
LabVIEW使用自定义模板和示例项目来开发LabVIEW项目
|
5天前
|
Linux Windows
LabVIEW安装了哪些版本的LabVIEW运行引擎
LabVIEW安装了哪些版本的LabVIEW运行引擎
|
5天前
|
数据采集 监控 安全
LabVIEW开发预冷器测试
LabVIEW开发预冷器测试
14 3
|
5天前
LabVIEW色带生成功能
LabVIEW色带生成功能
10 0
|
5天前
|
Windows
LabVIEW在Windows平台上的图形导入
LabVIEW在Windows平台上的图形导入
11 0
|
5天前
LabVIEW代码是在哪个版本编写的
LabVIEW代码是在哪个版本编写的