若程序框图中同时存在优先级设为实时的VI和定时顺序,将导致无法预计的定时行为。名称是对定时循环的一个标志,一般被作为停止定时循环的输入参数,或者用来标识具有相同的启动时间的定时循环组。定时顺序结构由一个或多个任务子程序框图或帧组成,是根据外部或内部信号时间源定时后顺序执行的结构。定时顺序结构适于开发精确定时、执行反馈、定时特征等动态改变或有多层执行优先级的VI。图5-47 多帧定时循环图5-48 定时顺序结构......
2023-11-26
配置定时循环主要包括以下几个方面。
1.配置下一帧
双击当前帧的右侧数据节点或右键单击该节点,从快捷菜单中选择配置输入节点,打开“配置下一次循环”对话框,如图5-75所示。
图5-75 “配置下一次循环”对话框
在这个对话框中,可为下一帧设置优先级、执行期限以及超时等选项。开始时间指定了下一帧开始执行的时间。要指定一个相对于当前帧的起始时间值,其单位应与帧定时源的绝对单位一致。在开始文本框中指定起始时间值。还可使用帧的右侧数据节点的输入端动态配置下一次定时循环或动态配置下一帧。在默认状态下,定时循环帧的右侧数据节点不显示所有可用的输出端。如果需要显示所有可用的输出端,可调整右侧数据节点大小或右键单击右侧数据节点并从快捷菜单中选择显示隐藏的接线端。
2.设置定时循环周期
周期指定各次循环间的时间长度,以定时源的绝对单位为单位。
图5-76所示程序框图的定时循环使用默认的 1 kHz 的定时源。循环 1 的周期(dt)为1000 ms,循环2 为 2000 ms,这意味着循环1每秒执行一次,循环2每两秒执行一次。这两个定时循环均在6次循环后停止执行。循环1于6 s后停止执行,循环2则在12 s后停止执行。
图5-76 定时循环的简单使用
3.设置定时结构的优先级
定时结构的优先级指定了定时结构相对于程序框图上其他对象开始执行的时间。设置定时结构的优先级,可使应用程序中存在多个在同一 VI 中互相预占执行顺序的任务。定时结构的优先级越高,它相对于程序框图中其他定时结构的优先级便越高。优先级的输入值必须为1~255之间的正整数。
程序框图中的每个定时结构会创建和运行含有单一线程的自有执行系统,因此不会出现并行的任务。定时循环的执行优先级介于实时和高之间。这意味着在一个程序框图的数据流中,定时循环总是在优先级不是实时的VI前执行。
所以,如同前面所介绍, 若程序框图中同时存在优先级设为实时的 VI 和定时顺序,将导致无法预计的定时行为出现。
用户可为每个定时顺序或定时循环的帧指定优先级。运行包含定时结构的 VI 时,LabVIEW将检查结构框图中所有可执行帧的优先级,并从优先级实时的帧开始执行。
使用定时循环时,可将一个值连接至循环最后一帧的右侧数据节点的“优先级”输入端,以动态设置定时循环后续各次循环的优先级。对于定时结构,可将一个值连接至当前帧的右侧数据节点,以动态设置下一帧的优先级。在默认状态下,帧的右侧数据节点不显示所有可用的输出端。如果需要显示所有可用的输出端,可以调整右侧数据节点的大小或右键单击右侧数据节点并从快捷菜单中选择显示隐藏的接线端。
如图5-77所示,程序框图包含了一个定时循环及定时顺序。定时顺序第一帧的优先级100)高于定时循环的优先级(100),因此定时顺序的第一帧先执行。定时顺序第一帧执行完毕后,LabVIEW将比较其他可执行的结构或帧的优先级。定时循环的优先级(100)高于定时顺序第二帧(50)的优先级。LabVIEW将执行一次定时循环,再比较其他可执行的结构或帧的优先级。定时循环的优先级(100)高于定时顺序第二帧的优先级(50)。在本例中,定时循环将在定时顺序第二帧执行前完全执行完毕。
图5-77 定时循环的优先级设置
4.选择定时结构的定时源
定时源控制着定时结构的执行。有内部或外部两种定时源可供选择。内部定时源可在定时结构输入节点的配置对话框中选择。外部定时源可通过创建定时源 VI 及 DAQmx中的数据采集VI来创建。
内部定时源用于控制定时结构的内部定时,包括操作系统自带的 1 kHz 时钟及实时RT)终端的 1 MHz 时钟。通过配置定时循环、配置定时顺序或配置多帧定时循环对话框的循环定时源或顺序定时源,可选中一个内部定时源。
1 kHz时钟:在默认状态下,定时结构以操作系统的1 kHz时钟为定时源。如果使用1 kHz时钟,定时结构每毫秒执行一次循环。所有可运行定时结构的LabVIEW平台都支持1 kHz定时源。
1 MHz时钟:终端可以使用终端处理器的 1 MHz 时钟来控制定时结构。如果使用1 MHz时钟,定时结构每微秒执行一次循环。如终端没有系统所支持的处理器,便不能选择使用1 MHz时钟。 (www.chuimin.cn)
1 kHz时钟<结构开始时重置>:与 1 kHz 时钟相似的定时源,每次定时结构循环后重置为0。
1 MHz时钟<结构开始时重置>:与 1 MHz 时钟相似的定时源,每次定时结构循环后重置为0。
外部定时源用于创建控制定时结构的外部定时。使用创建定时源VI通过编程选中一个外部定时源。另有几种类型DAQmx定时源可用于控制定时结构,如频率、数字边缘计数器、数字改动检测和任务源生成的信号等。通过DAQmx的数据采集VI可创建用于控制定时结构的DAQmx定时源。可使用次要定时源控制定时结构中各帧的执行。例如,以1 kHz时钟控制定时循环,以1 MHz时钟控制每次循环中各个帧的定时。
5.设置执行期限
执行期限是指执行一个子程序框图或一帧所需要的时间。执行期限与帧的起始时间相对。通过执行期限可设置子程序框图的时限。如子程序框图未能在执行期限前完成,下一帧的左侧数据节点将在“延迟完成?”输出端返回真值并继续执行。指定一个执行期限,其单位与帧定时源的单位一致。
在如图5-78中,定时顺序中首帧的执行期限已配置为50。执行期限指定子程序框图须在1 kHz时钟走满50下前结束执行,即在50 ms前完成。而子程序框图耗时100 ms完成代码执行。当帧无法在指定的最后期限前结束执行代码时,第二帧的“延迟完成?”输出端将返回真值。
图5-78 设置执行期限
6.设置超时
“超时”是指子程序框图开始执行前可等待的最长时间,以ms为单位。超时与循环起始时间,或上一帧的结束时间相对。如果子程序框图未能在指定的超时前开始执行,定时循环将在该帧的左侧数据节点的“唤醒原因”输出端中返回超时。
如图5-79所示,定时顺序的第一帧耗时50 ms执行,第二帧配置为定时顺序开始51 ms后再执行。第二帧的超时设为10 ms,这意味着,该帧将在第一帧执行完毕后等待10 ms再开始执行。如第二帧未能在10 ms前开始执行,定时结构将继续执行余下的非定时循环,而第二帧则在左侧数据节点的“唤醒原因”输出端中返回超时。
图5-79 设置超时
余下各帧的定时信息与发生超时的帧的定时信息相同。如果定时循环必须再完成一次循环,则循环会停止于发生超时的帧,等待最初的超时事件。
定时结构第一帧的超时默认值为-1,即无限等待子程序框图或帧的开始。其他帧的超时默认值为0,即保持上一帧的超时值不变。
7.设置偏移
偏移是相对于定时结构开始时间的时间长度,这种结构等待第一个子程序框图或帧执行的开始。偏移的单位与结构定时源的单位一致。
还可以在不同定时结构中使用与定时源相同的偏移,对齐不同定时结构的相位,如图5-80所示,定时循环都使用相同的1 kHz定时源,且偏移(t0)值为500,这意味着循环将在定时源触发循环开始后等待500 ms。
图5-80 设置偏移
在定时循环的最后一帧中,可使用右侧数据节点动态改变下一次循环的偏移。然而,在动态改变下一次循环的偏移时,必须将值连接至右侧数据节点的模式输入端以指定一个模式。
如果通过右侧数据节点改变偏移,则必须选择一个模式值。
对齐两个定时结构无法保证二者的执行开始时间相同。使用同步定时结构起始时间,可以令定时结构的执行起始时间同步。
有关LabVIEW 2015虚拟仪器程序设计的文章
若程序框图中同时存在优先级设为实时的VI和定时顺序,将导致无法预计的定时行为。名称是对定时循环的一个标志,一般被作为停止定时循环的输入参数,或者用来标识具有相同的启动时间的定时循环组。定时顺序结构由一个或多个任务子程序框图或帧组成,是根据外部或内部信号时间源定时后顺序执行的结构。定时顺序结构适于开发精确定时、执行反馈、定时特征等动态改变或有多层执行优先级的VI。图5-47 多帧定时循环图5-48 定时顺序结构......
2023-11-26
若程序框图中同时存在优先级设为实时的 VI 和定时顺序,将导致无法预计的定时行为出现。名称是对定时循环的一个标志,一般被作为停止定时循环的输入参数,或者用来标识具有相同的启动时间的定时循环组。定时顺序结构由一个或多个任务子程序框图或帧组成,是根据外部或内部信号时间源定时后顺序执行的结构。定时顺序结构适于开发精确定时、执行反馈、定时特征等动态改变或有多层执行优先级的VI。图5-73 多帧定时循环图5-74 定时顺序结构......
2023-11-07
这两个定时循环均在6次循环后停止执行。所以,如同前面所说,若程序框图中同时存在优先级设为实时的VI和定时顺序,将导致无法预计的定时行为。定时循环的优先级高于定时顺序第二帧的优先级。在本例中,定时循环将在定时顺序第二帧执行前完全执行完毕。可使用次要定时源控制定时结构中各帧的执行。在如图5-52中,定时顺序中首帧的执行期限已配置为50。......
2023-11-26
同步组将在程序执行完毕前始终保持活动状态。如果需要向一个同步组添加一个已属于另一同步组的定时结构,LabVIEW将把该定时结构从前一个组中移除,添加到新组。中止定时结构的执行,使用定时结构停止 VI 可通过程序中止定时结构的执行。将字符串常量或控件中的结构名称连接至定时结构停止 VI 的名称输入端,指定需要中止的定时结构的名称。例如,以下程序框图中,低定时循环含有定时结构停止 VI。......
2023-11-07
循环结构是算法中最主要和最基本的一种重复结构。n=4时的阶乘问题算法的执行过程上面已给出,这样的执行过程可以归纳如下:赋循环过程的初始数值pro=1和m=1;测试循环过程的条件m<=n是否成立;如果循环条件成立,则执行循环体中的语句pro=pro*m和m=m+1后继续循环过程;否则结束循环过程;结束。循环结构算法的流程图如图6-4所示。......
2023-11-18
如图7-32所示为一栋二层厂房吊装,用两台履带式起重机在跨内开行,采用综合法吊装梁板式结构的顺序。图7-32 履带式起重机跨内综合吊装法1—柱预制、堆放场地 2—粱、板堆放场地 1、2、3…其不分段进行分层吊装,如图7-33所示为塔式起重机在跨外开行,采取分层分段流水吊装四层框架顺序,划分为四个吊装段进行。......
2023-08-22
并行序列的结束称为合并,在表示同步的水平双线之下,只允许有一个转换符号。图6-12 顺序功能图的三种结构a)单序列 b)选择序列 c)并列序列......
2023-06-15
图5-29 平铺式顺序结构转换为层叠式顺序结构图5-30 改变各框架的顺序由于每个帧都是可见的,所以平铺式的顺序结构不能添加局部变量,不需要借助局部变量这种机制在帧之间传输数据。图5-33 层叠式顺序结构在层叠式顺序结构中需要用到局部变量,用以在不同帧之间实现数据的传递。图5-38 计算时间的程序框图在使用LabVIEW编写程序时,应充分利用LabVIEW固有的并行机制,避免使用太多顺序结构。顺序结构虽然可以保证执行顺序但同时也阻止了并行操作。......
2023-11-26
相关推荐