Skip to main content

SFC 中的处理订单

. 元素的基本行为
  • 活动步骤

    活动步骤包含当前正在执行的操作。在在线模式下,CODESYS以蓝色显示活动步骤。

  • 初始步

    在顺序功能图(SFC)中调用POU后的第一个循环中,自动激活初始步进并执行步进动作。

  • CODESYS至少执行两次 IEC 操作。第一次是在步骤激活时执行,第二次是在步骤停用时执行(但要等到下一个循环)。

  • 选择分支分支

    如果分支之前的步骤处于活动状态,则CODESYS从左到右依次通过每条备选分支线的第一个转移。下一步在第一个分支线中激活,其中CODESYS找到一个转移,产生TRUE

  • 并行分支

    如果分支之前的步骤(水平双线)处于活动状态,并且分支之前的转移产生TRUE, 然后CODESYS激活每条分支线中的起始步骤。然后同时处理分支线。当分支线中的所有最后步骤均处于活动状态且双线后的转移返回时,将激活分支结束之后的步骤(水平双线之后的步骤)。TRUE

过程. 处理订单
  1. IEC 动作复位

    CODESYS重置动作的内部动作控制标志限定词 ( NRSLDPSDDS, 和SL)。这些标志控制 IEC 操作。但是,在操作中调用这些标志时,它们不会被重置。

  2. 执行退出操作

    CODESYS验证所有步是否满足执行每个步的出口动作的条件。验证顺序遵循 SFC 图中从上到下、从左到右的布局。

    CODESYS在步骤停用时执行出口动作(在前一个周期中执行了所有进入和步骤操作,并且后续步骤的条件满足之后)TRUE)。

  3. 执行输入操作

    CODESYS验证所有步是否满足执行每个步的入口动作的条件。验证顺序遵循 SFC 图中从上到下、从左到右的布局。如果满足条件,则CODESYS执行输入动作。

    CODESYS一旦前一步的转移被处理并产生,就执行入口动作TRUE,从而表明该步骤已被激活。

  4. 时间检查/执行步骤操作

  5. 执行 IEC 行动

    CODESYS按字母顺序执行 IEC 操作。这将通过两次遍历操作列表完成。在第一次遍历中,CODESYS执行上一循环中已停用的每个步骤的 IEC 操作。在第二遍中,将执行所有处于活动状态的步骤的 IEC 操作。

  6. 转移检查/启动后续步骤

    转换会被评估。如果当前循环中某个步骤处于活动状态,并且后续转移产生TRUE并且该步骤的任何定义的最短时间已经过去,则后续步骤被激活。

重要

执行操作时请注意以下事项:

由于您在多个 SFC 图表中使用该动作,因此可以在同一周期内多次执行该动作。

示例:顺序功能图包含两个 IEC 动作AB,均采用 SFC 编程,且均调用 IEC 动作C。 在这种情况下,C将被调用两次。

如果在 SFC 图表的不同层级中同时使用相同的 IEC 操作,则可能会导致处理时出现不可预测的结果。因此,CODESYS发出相应的错误消息。例如,当您使用早期版本的开发系统创建的项目时,可能会显示此错误消息。

提示

注意:可以使用隐式变量来监视步骤和操作的处理状态并控制处理。