首页 理论教育LabVIEW2012中文版虚拟仪器精通

LabVIEW2012中文版虚拟仪器精通

【摘要】:同步组将在程序执行完毕前始终保持活动状态。如要向一个同步组添加一个已属于另一同步组的定时结构,LabVIEW将把该定时结构从前一个组中移除,添加到新组。中止定时结构的执行,使用定时结构停止VI可通过程序中止定时结构的执行。将字符串常量或控件中的结构名称连接至定时结构停止VI的名称输入端,指定需要中止的定时结构的名称。例如,以下程序框图中,低定时循环含有定时结构停止VI。

同步定时结构用于将程序框图中各定时结构的起始时间同步。例如,使两个定时结构根据相对于彼此的同一时间表来执行。例如,令定时结构甲首先执行并生成数据,定时结构乙在定时结构甲完成循环后处理生成的数据。令上述定时结构的开始时间同步,以确保二者具有相同的起始时间。

可创建同步组以指定程序框图中需要同步的结构。创建同步组的步骤如下:将名称连接至同步组名称输入端,再将定时结构名称数组连接至同步定时结构开始程序的定时结构名称输入端。同步组将在程序执行完毕前始终保持活动状态。

定时结构无法属于两个同步组。如要向一个同步组添加一个已属于另一同步组的定时结构,LabVIEW将把该定时结构从前一个组中移除,添加到新组。可将同步定时结构开始程序的替换输入端设为假,防止已属于某个同步组的定时结构被移动。如移动该定时结构,LabVIEW将报错。

中止定时结构的执行,使用定时结构停止VI可通过程序中止定时结构的执行。将字符串常量或控件中的结构名称连接至定时结构停止VI的名称输入端,指定需要中止的定时结构的名称。例如,以下程序框图中,低定时循环含有定时结构停止VI。运行高定时循环并显示已完成循环的次数,如图5-55所示。若单击位于前面板的中止实时循环按钮,左侧数据节点的“唤醒原因”输出端将返回“已中止”,同时弹出对话框。单击对话框的确定后,VI将停止运行,如图5-56所示。

图5-57中给出了定时循环数据端子应用的一个小例子。

由接入循环条件端子的判断逻辑可以知道,循环体执行4次。程序开始运行时定时源启动,经过1000ms的偏移之后,第一次循环开始执行,执行完第4次后,周期变为4000ms,但在循环结束前,周期为3000ms,所以循环体本身执行时间为(0ms+1000ms+2000ms+3000ms),即6s,又因为偏移等待时间为1s,所以整个代码执行时间为7。

978-7-111-40983-0-Chapter05-57.jpg

图5-55 中止定时循环的程序框图

978-7-111-40983-0-Chapter05-58.jpg

图5-56 中止定时循环的前面板显示(www.chuimin.cn)

978-7-111-40983-0-Chapter05-59.jpg

图5-57 定时循环数据端子的应用

例5-3:使用定时循环产生波形

本实例显示了通过两个定时循环产生波形的情况。由于偏移量设置的不同,输出波形的起始点也不同。从程序框图可以知道:程序首先创建了两个长度为100,元素为全0的一维数组。周期设置都为10ms,所以每隔10ms将出现一次输入的新值(定时循环1其值为1,定时循环2其值为3)。本实例的程序框图及前面板如图5-58和图5-59所示。

978-7-111-40983-0-Chapter05-60.jpg

图5-58 例5-3的程序框图

978-7-111-40983-0-Chapter05-61.jpg

图5-59 例5-3的前面板