隐式变量
每个 SFC 对象都提供隐式变量,用于在运行时监控步和 IEC 动作的状态。这些隐式变量会为每个步和每个 IEC 动作自动声明。
隐式变量是类型的结构实例SFCStepType
对于步骤和类型SFCActionType
用于操作。变量的名称与其元素的名称相同,例如,变量名称为“step1”,步骤名称为“step1”。结构成员描述步骤或操作的状态,或活动步骤中当前已用时间。
步和操作状态
重要
您可以使用上述变量强制步骤的特定状态值以激活该步骤。但请注意,这可能会导致 SFC 状态不稳定。
隐式变量声明的语法:
<step name>:SFCStepType;
_<action name>:SFCActionType;
步 | |
| 显示当前周期的激活状态 如果 |
| 显示下一个周期的激活状态 如果 |
| 旗帜 有关详细信息,请参阅:For more information, see: SFC 标志 |
| 仅供内部使用 |
| 当激活“MetaStep”功能时,获取有关链接列表中的 ISFC 元素的信息的入口点(见下文)。 |
IEC行动 | |
|
|
|
|
SFC图中元素的链接列表,隐式变量_MetaStep
重要
“MetaStep”功能会生成大量额外的隐式代码,用于链接元素。请仅在真正需要时启用此功能。
隐式变量_MetaStep
标识属于 SFC 图表初始步 (初始步) 的元素。启用“MetaStep”功能后,将创建额外的隐式变量,这些变量代表 SFC 图表中元素的链接列表。从初始步开始,所有转换、步和跳转都通过对其他元素的引用进行链接。ISFCElement
对象(来自IecSfc.library
,>= V4.4.0.0)。ISFCElement
根据接口,链接中总是有一个前任、后继、一个名称和元素数量。根据ISFCElement
对象,可以实现具有附加属性的更具体的子接口。
变量<POU name>._MetaStep
用作入口点。IQueryInterface
函数可用于确定 ISFC 元素链表中的前驱元素和后继元素的信息。
限制:在当前版本的功能中,SFC 程序中的转换名称必须是唯一的。否则,会发出警告,并且不会生成链接列表中的附加数据。
要启用 MetaStep 功能,您需要执行以下步骤:
在项目信息对话,在特性选项卡,设置
UseMetaStepsEnabled
(BOOL)属性True
。在特性对象的对话, SFC 设置选项卡,启用
SFCMetaSteps
每个需要该功能的 SFC 对象的变量。
访问隐式变量
访问语法
在 POU 中,直接分配隐式变量:
<variable name>:=<step name>.<implicit variable>
或者<variable name>:=_<action name>.<implicit variable>
status:=step1._x;
来自另一个名为:
<variable name>:=<POU name>.<step name>.<implicit variable>
<variable name>:=<POU name>._<action name><implicit variable>
status:=SFC_prog.step1._x;
符号生成
在步骤或操作的元素属性中,您可以定义是否CODESYS应该为步骤或操作标志添加符号定义。在特性视图,您需要在象征柱子。