第9章 labview的高级应用(事件结构编程技巧)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

用布尔控件制作 的自定义控件
为这个自定义控 件动态注册了 “鼠标按下”事 件
1:放置“注册事件”函数 2:在“注册事件”函数输入端上连接一个引用 3:在“注册事件”函数事件源,选择该引用所对应的事件
4:单击事件结构边框,选择“显示动态事件接线端” 5:编写事件分支程序
6:放置一个“事件注册”函数,将其引用句柄与动态事 件接线端连接起来,并将一个“非法引用句柄常量”送 给事件源接线端。
生产者消费者 循环
事件结构
数字”0-9” “-“ ”Backspace“
事件过滤节点
事件结构注册模式
• 静态注册:事件结构的每个分支具体处理哪 些事件,一旦VI开始运行,LabVIEW将自动 注册这些事件,并且在VI运行的整个过程中 无法改变事件结构所处理的事件。 • 动态注册:动态事件注册与VI服务器相结合, 允许在程序运行时使用控件、VI或应用程序 的引用来动态地指定和改变产生事件。动态 注册在控制LabVIEW产生何种事件和何时产 生事件等方面更为灵活。
事件结构在循环体内,循环的次数由事件发生的次数决定。
循环结构工作原理,若事件 并不发生,循环也不再继续, 无法检测循环条件,只有当 事件发生后,循环继续时, 才会检测到循环条件端子, 停止程序。
事件结构编写黄金法则2
在事件结构中添加“停止”按钮 的 处理分支!
事件结构编写黄金法则3
不要在事件结构中直接使用循环 处理事件!
7:同样是放置了一个“注册事件”函数,将事件注册引 用句柄与动态事件接线端连接起来,将神灯控件的引用 连接到事件源接线端
事件结构注册模式
在一个VI运行的过程中,前面板上控件的位置是 静止的,不能像VI没有运行时那样,可以通过鼠 标的拖动来改变控件的位置。而动态注册事件, 就能在VI运行的过程中,用鼠标拖动前面板控件, 让控件的位置将随着鼠标的位置而移动。
第九章
Labview 的高级应用 ——事件结构之谜
用户界面
事 件
外部I/O
程序的其它部分
事件结构
超时节点 事件选择器
动态事件注册
事件数据节点
程序代码
Step2:处理事件分支程序
事件结构在循环体外, 因此不再执行
Step1:值第一次被改变 Step3:值再次被改变
事件结构编写黄金法则1
将事件结构放入While循环中!
用布尔控件制作 的图片控件
鼠标按下
鼠标移动
Hale Waihona Puke Baidu鼠标释放
获知那个控件被按下,并将其传递给移位寄存器
通用VI引用
前面板上所有控件
通过“坐标”获取鼠标的位置,并把该坐标值赋给“鼠标 按下”的控件,从而达到控件被鼠标拖动的视觉效果。
在“鼠标释放”的分支中,通过“非法引用句柄常量”取 消对“鼠标移动”事件的注册,从而实现在鼠标释放后, 控件的位置不再跟随鼠标发生变化。
相关文档
最新文档