条件配置对话框(Configure Condition Dialog Box)
要求:Base Development System
当右键单击**条件禁用结构(Conditional Disable Structure)**并选择以下选项时,会显示此对话框:
-
Add Subdiagram After(在后面添加子图)
-
Add Subdiagram Before(在前面添加子图)
-
Duplicate Subdiagram(复制子图)
-
Edit Condition For This Subdiagram(编辑子图条件)
此对话框用于配置子图执行的条件。
对话框组成部分
-
Expression(表达式)
指定一组条件语句,用于判断结构中哪个子图处于活动状态。表达式包括以下内容:
Symbol(s)(符号)
显示所有可用符号。
符号 描述 CPU 指定子图运行的处理器,需在 LabVIEW 项目中才能访问该符号。 DeviceCode 指定目标设备的产品标识代码,格式为十六进制。 FPGA_EXECUTION_MODE 根据 FPGA VI 的执行模式(如 FPGA 目标、模拟 I/O 等)决定执行的子图。需在 LabVIEW 项目下的 FPGA 目标中使用。 FPGA_TARGET_FAMILY 指定 FPGA 家族(如 Virtex-II、Virtex-5),需在 LabVIEW 项目下的 FPGA 目标中使用。 FPGA_TARGET_CLASS 指定 FPGA 目标的类别(例如 NI PXIe-7965R 的类别是 PXIE-7965R)。 OS 指定子图运行的操作系统,需在 LabVIEW 项目中才能访问该符号。 RUN_TIME_ENGINE 指定是否在 LabVIEW 运行时引擎(Run-Time Engine)中运行子图。 TARGET_BITNESS 指定 LabVIEW 或其运行时引擎的位宽(32 位或 64 位)。 TARGET_TYPE 指定子图运行的平台或目标(如 Windows、FPGA、嵌入式设备等)。 <Custom Symbol>(自定义符号) 用户可在 Conditional Disable Symbols 页面中自定义符号。未定义的符号会标记为星号(*)。符号区分大小写。 -
比较运算符
-
==:表示符号的值等于指定值。
-
!=:表示符号的值不等于指定值。
-
-
Value(s)(值)
指定符号的具体值,区分大小写,需准确输入以下有效值之一:
符号 有效值 CPU PowerPC、x86、null FPGA_EXECUTION_MODE FPGA_TARGET、DEV_COMPUTER_SIM_IO、DEV_COMPUTER_REAL_IO、THIRD_PARTY_SIMULATION FPGA_TARGET_FAMILY VIRTEX2、VIRTEX5、VIRTEX6、SPARTAN3、SPARTAN6、ZYNQ、KINTEX7 OS Linux、Mac、null、PharLap、VxWorks、Win RUN_TIME_ENGINE True、False TARGET_BITNESS 32、64 TARGET_TYPE Windows、FPGA、Embedded、RT、Mac、Unix、PocketPC、DSP -
Make Default?(设为默认)
指定当前子图是否为默认子图。
知识点总结
-
条件禁用结构允许根据目标环境配置代码的执行路径。
-
使用条件表达式中的符号和值,可以灵活设置不同子图的运行条件。
-
自定义符号和条件禁用符号页面提供了扩展能力,适用于更复杂的项目需求。
-
此功能在多平台或 FPGA 开发中尤为重要,有助于提高代码的复用性和灵活性。
RUN_TIME_ENGINE 符号用于区分代码是在 LabVIEW 开发环境中运行还是在 LabVIEW 运行时引擎(Run-Time Engine)中运行,后者通常指的是运行已编译的可执行程序(如 EXE 文件)或共享库(如 DLL 文件)。
具体说明:
-
True :表示当前子图将在 LabVIEW 运行时引擎中执行,即用于部署后的可执行程序或共享库。
- 场景:当您需要编写仅适用于运行时环境的代码时(例如优化性能、移除开发环境专用功能等)。
-
False :表示当前子图将在 LabVIEW 开发环境中运行,即直接在 LabVIEW 中运行 VI 源文件。
- 场景:当您需要仅在开发和调试阶段使用的代码时(例如,日志记录、调试工具等)。
使用场景:
-
开发环境和部署环境差异化:
根据运行环境选择不同的代码分支。例如,在开发环境中启用详细日志功能,而在运行时引擎中禁用以提升性能。
-
动态功能切换:
针对开发环境或运行时的不同需求调整子图逻辑。例如,防止在部署环境中执行调试代码或开发专用工具。
-
资源路径处理:
在开发环境中,文件路径可能指向本地文件系统,而运行时引擎可能需要特定的路径适配。
通过 RUN_TIME_ENGINE,可以在同一程序中灵活适配不同运行环境的需求,提高代码的兼容性和健壮性。