SFC 标志
SFC 标志是隐式生成的具有预定义名称的变量。您可以使用标志来影响 SFC 图表的处理。例如,您可以使用这些标志来显示超时或重置步骤链。此外,您还可以激活点动模式来激活转换。您必须声明并激活这些变量才能访问它们。
SFC 标志
姓名 | 数据类型 | 描述 |
|---|---|---|
|
|
|
|
| 行为类似于 然而,CODESYS在初始步骤初始化后继续处理。例如,在初始步骤中,您可以立即重置 |
|
|
|
|
| 专门用于激活( 如果声明并激活此变量(SFC 设置),则必须将其设置为 要求声明 |
|
| 存储导致超时的步骤的名称,该步骤由 该名称将一直保留,直到通过以下方式重置已注册的步骤错误 要求声明 |
|
| 存储发生超时并由其注册的块的名称 要求声明 |
|
| 只要这个布尔变量 要求声明 |
|
| 只要这个变量 |
|
|
|
|
| 显示活动步骤的名称,无论时间监控如何 在并行分支中,始终存储最右侧分支线的步骤名称。 |
|
| 控制 SFC 块的“点动模式” 如果您使用以下方式启用此标志 |
| 包含对总值有贡献的所有变量的字符串
| |
| 表格中包含对总值有贡献的所有变量
|
隐式生成 SFC 标志
CODESYS激活相应选项时,会自动声明 SFC 标志。您可以在SFC 设置每个 POU 的属性对话框的选项卡,或者在证监会项目中每个 SFC POU 的项目设置对话框。
提示
仅当您未选择使用默认值选项。选择此选项时,将应用在项目设置中定义的设置。
提示
在 SFC 设置对话框中声明的 SFC 标志仅在 SFC 块的在线视图中可见。
明确生成 SFC 标志
手动声明,这是必要的CoDeSys V2.3,现在只需要启用来自另一个块的写访问。在这种情况下,您应该注意,当您在全局变量列表中声明该标志时,必须停用其宣布在 SFC 设置对话框中设置。如果不这样做,则会隐式声明本地 SFC 标志,CODESYS代替全局变量。
SFCError 的应用示例
您已创建一个名为sfc1,其中包含s1步骤。您已在步骤属性中定义了超时。(请参阅“在线查看sfc1 SFC POU”。)
如果出于任何原因s1步骤保持活动状态的时间比其时间属性允许的时间(超时)长,那么CODESYS设置SFCError标志以允许应用程序访问。
要允许访问,必须在 SFC 设置中声明并激活 SFC 标志。如果仅声明了 SFC 标志,则该标志仅显示在sfc1在声明部分,但是没有任何作用。

现在可以在 POU 内引用 SFC 标志,例如在动作 (2) 中或在块外部 (1)。

SFC 块的在线视图sfc1

SFCError是TRUE一旦发生超时sfc2。
请注意,您可以使用SFCErrorAnalyzation和SFCErrorAnalyzationTable标志(Analyzation库)来确定对值有贡献的表达式的组成部分TRUE的SFCError。
访问旗帜
访问语法
您直接在 POU 内分配标志:<variable name>:=<SFC flag>
checkerror:=SFCerror;
来自另一个 POU,其 POU 名称为:<variable name>:=<POU name>.<SFC flag>
checkerror:=SFC_prog.SFCerror;
如果需要从另一个块进行写访问,那么您还必须在 SFC 块中或在 GVL 中全局地将 SFC 标志明确声明为 VAR_INPUT 变量。
本地声明
PROGRAM SFC_prog VAR_INPUT SFCinit:BOOL; END_VAR
全局变量列表中的全局声明
VAR_GLOBAL SFCinit:BOOL; END_VAR
PROGRAM PLC_PRG VAR setinit: BOOL; END_VAR SFC_prog.SFCinit:=setinit; //Write access to SFCinit in SFC_prog