定时顺序
- 更新时间2025-07-30
- 阅读时长8分钟
定时顺序结构由一个或多个子程序框图(帧)组成,在内部或外部定时源控制下按顺序执行。与定时循环不同,定时顺序结构的每个帧只执行一次,不重复执行。定时顺序结构适于开发只执行一次的精确定时、执行反馈、定时特征等动态改变或有多层执行优先级的VI。右键单击定时顺序结构的边框可添加、删除、插入或合并帧。
定时顺序结构的每一帧都包含(1)输入节点,(4)输出节点,(2)左侧数据节点,(3)右侧数据节点。如下图所示。默认状态下,定时顺序结构节点不显示所有可用的输入端和输出端。如需显示所有可用接线端,请调整节点大小或右键单击节点,通过快捷菜单显示节点接线端。右键单击定时顺序结构的边框,在快捷菜单中选择显示左侧数据节点或显示右侧数据节点,可显示各节点。
双击输入节点,显示配置定时顺序对话框,在该对话框中对定时顺序结构进行配置。在配置定时循环对话框中输入的值可作为选项出现在输入节点中。
下表为定时顺序结构的接线端。
(1)输入节点
![]() | 期限 | 指定完成第一帧所需的时间。期限的值是相对于定时顺序结构开始时间的值,单位与帧定时源单位一致。指定值-1表示无期限。 |
![]() | 错误 | 在结构中传递错误。错误接收到错误状态时,定时顺序结构不会执行。 |
![]() | 结构名称 | 指定定时顺序结构的名称。 |
![]() | 偏移量 | 指定定时顺序结构开始执行前的等待时间。偏移量的值是相对于定时顺序结构开始时间的值,单位与定时源的单位一致。 |
![]() | 优先级 | 在所有即将执行的定时结构或帧中表示下一帧的执行优先级。值可以是1至65535之间的正整数。值越大,表示优先级越高。对于第一帧,默认优先级值为100。对于第一帧之后的帧,优先级值也可以是-1,默认值表示优先级与上一帧相同。 |
![]() | 处理器 | 指定用于执行任务的处理器。默认值为-2,即LabVIEW自动分配处理器。如需手动分配处理器,可输入介于0和255之间的任意值,0代表第一个处理器。输入的数量超过可用处理器的数量时,将导致一个运行时错误且定时结构不执行。 |
![]() | 源名称 | 指定用于控制结构的定时源的名称。定时源必须用创建定时源VI在程序框图上创建,或通过配置定时顺序对话框选择。 |
![]() | 超时 | 指定定时顺序结构开始执行前的最长等待时间。默认值-1,表示未给下一帧指定超时时间。超时值是相对于定时顺序开始时间的值,单位与帧定时源的单位一致。 |
(2)左侧数据节点
| 实际结束[f-1](第一帧除外) | 返回上一帧(f-1)的实际结束时间。实际结束值是相对于定时顺序结构开始时间的值,单位与帧定时源的单位一致。 |
| 实际开始[i](仅限第一帧) | 返回当前循环(i)的实际开始时间。实际开始值是相对于定时顺序结构开始时间的值,单位与结构定时源的单位一致。 |
| 实际开始[f] | 返回当前帧(f)的实际开始时间。实际开始值是相对于定时顺序结构开始时间的值,单位与帧定时源的单位一致。 |
| 期限 | 返回当前帧的期限。 |
| 错误 | 在结构中传递错误。 |
| 预期结束[f-1](第一帧除外) | 返回上一帧(f-1)的预期结束时间。预期结束值是相对于定时顺序结构开始时间的值,单位与帧定时源的单位一致。 |
| 预期开始[i](仅限第一帧) | 返回当前循环(i)的预期开始时间。预期开始值是相对于定时顺序结构开始时间的值,单位与结构定时源的单位一致。 |
| 预期开始[f] | 返回当前帧(f)的预期开始时间。预期开始值是相对于定时顺序结构开始时间的值,单位与帧定时源的单位一致。 |
| 延迟完成?[f-1](第一帧除外) | 如定时顺序结构未在指定期限之前完成上一帧,该接线端返回TRUE。 |
| 帧持续时间(第一帧除外) | 返回上一帧的持续时间。帧持续时间是相对于帧开始时间的时间值,单位与帧定时源相同。 |
| 全局结束时间(第一帧除外) | 返回上一帧结束时的时间标识,单位为纳秒。 |
| 全局开始时间 | 返回当前帧开始时的时间标识,单位为纳秒。 |
| 偏移量(仅限第一帧) | 返回第一帧开始的偏移量。 |
| 优先级 | 返回当前帧的优先级。 |
| 处理器 | 返回用于执行的处理器(只适用于单个处理器)。否则,返回-2,即LabVIEW自动分配处理器。 |
| 开始(第一帧除外) | 返回当前帧的开始时间。 |
| 超时 | 返回当前帧的超时。 |
| 唤醒原因 | 返回枚举类型值,其中包含当前循环开始执行的原因。可能值:0表示正常,1表示中止,2表示非同步唤醒,3表示定时源错误,4表示定时循环错误,5表示超时。 |
(3)右侧数据节点
![]() | 期限(最后一帧除外) | 指定完成下一帧所需时间。期限值是相对于下一帧开始时间的值,单位与帧定时源的单位一致。默认值为-1,表示无改变。 |
![]() | 错误 | 在结构中传递错误。错误接收到错误状态时,定时顺序结构执行下一个未定时帧。 |
![]() | 优先级(最后一帧除外) | 指定下一个帧中的执行优先级。定时顺序的优先级用于指定下一个帧相对于程序框图上其他对象的执行开始时间。优先级的输入值必须为1至65535之间的正整数。默认值为-1,即保持上一帧的优先级值不变。 |
![]() | 处理器 | 指定用于执行任务的处理器。默认值为-1,即LabVIEW分配的处理器与输入节点中指定的一致。输入-2可使LabVIEW分配处理器。如需手动分配处理器,可输入介于0至255之间的任意值,0代表当前的处理器。输入的数量超过可用处理器的数量时,将导致一个运行时错误且定时结构不执行。 |
![]() | 开始(最后一帧除外) | 起始时间用于指定下一帧开始执行的时间。指定一个相对于当前帧的起始时间值,其单位与帧定时源的单位一致。默认值为-1,表示未指定。 |
![]() | 超时(最后一帧除外) | 指定下一帧开始执行前的最长等待时间。默认值-1,表示未给下一帧指定超时时间。超时值是相对于当前帧结束时间的值,单位与帧定时源的单位一致。 |
(4)输入节点
| 实际结束[f-1] | 返回最后一帧(f-1)的实际结束时间。实际结束值是相对于定时顺序结构开始时间的值,单位与帧定时源的单位一致。 |
| 错误 | 传递定时顺序结构接收的错误,并返回来自帧的错误。 |
| 预期结束[f-1] | 返回最后一帧(f-1)的预期结束时间。如帧定时源在循环开始时未重置,预期的结束值是相对于定时结构的值。预期的结束值单位与定时源的单位一致。 |
| 延迟完成?[f-1] | 如最后一帧未在指定期限内完成,则返回TRUE。 |
| 帧持续时间 | 返回上一帧的持续时间。帧持续时间是相对于帧开始时间的时间值,单位与帧定时源相同。 |
| 全局结束时间 | 返回上一帧结束时的时间标识,单位为纳秒。 |
| 循环持续时间 | 返回执行所有帧所需时间的时间标识。循环持续时间值是相对于定时顺序结构开始时间的值,单位与定时源的单位一致。 |
| 处理器 | 返回用于执行的处理器(只适用于单个处理器)。否则,返回-2,即LabVIEW自动分配处理器。 |
关于使用和配置定时顺序结构的更多信息,见配置定时顺序结构。
右键单击定时顺序结构,在快捷菜单中选择替换为定时循环,可使定时顺序结构替换为定时循环。右键单击定时顺序结构,在快捷菜单中选择替换为平铺式顺序,可使定时顺序结构替换为平铺式顺序结构。









