标志
一个操作包括一个或多个有效执行语言的语句。您可以为一个步骤指定一个操作。
在 SFC 步骤中使用的操作必须在项目中创建为 POU。

例外情况:对于 IEC 操作(作为操作关联添加到步骤中),也可以指定布尔变量而不是操作对象。每次执行操作时,这些变量的值都会在FALSE
和TRUE
之间切换。




注意

您必须在父代码块的范围内定义唯一的步骤名称。用 SFC 编写的操作不得包含名称与操作步骤相同的步骤。
对 IEC 行动和步骤行动进行了区分:
1.独立选举委员会的行动
IEC 行动符合 IEC 61131-3 标准。它们根据限定词执行。
IEC 操作会执行两次:第一次是在激活步骤时,第二次是在停用步骤时。如果将多个操作分配给一个步骤,则会从上到下处理操作列表。
每个操作框的第一列包括限定符,第二列包括操作名称。两者都可以直接编辑。





注意

当同一个全局布尔变量在不同的 SFC POU 中作为 IEC 操作关联时,可能会导致不必要的覆盖。
与步骤操作不同,IEC 操作可以使用不同的限定符。此外,每个 IEC 操作都有一个控制标志。这就要求CODESYS 在任何时刻都只能执行一次操作,即使该操作同时被另一个步骤调用。对于步骤操作,这一点无法保证。
您可以通过单击“SFC 插入操作关联” 为步骤指定 IEC 操作。
2.步骤行动
您可以使用这些操作来扩展 IEC 标准。
-
输入操作 :
CODESYS 会在步骤激活后、主操作执行前执行该操作。
您可以通过“Entry action” 元素属性 (2) 从步骤中引用新操作或在 SFC 对象下创建的操作。您还可以通过“Add Entry Action” 命令为步骤添加新操作。输入操作在步骤框左下角标有
E
。 -
主要行动 :
CODESYS 会在步骤处于活动状态且任何入口操作已处理完毕时执行该操作。不过,与 IEC 操作(见上文)不同的是,这些步骤操作在停用步骤时不会被第二次执行。此外,这里不能使用限定词。
您可以通过“主要操作” 元素属性 (1) 将现有操作添加到步骤中。点击步骤元素可创建和添加新操作。步骤框右上角有一个填充三角形,表示主要操作。
-
退出操作 :
CODESYS 会在停用步骤时执行一次该操作。但要注意的是,退出操作不是在同一周期内执行,而是在下一周期开始时执行。
您可以通过“Exit action” 元素属性 (3) 从步骤中引用一个新操作或在 SFC 对象下创建的操作。您还可以通过“Insert Exit Action” 命令在步骤中添加新操作。退出操作在步骤框右下角标有
X
。

另见
IEC 行动与步骤行动的区别
步骤操作与带限定符 N 的 IEC 操作的主要区别在于,IEC 操作总是执行两次:步骤激活时和步骤停用时。请看下面的示例:
示例

您已将Action_AS1
操作作为步骤操作(左)和带有限定符 N 的 IEC 操作(右)附加到AS1
步骤。由于在每种情况下都会激活两个转换,因此再次到达初始步骤的时间为两个 PLC 周期。只要iCounter
计数器变量初始化为 0,然后在Action_AS1
操作中递增,情况就会如此。重新激活Init
步骤后,在左边的示例中,iCounter
返回值为 1。在右侧示例中,由于AS1
已停用,IEC 操作被第二次执行,因此返回值为 2。
另一个区别是步骤操作可以伪嵌入。在这种情况下,只能在相关步骤中调用它们。如果复制此步骤,CODESYS 将自动创建新的操作对象,并复制相应的执行代码。您可以在将第一个操作插入步骤时,或稍后在“复制” 元素属性中,定义是否嵌入步骤操作。一般,这种行为也可以在 SFC 选项中预设。
此外,对于 IEC 操作,可以指定布尔变量来代替操作对象。步进操作则无法实现这一点。