0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看威廉希尔官方网站 视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LabVIEW对按钮控件提供的六种不同动作方式

华穗科技 来源:华穗科技 作者:华穗科技 2023-04-14 11:01 次阅读

LabVIEW开发的一大优势就是做界面十分方便,而在开发的过程中我们一定会使用前面板控件,其中布尔控件中有一类按钮控件,我们可以通过按下控钮来设计实现不同的程序功能,但是在使用和开发的过程中大家是否注意到按钮控件有不同的动作方式?

其实LabVIEW对按钮控件提供了六种不同动作方式,这就是控件的机械动作。它们可以通过右键选中控件然后选择机械动作来进行设置,这六种不同的机械动作导致按钮输出值的行为是不同的,下面让我们来一起学习这六种机械动作吧!

一、机械动作的分类

布尔控件的机械动作用于模仿与真实仪器(如示波器信号发生器、万用表等)相类似的前面板按钮行为。机械动作一共分为两类:一类是切换动作,另一类是触发动作。切换和触发动作的相同之处是他们都改变了布尔控件的值,不同之处是他们如何恢复控件的原值。

转换动作是控件从原值转换为新值并且保持一定的转换时间;而触发和转换不同,触发是按钮输出新值只一次,然后立刻恢复为原值,它输出新值时不会保持一定时间。

切换动作:适用于只能由用户将控件值恢复到原值时使用该类机械动作

触发动作:适用于由读取控件的VI将控件值恢复到前一个值时使用该类机械动作。这时用户也可以将控件值恢复成原值,但必须在VI读取控件之前进行。

动作 描述 应用场景
单击时转换 单击时立即改变控件当前值,且保留新值直至下一次单击控件。 照明灯开关—按下开关后灯立即点亮,并一直保持点亮到再次按下开关为止。
释放时转换 释放鼠标按钮时改变控件当前值,且保留新值直至下一次单击控件。 复选框—只在释放鼠标按钮后才改变复选框的值,单击后如将鼠标移至复选框外再释放则复选框值不改变,因而有更多考虑空间。
保持转换直到释放 只在单击鼠标并保持鼠标按钮按下期间改变当前值并保持新值,释放鼠标后将恢复原值。 门铃—按下按钮后门铃立即响起并保持响声直至释放按钮。
单击时触发 单击时立即改变控件当前值,且在VI读取该控件新值后恢复原值。 紧急停止按钮—按下按钮后系统立即停止运行,且按钮在系统读取值改变后立即重置,从而允许被再次按下。
释放时触发 释放鼠标时改变控件当前值,且在VI读取该控件新值后恢复原值。 关闭按钮—只在释放鼠标按钮且应用程序读取了值改变后才关闭程序,单击后如将鼠标移至按钮外再释放则不关闭,因而有更多考虑空间。
保持触发直到释放 只在单击鼠标并保持鼠标按钮按下期间改变当前值并保持新值。释放鼠标按钮且VI读取控件值后将恢复原值。 机器人移动控制器—按下控制器后控制器通知机器人系统移动机器人。释放控制器按钮后,机器人系统读取控件值,机器人恢复不动的状态。

、 机械动作介绍

1、单击时转换

鼠标按下时,按钮输出的值会转换。例如,如果按钮的值设为假,当按钮被按下,值就转换为真。并且新值会一直保持下去,直到按钮再次被按下。该类控件常用于控制LED灯的开和关。

533b9f0c-da6f-11ed-bfe3-dac502259ad0.gif

2、释放时转换

鼠标按下时不改变状态,只有当鼠标在控件上释放时才改变状态,如果鼠标未释放或在控件范围外释放则不改变状态,生效后可以一直保持新值状态。该类控件类似于Windows的确定按钮,用户按下按钮后又经过考虑还是不确定了,可以将鼠标移到按钮外释放,这样就可以放弃此次转换。

53521020-da6f-11ed-bfe3-dac502259ad0.gif  

3、保持转换直到释放

鼠标按下时状态改变,并且新值只持续到鼠标释放;鼠标释放时控件恢复成原值状态;控件保持转换的时间取决于鼠标按下和释放之间的时间间隔。该类控件类似于门铃按钮,按下按钮后铃声开始响起,松开按钮后铃声停止。

53794514-da6f-11ed-bfe3-dac502259ad0.gif

4、单击时触发

鼠标按下时状态转变为新值,不论鼠标是否释放,按钮立即恢复为原值。该类控件类似于仪器仪表上的功能按钮,按一下后执行控件功能,并且控件会自动复位到初始状态,等待下一次触发。

