当前位置:网站首页>LabVIEW学习笔记九:捕捉由程序修改控件值产生的“值改变”事件
LabVIEW学习笔记九:捕捉由程序修改控件值产生的“值改变”事件
2022-07-27 18:08:00 【Gutie_bartholomew】
遇到个问题,我把这个问题简化了成了一个vi,里面是有2个确定按钮(机械动作:单击后触发),分别用事件结构(值改变)控制了一个灯亮起。
我希望能实现:我点一个按钮a后控制一个灯a亮起(代表了一些数据计算),这些计算的结果来判断,判断后让另一个按钮b也实现触发(另一个按钮的事件结构也是值改变),然后b灯亮起。这个过程中我只点了按钮a,看起来就是点了按钮a后又点了按钮b(实际上没点按钮b)
ps:因为一些原因,不能把a,b的值改变放到同一个事件分支中去,也不能把两个灯放到同一个事件结构里去。

当时没想明白,被迫换了一个程序写法,后来偶然在网上看到了一个大佬的系列,简直如同醍醐灌顶。
LabVIEW 无法捕捉由程序修改控件值产生的“值改变”事件_LabVIEW开发的博客-CSDN博客_labview输出值改变触发事件
在使用事件结构的时候,在事件分支中响应前面板中的一个显示控件的值改变事件,该显示控件在程序的其他部分动态改变其值。VI运行的时候,可以观察到显示控件值已经被改变了,但是对应事件分支却没有执行。为什么事件结构里没有响应显示控件的值改变事件呢?
解答:
事件结构仅仅注册由直接的前面板用户输入产生的事件,而在问题中,显示控件的值非用户输入而是程序更改的,所以这样的“值改变”LabVIEW不会去捕捉,因此也无法响应对应的事件分支。而且,即使你在程序中利用VI服务器,全局变量,局部变量等来改变VI和前面板控件,“值改变”事件都不会被LabVIEW捕捉。
有一个例外,输入控件和显示控件的事件可以通过调用值(信号)的属性节点产生。该属性是只写的,每次写入该属性节点就像是用户在前面板操作产生值的改变。要注意的是,在循环中使用该属性时,如果在循环迭代每一次都写入该属性,不管控件实际是否有值变化,程序将会产生一组的值改变事件。
参考下图的图片以及附件中的VI。

上例中,事件结构用来捕捉要连接到输入控件Numeric的Event Source 显示控件的“值改变”事件。
在事件结构的Numeric“值改变”分支中将Numeric的新值赋值给Event Source ,而不是在事件结构外直接将Numeric连线到Event Source,这样就可以避免每次Event Source 的值改变产生的“值改变”事件。一旦Numeric值改变了,对应的事件分支就会响应,通过 Event Source 的值(信号)属性节点便可产生 Event Source 的“值改变”事件,他对应的事件分支也执行了,如下图所示。

————————————————
版权声明:本文为CSDN博主「LabVIEW开发」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bjcyck/article/details/124519385
边栏推荐
- openresty lua-resty-core 使用
- Clickhouse implements materializedpostgresql
- CONDA common commands
- Innovative cases | the growth strategy of digitalization of local life services and upgrading of Gaode brand
- Redis queue, RDB learning
- 金仓数据库 KingbaseES异构数据库移植指南 (3. KingbaseES移植能力支撑体系)
- My approval of OA project (Query & meeting signature)
- 软件测试面试题:字符串 “axbyczdj“,如果得到结果“abcd
- Users and permissions revoke user permissions
- Arduino开发(二)_基于Arduino UNO开发板的RGB灯光控制方法
猜你喜欢

A layered management method of application layer and hardware layer in embedded system

2022-07-19 网工进阶(二十)BGP-路由优选、路由优选逐条分析

【分层强化学习】HAC论文及代码

Some contents related to cmsis-rtos

EasyCVR平台关闭录像为何还会有TS切片文件生成?

Knowledge dry goods: basic storage service novice Experience Camp
![[design tutorial] yolov7 target detection network interpretation](/img/dc/a795dcbd1163df6d8f33704a129d30.png)
[design tutorial] yolov7 target detection network interpretation

JVM overview and memory management (to be continued)

Understand the wonderful use of dowanward API, and easily grasp kubernetes environment variables

用户组织架构的管理
随机推荐
Oracle Xe installation and user operation
MySQL learning record (III) multi table query, sub query, paging query, case statement, single line function
2022-07-19 advanced network engineering (XX) BGP route optimization, route optimization analysis one by one
【程序人生】“阶段总结“-不甘平凡
海康设备接入EasyCVR,出现告警信息缺失且不同步该如何解决?
Clickhouse implements materializedpostgresql
2022-07-19 网工进阶(二十)BGP-路由优选、路由优选逐条分析
Ten year test old bird talk about mobile terminal compatibility test
【毕设教程】YOLOv7 目标检测网络解读
[deep learning] video classification technology sorting
软件测试面试题:已知一个队列,如: [1, 3, 5, 7], 如何把第一个数字,放到第三个位置,得到:[3, 5, 1, 7]
Flask-MDict搭建在线Mdict词典服务
MySQL 日志错误日志
金仓数据库 Oracle 至 KingbaseES 迁移最佳实践 (4. Oracle数据库移植实战)
Nailing development document
Idea: solve the problem of code without prompt
Anfulai embedded weekly report no. 275: 2022.07.18--2022.07.24
Common methods of object learning [clone and equals]
【Dart】一门为跨端开发而生的编程语言
IE11 下载doc pdf等文件的方法