LabVIEW通过下列位置生成事件:

  • 用户界面 - 包括鼠标点击、键盘按键等动作。
  • 外部I/O - 外部I/O事件包含指示采集完成或发生错误条件的硬件定时器或触发器。
注: LabVIEW也支持ActiveX和.NET Framework事件,这些事件为可通过编程生成的外部I/O事件。
  • 程序框图 - 程序框图事件,也称通过编程生成的事件,包括根据用户定义数据生成的用户事件和程序框图的其他事件。

每个事件都对应于VI前面板上的控件VI前面板窗口VI窗格LabVIEW应用程序

注:LabVIEW只在VI运行时或VI被运行中的VI作子VI调用时生成事件。

用户界面事件

通过用户界面事件,可设计应用程序使LabVIEW在用户进行特定前面板操作时产生特定的事件。每次前面板事件发生时,程序框图都会以相应的代码来响应前面板操作。与使用循环轮询用户界面交互相比,用户界面事件减少了程序占用的CPU资源,简化了程序框图代码,并能够确保程序框图响应所有用户操作。LabVIEW将用户界面事件分为两类

通过编程生成事件

用户也可不进行任何前面板操作,通过编程在程序框图上生成一个事件。通过编程生成的事件在程序的不同部分之间交换数据,没有数据流依赖关系。例如,程序中有一个循环,连续检测温度传感器的值。传感器到达某一个值以上时,就产生一个发出警告的用户事件。在应用程序的其他位置,事件结构处理传感器到达警戒水平产生的用户事件,以及通知用户警报状态发生的用户界面事件。使用同一个事件结构处理用户界面事件和程序生成事件可实现队列式状态机等更为复杂的架构。

注:通常,LabVIEW只有在用户直接与前面板交互时才产生用户界面事件。可使用值(信号)属性来产生一个“值改变”事件。