539c7f02-da6f-11ed-bfe3-dac502259ad0.gif

5、释放时触发

鼠标按下时不会触发,当鼠标在按钮上释放时才会触发一次值改变,触发完成后控件会立刻恢复到初始状态;当鼠标在按钮外的地方释放时按钮不会动作。和“单击时触发”相比,“释放时触发”会给用户一些考虑时间,防止用户的一些误操作导致程序出现某些不可预期的错误。图示效果请参考“单击时触发”。

6、保持触发直到释放

按钮当按下并保持时改变值,并且在按钮被释放后保持这个改变的值被读到一次。之后,它将返回到它的原值。比如值设为假的按钮当被按下和保持时将变为真。在释放之后,它将多输出真一次,然后返回为假。

53bce594-da6f-11ed-bfe3-dac502259ad0.gif  

三、开发小Tipes

1、触发动作不兼容局部变量

触发动作与局部变量不兼容,当控件设置为按下时触发、释放时触发和保持转换直到触发这三种机械动作时如果创建该控件的机械动作会导致VI断线并报错,将控件更改为转换动作后才能使用局部变量。

53dfd5cc-da6f-11ed-bfe3-dac502259ad0.png  

2、触发动作自动恢复初始值

触发动作理论上都会自动恢复为初始值,但在开发的过程中需要将控件置于循环内部(一般置于该控件的值改变事件结构中)才能实现控件自动恢复为初始值。下面以一个单击时触发的控件为例给大家展示这个小技巧:

按钮在循环外,未自动恢复初始值:

按钮在循环内,自动恢复初始值:

3、机械动作与“值改变”事件

不同机械动作控件使用事件结构中的“值改变”事件时事件结构捕获并响应的次数是不同的,其中“保持转换直到释放”和“保持触发直到释放”按钮在完成一次操作时可以触发两次“值改变”事件,而其余四种机械动作只会让事件结构捕获并响应一次“值改变”事件。下面我们以一个简单的程序实例来看看不同机械动作的控件,事件结构是如何去响应该控件的“值改变”事件的:

单击时转换: 释放时转换: 保持转换直到释放: 单击时触发:

释放时触发:

保持触发直到释放:

4、恢复按钮至默认值

在实际开发过程中,我们往往需要在点击控件后让控件能恢复到默认状态,触发动作的三种类型控件可以将控件至于循环内部来实现恢复为默认状态,那转换动作的控件应该如何去恢复至默认值呢?其实使用调用节点来实现这个功能可以恢复任意控件的默认值,程序框图如下:

53f060e0-da6f-11ed-bfe3-dac502259ad0.png

5、机械动作范例

在LabVIEW的范例查找器中搜索“机械动作”,或者在范例查找器中的创建用户界面>>常规中找到机械动作范例,可以学习和熟悉六种机械动作的使用。

54031794-da6f-11ed-bfe3-dac502259ad0.png

以上就是有关LabVIEW中按钮控件机械动作的全部内容啦,本文的示例代码都比较简单,感兴趣的小伙伴可以参考文中的图片和视频自行编写使用!


审核编辑:刘清

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 示波器
    +关注

    关注

    113

    文章

    6222

    浏览量

    184692
  • LabVIEW
    +关注

    关注

    1966

    文章

    3652

    浏览量

    322876
  • 移动机器人
    +关注

    关注

    2

    文章

    758

    浏览量

    33557
  • 信号发生器
    +关注

    关注

    28

    文章

    1463

    浏览量

    108706
  • 按钮
    +关注

    关注

    0

    文章

    134

    浏览量

    12759
  • 华穗科技
    +关注

    关注

    1

    文章

    12

    浏览量

    76

原文标题:知识分享 | LabVIEW中按钮控件的机械动作

