SFC 中的处理顺序

概述

在线模式下,将根据定义的顺序处理具体操作类型;请参阅下表。

术语定义

将使用以下术语:

术语

描述

活动步

一种步,其步操作正处于执行状态。

在线模式下活动步为蓝色。

初始步

在调用 SFC POU 后的第一个循环中,初始步将自动变为活动状态并且会执行相关步操作

IEC 操作

IEC 操作将至少执行两次:

  • 当它们变为活动状态时执行一次。

  • 在后续循环中,当它们停用时执行第二次。

选择分支

如果选择分支水平开始线前面的步为活动状态,则将从左至右计算每个具体分支的首个转移。将搜索左侧转移条件的值为 TRUE 的第一个转移,并执行相应的分支,从而该分支中的后续步将变为活动状态。

并行分支

如果并行分支开始线的双线为活动状态,并且前面的转移条件的值为 TRUE,则所有并行分支中的每个第一步都将变为活动状态。现在将并行处理各分支。分支末尾双线后的步将在前面所有步处于活动状态并且双线后的转移条件具有值 TRUE 时变为活动状态。

处理顺序

序列中元素的处理顺序:

步骤

描述

1. IEC 操作复位

IEC 操作的所有操作控制标志复位(但不包括在操作中调用的 IEC 操作的标志)。

2. 步出口操作(已停用步)

将以顺序图中设定的顺序检查所有步(从上到下,从左至右),确定是否满足步出口操作的执行要求。如果满足,则会执行。如果步将变为停用状态,则会执行出口操作。这可指明入口和步操作(如存在)是否已在上个循环中执行,以及后续步的转移是否为 TRUE。

3. 步入口操作(已激活步)

将以设定步时的顺序测试所有步,确定是否满足步入口操作的执行要求。如果满足要求,则会执行。如果前面步的转移条件为 TRUE 则会执行入口操作,从而激活步骤。

4. 超时检查,步活动操作

对于非 IEC 步,相应的步活动操作现在以它们在序列中的位置顺序执行(上 -> 下以及左 -> 右)。

5. IEC 操作

将以字母顺序执行序列中使用的 IEC 操作。这通过以 2 个 pass 遍历操作列表来完成。在第一个 pass 期间,会执行当前循环中所有已停用的 IEC 操作。在第二个 pass 期间,会执行当前循环中所有活动的 IEC 操作。

6. 转移检查,激活后续步

计算转移。如果当前循环中的步处于活动状态并且后续转移返回 TRUE(并且如果适用,已经过了最小活动时间),则会激活后续步。

注: 在 1 个循环中,操作可能执行多次,因为在有多个活动的步时,可从多个其他 IEC 操作调用操作。即是说,同时在不同的 SFC 级别使用同一 IEC 操作,这可能带来不良影响。

示例:SFC 可具有 2 个 IEC 操作 A 和 B,这二者均在 SFC 中实施,并且都调用 IEC 操作 C。然后在 IEC 操作 A 和 B 中,二者在同一循环中都可处于活动状态,此外在两个操作中,IEC 操作 C 都可处于活动状态。在这种情况下,C 将调用两次。

 警告
意外的设备操作
请勿从同一循环中的多个其他 IEC 操作调用 IEC 操作。
未按说明操作可能导致人身伤亡或设备损坏等严重后果。
注: 通过隐式变量来确定步和操作的状态或图的执行。