主页
技术支持
编辑枚举量导致条件结构中的条件分支标签更改和强制转换点
编辑枚举量导致条件结构中的条件分支标签更改和强制转换点
更新 Aug 24, 2023
适用于
“适用于”表示本页面提供的解决方案已被证实适用于列出的产品。该方案或同样适用于类似产品或应用。
软件
LabVIEW
问题详述
我有一个状态机,并使用枚举来选择不同的状态。当我对条件结构和枚举变量进行更改时,我的部分或全部条件分支标签将恢复为数字。
当我尝试运行我的VI时,我得到一个错误的运行箭头,其中包含错误,指出
"LabVIEW cannot update from type definition without incorrectly preserving default value"。我条件分支中的一些枚举选择器显示为灰色。
编辑我的条件结构的枚举选择器后,也会出现一个小的红色强制点。
解决方案
条件选择器的输入确定条件例结构的标签。如果有不同类型的输入连接到条件选择器,则标签将尽可能设置为通用。例如,如果While循环外部的枚举项与每个条件结构中的枚举项不同,则条件结构无法确定应为标签显示哪种类型,因此显示数字。 LabVIEW也可能会在条件分支中显示一个小的红色
强制转换点
和/或灰显一些枚举选择器。
要确保枚举变量在VI中的每个位置都相同,请创建一个
自定义类型
:
在程序框图中,右键单击枚举变量并选择
高级
»
自定义
。
自定义控制窗口将打开。
单击工具栏中显示
控件的
下拉菜单,然后选择
自定义类型
。
单击
文件
»
保存
以保存您的控件 -
yourfilename.ctl
并关闭自定义控件窗口。
带有消息的对话框:
将原始控件“Enum”替换为“yourfilename”?
会出现。选择
是
。
使用
yourfilename.ctl
替换程序框图上的所有枚举。在函数选项板中选择
选择一个VI
并导航到
yourfilename.ctl
来放置你的自定义类型 。或者,您可以将.ctl文件直接从保存它的文件夹拖到程序框图中。右键单击每个实例,并确保将其设置为从
自定义类型自动更新。
如果您不希望枚举变量在前面板上可见,请通过右键单击枚举变量并选择
Change to Constant
来
使其成为常量
。
要更改枚举变量,请右键单击它并选择
打开自定义类型
。
打开“控制”窗口后,右键单击“枚举”并选择“
属性”
。
进行所需的更改,保存并退出。 VI中的所有枚举都将更新以进行新的更改。
将新分支添加到枚举并希望在条件结构中查看新分支时,右键单击条件结构的边缘,然后选择
“为每个值添加分支”
。
相关链接
Using Enumerated Type Controls
How to Use Enums in Case Structures in LabVIEW
Differences Between Type Definitions and Strict Type Definitions
其他支持选项
询问NI社区
在我们的论坛中与其他用户协作
搜索NI社区以寻求解决方案
请求工程师的支持
可能需要有效的服务协议或有效的软件订阅,同时支持选项因国家/地区而异
打开服务请求
了解软件订阅和服务
了解硬件服务计划
Was this information helpful?
Helpful
Not Helpful