如何在LabVIEW中进行批量编译

更新 Jul 27, 2023

LabVIEW中的批量编译选项有什么作用?
我如何进行批量编译?
如何将包含多个VI的项目更新到新版本的LabVIEW。

批量编译时,LabVIEW会自动打开和关闭VI。会产生如下结果:
  • 确保所有子VI都已存在,并将它们重新链接到主VI上。因为LabVIEW不需要搜索VI所以减少了加载时间。
  • 将VI更新为当前的LabVIEW版本。
  • 报告损坏的VI,以防止它们被误加载。

执行批量编译:
  • LabVIEW 6.0及更高版本:选择“ 工具”>“高级”>“批量编译”。
  • LabVIEW 5.x及更早版本:选择“ 文件”>“批量编译”。
  • 从“编译到目录”选择要编译VI的目录
  • 从“ 日志结果 ”中选择一个目录以保存日志文件
  • 如果希望LabVIEW将VI保留在内存中,以便每次编译顶层VI时都不需要重新加载它们,请启用Cache VIs复选框。 (推荐的VI数量在50到80之间。)
  • 单击批量编译(Mass Compile)。

Additional Information

批量编译日志
此日志对于升级过程很重要,因为它会报告有问题的VI。在原始版本和目标版本中批量编译代码后,可以在“ 状态”选项卡中查看批量编译器的日志,并查看类似以下所示的加载路径警告:
the VI expected to be at __ was loaded from __ 
此警告会通知您测试环境中的新加入链接。请您查看这些警告以确保所有新链接都适用。同时您可能还会收到类似以下表单中的错误:
Could not load __ because __ in memory
这些是真正意义上的交叉链接错误,其中由于子磁盘上的名称重复,LabVIEW可能会选择错误的子VI来进行链接。点击此处了解有关交叉链接错误的更多信息。

当升级后机器的目录结构与开发时机器的目录结构不同时,加载路径警告通常包含在日志文件中。一旦有关移动文件的消息已被审查和修复,第二次批量编译将揭示VI的非链接问题。您可以在批量编译报告中查找以下这些字符,以识别应用程序中存在的Insane Objects:
Insane Object 

日志还指示这些Insane Objects是否由批量编译例程修复。要查找到错误的VI,您还须查找这些字符:
### 

在使用不稳定的VI时,批量编译可能会崩溃,虽然这种情况很少见。除非特定VI处于错误状态,否则您不太可能遇到批量编译崩溃的情况。如果特定的VI处于错误状态,也会在加载和保存时使LabVIEW崩溃。如果批量编译崩溃,日志文件将显示那些导致崩溃的文件。您需要找到并打开这些文件以确保它们没有损坏,然后再次批量编译。如果依旧由于文件错误而无法在目录中成功完成批量编译,则您可能需要从文件夹中删除此文件。

批量编译日志查看器
您可以使用这个工具快速的理解批量编译日志。它提供了一个用户友好的用户界面,可以提供有关每个日志条目的详细信息,并有助于解决一些错误。您可以从此处下载该工具。

强制重新编译
如果要在内存中强制重新编译 VI的二进制文件,请按<Ctrl-Shift>和主VI的运行箭头,然后保存VI。尽管一般来说在内存中进行了二进制重编译的VI没有什么发生,其实这往往是修复和分离错误的有效方法。