LabVIEW中如何按时间定时发送串口信号?就是如何将定时输出的布尔值转化为像按钮控件那样的单击触发效果

2024-12-02 11:18:22
推荐回答(3个)
回答(1):

事件结构无法捕捉由程序修改控件值产生的“值改变”事件

主要软件: LabVIEW Development Systems>>LabVIEW Full Development System
主要软件版本: 1.0
主要软件修正版本: N/A
次要软件: LabVIEW Development Systems>>LabVIEW Professional Development System, LabVIEW Development Systems>>LabVIEW Base Package

问题:
在使用事件结构的时候,我在事件分支中响应前面板中的一个显示控件的值改变事件,该显示控件在程序的其他部分动态改变其值。VI运行的时候,可以观察到显示控件值已经被改变了,但是对应事件分支却没有执行。为什么事件结构里没有响应我显示控件的值改变事件呢?

解答:
事件结构仅仅注册由直接的前面板用户输入产生的事件,而在问题中,显示控件的值非用户输入而是程序更改的,所以这样的“值改变”LabVIEW不会去捕捉,因此也无法响应对应的事件分支。而且,即使你在程序中利用VI服务器,全局变量,局部变量等来改变VI和前面板控件,“值改变”事件都不会被LabVIEW捕捉。
有一个例外,输入控件和显示控件的事件可以通过调用值(信号)的属性节点产生。该属性是只写的,每次写入该属性节点就像是用户在前面板操作产生值的改变。要注意的是,在循环中使用该属性时,如果在循环迭代每一次都写入 该属性,不管控件实际是否有值变化,程序将会产生一组的值改变事件。
参考下图的图片以及附件中的VI。

回答(2):

可以用事件结构中的【超时】分支,设定好超时时间。

回答(3):

不知道你的问题是什么意思。