每个SFC对象都为您提供隐式变量,以在运行时监视步骤和IEC动作的状态。CODESYS针对每个步骤和每个IEC动作自动声明这些隐式变量。
隐式变量是步的类型为SFCStepType的结构实例,而动作则是类型为SFCActionType的结构实例。变量具有与其元素相同的名称,例如,“ step1”步骤名称为“ step1”变量名称。结构成员描述步骤或动作的状态或激活步中当前经过的时间。
在元素属性中,可以定义CODESYS是否应将此标志的符号定义导出到符号配置。 |
隐式变量声明的语法:
<step name>:SFCStepType;
_<action name>:SFCActionType;
.以下隐式变量可用于步或IEC动作状态:
步 | |
<step name>.x | 显示下一个周期的激活状态。 当<step name>.x = TRUE时,CODESYS将在当前循环中处理该步。 |
<step name>._x | 显示下一个周期的激活状态。 当<step name>._x = TRUE<step name>.x = FALSE, CODESYS在下一个循环中处理该步。这意味着在循环开始时,将<step name>._x复制到<step name>.x。 |
<step name>.t | 标志t产生自激活该步以来的当前经过时间。这仅适用于步,而不管是否在步属性中定义了最短时间。 另请参见SFC标志SFCError。 |
<step name>._t | 仅供内部使用 |
IEC 动作 | |
_<action name>.x | 当执行动作时为TRUE。 |
_<action name>._x | 当动作激活时为TRUE。 |
您可以使用上述变量将特定的状态值强制到步(激活步)。但是,请注意,这可能导致SFC中的状态不稳定。 |
.另请参阅
访问语法:
直接在POU中分配隐式变量:<variable name>:=<step name>.<implicit variable>或<variable name>:=_<action name>.<implicit variable>
从另一个POU中,其POU名称为: <variable name>:=<POU name>.<step name>.<implicit variable> or <variable name>:=<POU name>._<action name>.<implicit variable>