labview事件结构浅析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/forum.php?mod=viewthread&tid=207837
使用LabVIEW图形化语言开发的应用程序界面是图形化用户操作界面,也称为:GUI (graphical user interface),它的作用是与操作者实现人机对话形式的互动操作。这种对界面操作的互动响应在LabVIEW 6.1发布之前,只能是通过“轮询(polling)”的方式来实现。轮询的方式的缺点是:需占用一定的CPU资源(在没有事件发生时)和灵活性不好。在LabVIEW6.1引入事件结构(Event Structure)后,采用事件结构来设计、实现的GUI操作则变得更加灵活、方便,并且不占用CPU的资源,这与先前采用轮询的方式来查询事件的方式相比要合理的多。下面结合应用项目中的设计实例来介绍GUI设计中的事件驱动。
有关事件结构的一些基本概念、原理及使用方法在LabVIEW Help及许多中文书中都作了详细的讲解,这里我就不作更多地介绍了。
事件结构通常包括以下部分:
1、Event cases——包含有若干个注册的事件源及同等数目的Event case层,在每个Event case层中包含对该事件响应的处理程序。
2、While循环——用来检测连续不断产生的事件
事件结构中的While循环,是用来确保检测到连续不断发生的事件。如果没有这个While循环,无论有多少事件发生只能对第一个发生的事件进行处理,处理完后程序将退出事件结构。
菜单选项事件结构实例
2011-11-11 09:50 上传下载附件(8.79 KB) NI USB-9219是一款4通道通用C系列模块,专为多功能测试而设计。USB-9219能够测量传感器中的多种信号,如压力计、RTD、热电偶、测压元件和其他需要供电的传感器。由于通道接受单独选择,4条通道可以分别进行不同类型的测量。测量范围随测量类型而异,包括±60 V最大电压范围和±25 mA最大电流范围。
第1步、创建一个项目:综合参数测量仪
按照我的设计习惯,首先在桌面上创建一个新的文件夹,命名为《综合参数测量仪》。然后,打开、运行LabVIEW开发环境,并选择开发环境中的:新建》项目。
此后,在“项目浏览器”就可以看到一个新建的项目:"未命名项目1"。单击项目浏览器:文件》保存,并将该项目命名为:“综合参数测量仪”后,存放到桌面上的《综合参数测量仪》文件夹中。
此时,项目创建完毕。
第2步、创建一个主vi:综合参数测量仪.vi
2011-11-11 09:41 上传下载附件(14.71 KB) 打开刚刚新建的“综合参数测量仪”项目,然后用鼠标右击该项目中的”我的电脑“选择:新建》VI,即创建了一个新的vi。
用鼠标点击新vi的:文件》保存(命名为:综合参数测量仪.vi)。
主vi即宣告创建完毕。如例图所示。
第3步、设置“综合参数测量仪.vi”的属性
2011-11-11 09:41 上传下载附件(20.2 KB) 打开刚刚创建的“综合参数测量仪.vi”,用鼠标点击:文件》VI属性,该vi的属性对话框弹出,如例图所示。
也就是设置主vi的属性。
2011-11-11 09:41 上传下载附件(19.26 KB) 在“类别”窗口选择属“窗口外观”,设定:“窗口标题”和“自定义”选项,见例图。
2011-11-11 09:41 上传下载附件(28.61 KB) 用鼠标点击上图中的“自定义”按键,进入“自定义窗口外观“对话框。按例所示的方式选择各单元参数设定后,连续点击”确定“按键后,退出”VI属性“设定对话框。
2011-11-11 09:41 上传下载附件(8.63 KB) “综合参数测量仪.vi“的属性基本设定完毕,在该vi的程序框图上,先创建一个While循环,并放置“停止”按键来控制这个While 循环。然后,点击前面版上的运行按钮,程序开始运行,如例图所示。
此时看到“综合参数测量仪”的前面版的上部保留了一个菜单栏,但内容不是我们所期望的。现在,按我们所要求的菜单栏来进行新的设计。
第4步、编辑设计菜单栏
2011-11-11 09:41 上传下载附件(17.75 KB) 在该vi的前面板选择:编辑》运行时菜单,此时系统弹出“菜单编辑器”对话框,选择“自定义”、“用户项”则可以进行自定义的菜单设计。
2011-11-11 09:41 上传下载附件(20.57 KB) 下面就来设计运行时菜单,首先在上图所示的“菜单项名称”一栏添入第一个菜单项目:“直流电压测量”,然后,点击“+”按键。
项目菜单创建完成,在预览栏目中显示出第一个菜单项“直流电压测量”。
2011-11-11 09:41 上传下载附件(25.15 KB) 下面添置该项目下的子菜单(如果没有子菜单,
那么重复上述步骤进入下一个项目菜单的设计)。
点击“右移”键,进入子菜单选项,在“菜单项名称”一栏添入:
“60V电压测量”,点击“+”
“15V电压测量”,点击“+”
“4V电压测量”,点击“+”
“1V电压测量”,点击“+”
“125mV电压测量”,点击“+”。
然后点击“左移”按键,准备下一个项目菜单的设计。如例图所示。
2011-11-11 09:41 上传下载附件(29.3 KB) 在“菜单项名称”一栏添入:“直流电流测量”。然后点击“+”键以及“右移”键,继续在“菜单项名称”一栏添入子菜单名:“25mA 电流测量”。如图所示。
2011-11-11 09:41 上传下载附件(37.22 KB) 点击“+”键及“左移键”后,在“菜单项名称”一栏添入:“电阻测量”。然后,点击“+”键及“左键”,在“菜单项名称”一栏添入子菜单名:
“两线电阻测量”
“四线电阻测量”两个子菜单。
同样,设定主菜单为:RTD温度测量,子菜单为:
三线RTD温度测量
四线RTD温度测量
同样,设定主菜单为:热电偶温度测量,子菜单为:
K型热电偶温度测量
J型热电偶温度测量
S型热电偶温度测量
同样,设定主菜单为:应变测量,子菜单为:
1/4桥应变测量
半桥应变测量
全桥应变测量
至此,菜单设计完成,见例图。
2011-11-11 09:41 上传下载附件(13.69 KB) 关闭“菜单编辑器”试运行一下程序,状态见例图。
第5步、结合事件结构设计菜单选项的程序