依据指定的循环周期顺序执行一个或多个子程序框图或帧。在以下情况中可以使用定时循环结构:例如,开发支持多种定时功能的VI、精确定时、循环执行时返回值、动态改变定时功能或者多种执行优先级。右键单击结构边框可添加、删除、插入或合并帧。
注:如需在FPGAVI中使用定时循环,必须使用单周期定时循环。单周期定时循环在单个FPGA的时钟周期中仅执行单个子程序框图。单周期定时循环不支持帧。 [/table]
计数接线端(
i)可提供当前的循环总数,首次循环的该值为零。如循环计数超过2,147,483,647(也就是231-1),在后续循环中,计数接线端的值保持为2,147,483,647。如需保存大于2,147,483,647的循环次数,可使用表示更大范围整数的移位寄存器。
定时循环的每一帧都包含(1)输入节点,(4)输出节点,(2)左侧数据节点,(3)右侧数据节点。如下图所示。默认状态下,定时循环不显示所有可用的输入端和输出端。如需显示所有可用接线端,应调整节点大小,或右键单击节点并通过快捷菜单显示节点接线端。右键单击定时循环的边框,在快捷菜单中选择
显示左侧数据节点或
显示右侧数据节点,可显示各节点。
双击输入节点或右键单击循环结构,选择
配置定时循环以打开配置定时顺序对话框对定时循环进行配置。在
配置定时循环对话框中输入的值显示在输入节点旁的输入接线端中。
下表为定时循环的接线端。
(1)输入节点
[table] 期限指定定时循环必须完成一次循环的时间。如未指定期限,则期限等于周期。期限的值相对于循环的开始时间,单位由定时源指定。 错误在结构中传递错误。错误接收到错误状态时,定时循环不执行。 众数指定定时循环处理执行延迟的方式。共有五种模式:无改变;依据初始状态处理错过的周期;忽略初始状态,处理错过的周期;放弃错过的周期,维持初始状态;忽略初始状态,放弃错过的周期。 结构名称指定定时循环的名称。 偏移量指定定时循环开始执行前的等待时间。偏移量的值相对于定时循环的开始时间,单位由定时源指定。 周期依据定时源的周期,单位与源名称指定的定时源一致。 优先级指定定时循环的执行优先级。定时结构的优先级用于指定定时结构相对于程序框图上其它对象的执行开始时间。优先级的输入值必须为1至65535之间的正整数。 处理器指定用于执行任务的处理器。默认值为-2,即labview自动分配处理器。如需手动分配处理器,可输入介于0和255之间的任意值,0代表第一个处理器。如输入的数量超过可用处理器的数量,可导致运行时错误且定时结构停止执行。 源名称指定用于控制结构的定时源的名称。定时源必须通过创建定时源VI在程序框图上创建,或在配置定时循环对话框中选择。 超时指定定时循环开始执行前的最长等待时间。默认值-1表示未给下一帧指定超时时间。超时的值相对于定时循环的开始时间或上一次循环的结束时间,单位由帧定时源指定。
(2)左侧数据节点
实际结束[f-1](单帧定时循环除外) |
返回上一帧(f-1)的实际结束时间。实际结束的值相对于定时循环的开始时间,单位由定时源指定。 |
实际结束[i-1](仅限第一帧) |
返回上一次循环(i-1)的实际结束时间。实际结束的值相对于定时循环的开始时间,单位由定时源指定。 |
实际开始[f-1](单帧定时循环除外) |
返回当前帧(f)的实际开始时间。实际开始的值相对于定时循环的开始时间,单位由帧定时源指定。 |
实际开始(仅限第一帧) |
返回当前循环(i)的实际开始时间。实际开始的值相对于定时循环的开始时间,单位由定时源指定。 |
期限 |
返回当前帧的期限。 |
错误 |
在结构中传递错误。 |
预期结束[f-1](单帧定时循环除外) |
返回上一帧(f-1)的预期结束时间。预期结束的值相对于定时循环的开始时间,单位由定时源指定。预期结束(f-1)与下个循环的开始时间相同。 |
预期结束[i-1](仅限第一帧) |
返回上一次循环(i-1)的预期结束时间。预期结束的值相对于定时循环的开始时间,单位由定时源指定。 |
预期开始[f] |
返回当前帧(f)的预期开始时间。预期开始的值相对于定时循环的开始时间,单位由帧定时源指定。 |
预期开始(仅限第一帧) |
返回当前循环(i)的预期开始时间。预期开始的值相对于定时循环的开始时间,单位由定时源指定。 |
延迟完成?[f-1] |
如定时循环中的上一帧未在指定期限之前完成,该接线端返回TRUE。 |
延迟完成?[i-1](仅限第一帧) |
如定时循环中的上一次循环未在指定期限之前完成,该接线端返回TRUE。 |
帧持续时间(单帧定时循环除外) |
返回上一帧的持续时间。帧持续时间是相对于帧开始时间的时间值,单位与帧定时源相同。 |
全局结束时间 |
返回上一次循环结束时的时间标识,以纳秒为单位。 |
全局开始时间 |
返回当前帧开始时的时间标识,以纳秒为单位。 |
循环持续时间(仅限第一帧) |
返回执行上一次循环所需时间的时间标识。循环持续时间的值相对于循环的开始时间,单位由定时源指定。 |
模式(仅限第一帧) |
返回当前循环的模式。 |
偏移量(仅限第一帧) |
返回当前循环开始的偏移量。 |
周期(仅限第一帧) |
返回当前帧的周期。 |
优先级 |
返回当前帧的优先级。 |
处理器 |
返回用于执行的处理器(只适用于单个处理器)。否则,返回-2,即LabVIEW自动分配处理器。 |
开始(第一帧除外) |
返回当前帧的开始。 |
超时 |
返回当前帧的超时。 |
唤醒原因 |
返回枚举类型值,其中包含当前循环开始执行的原因。可能值:0表示正常,1表示中止,2表示非同步唤醒,3表示定时源错误,4表示定时循环错误,5表示超时。 |
(3)右侧数据节点
|
期限 |
指定定时循环必须完成下一帧的时间。期限的值相对于下一帧的开始时间,单位由定时源指定。默认值为-1,表示无改变。 |
|
错误 |
通过定时循环的子程序框图中传递错误或警告信息。如错误接收到错误状态,定时循环可执行下一个未定时帧。如错误在最后一帧接收到错误状态,结构可结束当前循环,退出定时循环,并在输出节点返回错误状态。 |
|
模式(仅限最后一帧) |
指定定时循环下一次循环的模式。共有五种模式:无改变;依据初始状态处理错过的周期;忽略初始状态,处理错过的周期;放弃错过的周期,维持初始状态;忽略初始状态,放弃错过的周期。 |
|
偏移量(仅限最后一帧) |
指定下一次循环开始执行前的等待时间。偏移量的值相对于下一次循环的开始时间,单位由定时源指定。默认值为-1,表示无改变。如设置下一次循环的偏移量,则必须设置新的模式值。 |
|
周期(仅限最后一帧) |
指定定时循环下一次循环的周期,单位由定时源指定。默认值为-1,表示无改变。 |
|
优先级 |
指定定时循环下一次循环的优先级。定时结构的优先级用于指定下一次循环相对于程序框图上其它对象的执行开始时间。优先级的输入值必须为1至65535之间的正整数。 |
|
处理器 |
指定用于执行任务的处理器。默认值为-1,即LabVIEW分配的处理器与输入节点中指定的一致。输入-2可使LabVIEW分配处理器。如需手动分配处理器,可输入介于0至255之间的任意值,0代表当前的处理器。如输入的数量超过可用处理器的数量,可导致运行时错误且定时结构停止执行。 |
|
开始(第一帧除外) |
指定下一帧开始执行前的等待时间。开始的值相对于当前帧的结束时间,单位由定时源指定。 |
|
超时 |
指定下一次循环开始执行前的最长等待时间。默认值-1表示未给下一次循环指定超时时间。超时的值相对于上一次循环的结束时间,单位由帧定时源指定。 |
(4)输入节点
实际结束[f-1](单帧定时循环除外) |
返回上一帧(f-1)的实际结束时间。实际结束的值相对于定时循环的开始时间,单位由定时源指定。 |
实际结束[i-1] |
返回上一次循环(i-1)的实际结束时间。实际结束的值相对于定时循环的开始时间,单位由定时源指定。 |
错误 |
接收并传递定时循环的错误,通过子程序框图返回错误。 |
预期结束[f-1](单帧定时循环除外) |
返回上一帧(f-1)的预期结束时间。如帧定时源在循环开始时未重置,预期的结束值是相对于定时结构的值。预期的结束值以定时源为单位。预期结束(f-1)与下个循环的开始时间相同。 |
预期结束[i-1] |
返回上一次循环(i-1)的预期结束时间。如帧定时源在循环开始时未重置,预期的结束值是相对于定时结构的值。预期的结束值以定时源为单位。 |
延迟完成?[f-1](单帧定时循环除外) |
如定时循环中的上一帧未在指定期限之前完成,该接线端返回TRUE。 |
延迟完成?[i-1] |
如定时循环中的上一次循环未在指定期限之前完成,该接线端返回TRUE。 |
帧持续时间(单帧定时循环除外) |
返回上一帧的持续时间。帧持续时间是相对于帧开始时间的时间值,单位与帧定时源相同。 |
全局结束时间 |
返回上一次循环结束时的时间标识,以纳秒为单位。 |
循环持续时间 |
返回执行上一次循环所需时间的时间标识。循环持续时间是相对于循环开始时间的时间值,单位与定时源相同。 |
处理器 |
返回用于执行的处理器(只适用于单个处理器)。否则,返回-2,即LabVIEW自动分配处理器。 |
关于使用和配置定时循环的详细信息,见配置定时循环。
右键单击定时循环,在快捷菜单中选择
替换为While循环,可使定时循环替换为While循环。右键单击定时循环,在快捷菜单中选择
替换为定时顺序,可使定时循环替换为定时顺序结构。
|