编辑枚举量导致条件结构中的条件分支标签更改和强制转换点

更新 Aug 24, 2023

适用于

软件

  • LabVIEW

问题详述

  • 我有一个状态机,并使用枚举来选择不同的状态。当我对条件结构和枚举变量进行更改时,我的部分或全部条件分支标签将恢复为数字。
  • 当我尝试运行我的VI时,我得到一个错误的运行箭头,其中包含错误,指出"LabVIEW cannot update from type definition without incorrectly preserving default value"。我条件分支中的一些枚举选择器显示为灰色。
  • 编辑我的条件结构的枚举选择器后,也会出现一个小的红色强制点。
 

解决方案

条件选择器的输入确定条件例结构的标签。如果有不同类型的输入连接到条件选择器,则标签将尽可能设置为通用。例如,如果While循环外部的枚举项与每个条件结构中的枚举项不同,则条件结构无法确定应为标签显示哪种类型,因此显示数字。 LabVIEW也可能会在条件分支中显示一个小的红色强制转换点和/或灰显一些枚举选择器。

要确保枚举变量在VI中的每个位置都相同,请创建一个自定义类型 :
  1. 在程序框图中,右键单击枚举变量并选择高级 » 自定义 。
  1. 自定义控制窗口将打开。
  2. 单击工具栏中显示控件的下拉菜单,然后选择自定义类型
  1. 单击文件 » 保存以保存您的控件 - yourfilename.ctl并关闭自定义控件窗口。
  2. 带有消息的对话框: 将原始控件“Enum”替换为“yourfilename”?会出现。选择
  3. 使用yourfilename.ctl替换程序框图上的所有枚举。在函数选项板中选择选择一个VI并导航到yourfilename.ctl 来放置你的自定义类型 。或者,您可以将.ctl文件直接从保存它的文件夹拖到程序框图中。右键单击每个实例,并确保将其设置为从自定义类型自动更新。
  1. 如果您不希望枚举变量在前面板上可见,请通过右键单击枚举变量并选择Change to Constant使其成为常量
  2. 要更改枚举变量,请右键单击它并选择打开自定义类型
  3. 打开“控制”窗口后,右键单击“枚举”并选择“ 属性”
  4. 进行所需的更改,保存并退出。 VI中的所有枚举都将更新以进行新的更改。
  5. 将新分支添加到枚举并希望在条件结构中查看新分支时,右键单击条件结构的边缘,然后选择“为每个值添加分支”