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