GrafcetMaker
打开编辑器

编写转换条件

转换条件、动作条件和事件都是逻辑表达式。您用普通 ASCII 字符输入它们;图表以教科书记法显示(NOT 显示为上划线,AND 显示为 ·)。关闭 视图 › 教科书记法 可准确查看您输入的内容。

运算符

含义输入也可接受显示为
ANDa * ba AND b、a && b、a · ba · b
ORa + ba OR b、a || ba + b
NOT/aNOT a、!a、¬a带上划线的 a
上升沿↑aRE a(输入 ^a 得到 ↑a)↑a
下降沿↓aFE a↓a
恒为真 / 恒为假1 / 0TRUE / FALSE1 / 0
括号(a + b) * c(a + b) · c

NOT 优先级最高,其次是 AND,然后是 OR:a + b * /c 表示 a + (b * (/c))。如有疑问,请使用括号。

上升沿和下降沿

边沿仅在其操作数发生变化的瞬间为真:↑a(上升沿,P 触发)在 a 从假变为真时为真,↓a(下降沿,N 触发)在它从真变为假时为真。无论按钮按住多久,都可以用它对一次按下只作出一次响应。

灯从按下按钮到松开按钮期间亮起 ↑button ↓button 0 1 Lamp
灯从按下按钮到松开按钮期间亮起

输入边沿的三种方式:

  • 在名称前输入 ^:^start 会在输入时变为 ↑start。
  • 将文本光标放在某个名称上,按 Alt+↑ 得到上升沿,按 Alt+↓ 得到下降沿。再按一次可移除边沿,按另一个则可互换。
  • 编辑转换条件时,单击字段上方出现的符号栏中的 ↑ 或 ↓。

也可以使用 RE a 和 FE a。边沿同样适用于步变量:↑X3 在步 3 变为激活时为真。

步变量

步 3 激活期间 X3 为真。在包含多个 grafcet 的项目中,X3 指同一 grafcet 中的步 3,或者项目中唯一的步 3。可用它来同步多个 grafcet,例如等待另一个 grafcet 到达某个步。

定时器

5s/X2 在 X2 变为真 5 秒后为真,一旦 X2 为假就立即再次为假:典型含义是“步 2 激活 5 s 后”。

加热器运行 5 s start 5s/X1 0 1 Heater
加热器运行 5 s
  • 单位:ms、s、min、h,例如 500ms/X4、2min/start。
  • 操作数可以是任何条件:3s/(a * b)。
  • 2s/a/5s 在 a 变为真 2 s 后为真,并保持为真直到 a 变为假后 5 s。

比较

数值变量(INT、REAL、TIME)用 =、<>、<、<=、>、>= 进行比较,并可在比较中使用 +、-、*、/ 和 MOD:level >= 80、C = 3、T1 > 2s、(a + b) / 2 < limit。比较是一个条件:当您将它与其他条件组合时,请将它放在括号中,如 start * (C < 10)。没有括号时,start * C < 10 会将 start * C 与 10 进行比较。

存储型动作中的赋值

存储型动作包含一个赋值:C := C + 1、Motor := 1、Speed := 2.5、Done := FALSE。请参阅动作。

输入时的帮助

  • 建议:开始输入名称,用方向键选择一个变量或步(X…),然后按 Enter 或 Tab。高亮名称的其余部分以灰色显示在光标之后;按 Tab 或 → 接受。
  • 空字段:变量表中第一个尚未被使用的变量以灰色显示(转换条件显示输入,动作显示输出);按 Tab 接受。
  • 问题:字段下方的框会解释哪里有错、在出错位置加下划线,并提供修复:拼错名称时提供 使用 Start。新名称会被提示出来(新变量 start:BOOL 输入),并在您确认时声明。
  • 符号栏:用于 ↑ ↓ NOT AND OR、括号(会包住所选文本)以及定时器模板的按钮。

您始终可以确认一个有问题的表达式:它会在图表上以红色下划线显示,并列在问题中,直到您修复它为止。