SFC 元素:动作
象征:
一个操作包含一个或多个采用有效实现语言的语句。您可以将一个操作分配给步和转移。
您在 SFC 步骤中使用的操作必须在项目中创建为 POU。

例外:对于 IEC 操作,如果将其作为动作关联添加到步骤中,也可以指定布尔变量而不是操作对象。这些变量的值在FALSE
和TRUE
每次执行“动作”时。
重要
必须在“父”POU 范围内定义唯一的步骤名称。在 SFC 中编写的操作不得包含与该操作所分配的步骤名称相同的步骤。
有“IEC动作”和“步进动作”。
IEC 行动
IEC 操作符合 IEC 61131-3 标准。它们根据其限定符执行。
IEC 操作执行两次:第一次是在激活步骤时,第二次是在停用步骤时。如果您为一个步骤分配了多个操作,则操作列表将按从上到下的顺序执行。
每个动作框的第一列包含限定符,第二列包含动作名称。两者都可以直接编辑。

重要
当同一个全局布尔变量作为 IEC 动作关联到不同的 SFC POU 中时,可能会导致不必要的覆盖。
与步骤操作相比,您可以使用不同的限定词用于 IEC 操作。此外,每个 IEC 操作都配有一个控制标志。这指示CODESYS任何时刻都只能执行一次操作,即使该操作同时被另一个步骤调用。对于步骤操作,无法保证这一点。
您点击
将 IEC 操作分配给步骤。步操作
步操作是可用于扩展 IEC 标准的操作。
入口动作:
CODESYS在步骤激活之后和主操作执行之前执行此操作。
您可以通过以下方式从步骤中引用新操作或在 SFC 对象下创建的操作入口动作元素属性(2)您还可以通过添加入口动作命令。入口动作标有
E
在步骤框的左下角。主要行动:
CODESYS当步骤处于活动状态且所有输入操作均已处理时,执行此操作。但是,与 IEC 操作(见上文)不同,这些步骤操作不会在步骤停用时再次执行。此外,您不能在此处使用限定符。
您可以通过主要行动元素属性 (1)。您可以通过点击步骤元素来创建和添加新操作。主要操作在步骤框右上角以实心三角形标记。
出口动作:
CODESYS在步骤停用时执行一次此操作。但请注意,出口动作不会在同一周期内执行,而是在下一个周期开始时执行。
您可以通过以下方式从步骤中引用新操作或在 SFC 对象下创建的操作出口动作元素属性 (3)。您还可以通过插入退出动作命令。出口动作以
X
在步骤框的右下角。

IEC 操作与步进操作之间的区别
步进操作与带有限定符 N 的 IEC 操作之间的主要区别在于,IEC 操作始终执行两次:步进激活时和步进停用时。请参见以下示例:

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