LabVIEWwilliam hill官网
直播中

萧猎

9年用户 129经验值
擅长:可编程逻辑 电源/新能源
私信 关注
[问答]

用程序中间变量触发事件结构的奇怪现象求解

我在编程工作中遇到一个奇怪问题,不得其解,现向你请教!
我想用程序的某个中间变量值改变触发事件结构,由于事件结构只能由前面板的输入控件触发,(以下面小程序为例)因此我将该中间变量(A表示程序逻辑计算出来的值)赋值(信号)给另一输入控件B,用B的值改变事件去执行相关程序。如下图所示。
1.png 2.png
结果发现如下现象:
程序只在“B值改变”分中不停的执行,从来不在“超时”分支内执行,尽管B值从未改变过。
如果把 3.png 放在超时分支里,则两个分去会轮流执行,尽管B值也从未改变过。
我想达到的目的是,只有当A值改变后,才执行“B值改变”分支仅一次,否则执行“超时”分支。
请帮忙解决并解释上述现象。

回帖(2)

王治

2017-3-22 16:11:14

最佳答案

因为只要给值(信号)赋值,就会触发值改变事件,所以A给B的值信号幅值的时候,每次都会触发B的值改变事件。但如果通过A来给B的值属性赋值,却不会触发B的值改变事件。注意区分控件的“值”属性和“值(信号)”属性。
举报

萧猎

2017-3-23 08:35:50
引用: 隔壁老wang 发表于 2017-3-22 16:11
因为只要给值(信号)赋值,就会触发值改变事件,所以A给B的值信号幅值的时候,每次都会触发B的值改变事件。但如果通过A来给B的值属性赋值,却不会触发B的值改变事件。注意区分控件的“值”属性和“值(信号)”属性。

你还说漏了一点,通过值(信号)赋值时不管值是否改变每执行一次就会触发一次事件.通过A来给B的值属性赋值,就算值改变了也不会触发事件
恩挨公司的工程师昨天已给我解释了,比你稍早一点. 五分奖励给你了谢谢
举报

更多回帖

发帖
×
20
完善资料,
赚取积分