GrafcetMaker
打开编辑器

GRAFCET 基础

GRAFCET(IEC 60848)将顺序系统(一台机器、一个过程、一组交通信号灯)的行为描述为一系列由转换连接的步。它是 PLC 的 SFC 语言(IEC 61131-3)背后的规范语言。

grafcet 的组成部分 initial step transition + receptivity step with an action loop back (upward arrow) start stop 0 1 Motor
grafcet 的组成部分

步

步是系统的一种稳定状况:等待、注水、钻孔。它画成一个带编号的方框。在任何时刻,一个步要么激活,要么非激活;所有激活步的集合就是 grafcet 的情况。

  • 初始步(双线方框)在系统启动时激活。一个 grafcet 至少需要一个初始步。
  • 步 3 激活期间,变量 X3 为真。您可以在转换条件和条件中使用它。

转换和转换条件

转换(短横杠)连接各个步。写在它旁边的转换条件是继续前进的条件:一个输入(start)、一个组合(start * /door)、一个边沿(↑b)、一个定时器(5s/X2)或一个比较(level >= 80)。转换条件 1 恒为真。

  • 当紧接在转换上方的所有步都激活时,转换被使能。
  • 一旦转换条件为真,已使能的转换就会实现(被越过)。

动作

步右侧的矩形是它的动作:步激活期间系统所做的事情,例如 运行泵。连续动作指定一个在步激活期间为真的输出。存储型动作在步激活或停用时、或在事件发生时更改一次某个值。请参阅动作。

五条演变规则

这些来自 IEC 60848 的规则决定 grafcet 如何演变。仿真器严格按照它们执行。

  1. 初始情况:启动时,初始步激活。
  2. 实现条件:当转换已使能且其转换条件为真时,转换实现。
  3. 实现:实现一个转换会激活紧接在它下方的所有步,并停用紧接在它上方的所有步。
  4. 同时实现:所有能够同时实现的转换同时实现。
  5. 同时激活和停用:同时被激活和停用的步保持激活。

输入发生变化后,这些规则会被反复应用,直到没有转换可以实现为止:这就是寻求稳定。在此过程中被激活又随即离开的步是不稳定步(瞬态):它们的连续动作不执行,但它们的存储型动作会执行。

选择路径:OR

当一个步后面跟着多个转换时,grafcet 会走转换条件为真的那条路径:这就是选择分支,用一条单水平线表示(选择分支,OR 分支)。各路径再次在一条单线上汇合(选择汇合,OR 汇合)。

选择分支和选择汇合 a a·b c d 0 1 Left 2 Right 3
选择分支和选择汇合

请使转换条件互斥(它们永远不会同时为真),这里是 a 和 /a * b。否则两条路径会同时被选中。当 GrafcetMaker 无法证明各选择转换条件互斥时会发出警告,并提供让某个分支优先的选项。

同时做多件事:AND

当一个转换后面跟着多个步时,它们会一起被激活:这就是并行分支,用双线表示(并行分支,AND 分支)。各分支也在一条双线上结束(并行汇合,AND 汇合):只有当每个分支的最后一个步都激活时,双线下方的转换才被使能,因此它会等待所有分支完成。

并行分支和并行汇合 start done1·done2 0 1 Drill 2 Clamp 3
并行分支和并行汇合

回路

一条向上的连线(带箭头)返回到之前的某个步:这是重复循环的常用方法。在某个步上按 L,然后单击要返回到的步。

更大的应用

  • 一个项目可以包含多个同时运行的局部 grafcet,例如一个用于循环,一个用于安全。它们通过 Xn 看到彼此的步。
  • 宏步代表绘制在单独图页上的详细序列,即它的展开。
  • 封装步包含一个完整的 grafcet,该 grafcet 仅在封装步激活时运行。
  • 强制命令将某个情况强加给另一个 grafcet,例如急停。

请参阅宏步、封装步和强制。

了解更多

  • 编写转换条件:完整的表达式语法。
  • 术语表:所有标准术语汇集一处。
  • GrafcetMaker 对每条规则的确切解释记录在源代码仓库的 docs/semantics.md 中。