文章出处:【微信号:华穗科技,微信公众号:华穗科技】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    六种dcdc变换器特点是什么

    DC-DC变换器是将一个电压值的直流电源转换成另一个电压值的直流电源的电子设备。它们在电源管理、电池充电、便携式电子设备等领域中非常重要。以下是六种常见的DC-DC变换器及其特点的介绍: 降压变换器
    的头像 发表于 09-30 16:27 398次阅读

    labview 布尔按钮闩锁动作问题

    大家好,如图我通过设置布尔按钮的属性实现按钮按下去自动复原但是有个问题这个选择会导致这个按钮的值改变两次,就会导致在事件结构-值变化中执行两次有大佬知道怎么解决执行两次的问题吗?
    发表于 09-18 17:10

    labview控件怎么置于顶层

    LabVIEW中,将控件置于顶层(特别是当讨论的是整个前面板窗口的置顶,而非单个控件的层级调整)时,主要可以通过编程方式实现,特别是利用VI服务器(VI Server)来控制前面板的
    的头像 发表于 09-04 18:06 1264次阅读

    labview字符串的四表示各有什么特点

    。在LabVIEW中,字符串是一基本的数据类型,用于表示文本信息。字符串在LabVIEW中有多种表示方式,每种方式都有其特定的应用场景和特
    的头像 发表于 09-04 15:40 481次阅读

    水冷液冷负载系统的六种基本类型

    您可以选择六种基本类型的冷却系统,以满足负载的冷却需求。每个人都有其优点和缺点。本文旨在识别不同类型的冷却系统并确定它们的优缺点,以便您可以根据自己的需求做出明智的选择。
    的头像 发表于 07-08 07:35 473次阅读
    水冷液冷负载系统的<b class='flag-5'>六种</b>基本类型

    鸿蒙开发Ability Kit程序访问控制:使用保存控件

    保存控件是一特殊的安全控件,它允许用户通过点击按钮临时获取存储权限,而无需通过权限弹框进行授权确认。
    的头像 发表于 07-03 14:40 389次阅读
    鸿蒙开发Ability Kit程序访问控制:使用保存<b class='flag-5'>控件</b>

    鸿蒙开发Ability Kit程序访问控制:安全控件概述

    安全控件是系统提供的一组系统实现的ArkUI组件,应用集成这类组件就可以实现在用户点击后自动授权,而无需弹窗授权。它们可以作为一“特殊的按钮”融入应用页面,实现用户点击即许可的设计思
    的头像 发表于 07-03 09:22 377次阅读
    鸿蒙开发Ability Kit程序访问控制:安全<b class='flag-5'>控件</b>概述

    快速搞懂GPIO控制器的六种模式

    六种常见模式,我们特地整理了这篇文章。。快速搞懂GPIO控制器的六种模式我们拿STM32芯片举例,下图是GPIO控制器的简单框图:通过框图可以分为输入和输出两个
    的头像 发表于 05-18 08:04 1410次阅读
    快速搞懂GPIO控制器的<b class='flag-5'>六种</b>模式

    LabVIEW里Ring自定义控件,其常量无法保持同步修改,如何解决

    感觉这是LabVIEW的一个大bug。在做一些自定义映射控件时,有时用Ring控件比较好,可以直接对应非递进的数字(相比于Enum控件),但是Ring
    发表于 04-24 11:20

    路由器的六种传输模式,你都知道哪个呢?

    路由器的六种传输模式,你都知道哪个呢? 路由器是当今网络通信中不可或缺的设备,它能将网络数据包在不同的计算机网络中进行转发。而在这个过程中,路由器还支持多种传输模式。 1. 静态路由模式 静态路由
    的头像 发表于 02-04 14:08 2012次阅读

    labview列表框控件怎么用

    LabVIEW是一款面向虚拟仪器的图形化程序设计环境,它主要用于各种仪器、设备的数据采集、信号处理、控制、监测等应用。其中,列表框控件LabVIEW编程中常用的一
    的头像 发表于 01-04 17:42 2697次阅读

    labview显示控件怎么设置风格

    LabVIEW是一强大的图形化编程语言和集成开发环境(IDE),主要用于数据采集、仪器控制和实时数据分析等领域。它提供了丰富的图形控件,用户可以通过这些
    的头像 发表于 01-04 10:27 1916次阅读

    labview mdi怎么实现

    要实现LabVIEW的多文档界面(MDI),需要遵循以下步骤: 理解多文档界面的概念:多文档界面(MDI)是一用户界面模式,允许同时打开和管理多个文档窗口。每个文档窗口都是独立的,可以单独移动
    的头像 发表于 01-02 16:12 1211次阅读

    LabVIEW Tab选项卡控件XTab的使用方法

    选项卡控件是在界面开发中常常使用到的控件,通过多选项卡布局,将UI显示内容独立分为多个功能模块或者视图,用户可以通过单击选项卡来切换到所需的功能视图。
    的头像 发表于 01-02 09:24 2167次阅读
    <b class='flag-5'>LabVIEW</b> Tab选项卡<b class='flag-5'>控件</b>XTab的使用方法

    labview多列列表框写入数据

    功能,并提供一些实例演示。 LabVIEW多列列表框数据写入功能简介 1.1 LabVIEW多列列表框简介 多列列表框是LabVIEW中一
    的头像 发表于 12-26 13:49 5427次阅读