可通过从 SFC 菜单执行命令来插入可用于 SFC 编辑器窗口中编程的图形元素。
有关在编辑器中操作的信息,请参阅在 SFC 编辑器中操作一章中的说明。
有以下元素可用,并且在本章中进行了描述:
o步
o转移
o操作
o跳转
o宏
要插入单个步或单个转移,可从工具箱执行命令步或转移。也可通过工具栏中的命令插入前步转移 () 或插入后步转移 (
) 组合插入步和转移。
步由主要包含自动生成的步名称的运算块表示。它通过线与前面及后续的转移连接。SFC 中第一步(初始步)的运算块框体为双线形式。
转移由小型矩形表示。在插入后,它将使用默认名称 Trans<n>,其中 n 为运行编号。
步及后续转移的示例:
初始步及后续转移的示例:
您可内联编辑步和转移名称。
在父 POU 的范围内,步名称必须唯一。在使用 SFC 中编程的操作时尤其要考虑到这点。否则在构建流程中将检测到错误。
您可通过执行命令初始步或激活相应的步属性来将每个步转变为初始步。在调用 IL-POU 时,将首先执行初始步。
每个步通过步属性定义。
在您插入步之后,在步处于活动状态(已处理)时关联要执行的操作;有关操作的更多信息,请参阅下文。
转移必须提供条件,在该条件值为 TRUE 时后续步将立即变为活动状态。因此,转移条件必须有值 TRUE 或 FALSE。
可用以下两种方式定义转移条件:
定义类型 |
条件类型 |
描述 |
---|---|---|
直接 |
内联 |
用以下元素之一替换默认转移名称: o布尔变量 o布尔地址 o布尔常量 o具有布尔值结果的指令(示例:(i<100) AND b)。 您不能在此指定程序、功能块或分配。 |
使用单独转移或属性对象 |
多次使用 |
用项目中可用的转移 ( 类似内联转移的对象可包含以下元素: o布尔变量 o地址 o常量 o指令 o具有任意代码的多个声明 |
注意: 如果转移生成多个声明,可将所需的表达式分配至转移变量。
注意: 由转移或属性对象组成的转移由矩形右上角的小三角形指示。
转移对象(多次使用转移):
转移示例:
1 直接输入的转移条件
2 在 ST 中编程的转移 condition_xy
将用三角形来指示多次使用条件(转移或属性):
与上个 EcoStruxure Machine Expert 版本相比,处理转移调用的方式与方法调用类似。将根据以下语法将其输入。
<转移名称>:=<转移条件>;
示例:trans1:= (a=100);
或仅为
<转换条件>;
示例:a=100;
另请参阅图转移示例中的示例 (condition_xy)。
操作可包含一系列以一种有效编程语言编写的指令。将把操作分配至步,并且在内联模式下,将根据已定义的处理顺序来处理它。
将在 SFC 步中使用的每个操作必须可用作 SFC POU 或项目 () 中的有效 POU。
在父 POU 的范围内,步名称必须唯一。如果已将操作分配至步,则该操作不能包含和该步的名称一样的步。否则在构建流程中将检测到错误。
在 ST 中写入的操作的示例
在下文中说明了遵从 IEC 的步和 IEC 扩展步操作。
这是依照 IEC61131-3 标准的操作,当步处于活动状态时,将根据其限定符处理该操作,并在其停用时,进行第二次处理。如果向步分配多个操作,则将从上到下执行操作列表。
o与普通步操作相比,可将不同的限定符用于 IEC 步操作。
o和普通步操作相比的另外一个差异在于:为每个 IEC 步操作提供了控制标志。由此,即使另外一个步也调用了操作,也只能将操作执行一次。这对普通步操作不适用。
oIEC 步操作由通过连接线与步右侧连接的两部分运算块表示。在左边部分,显示操作限定符,在右边部分,显示操作名称。二者均可内联编辑。
oIEC 步操作通过插入前关联动作命令与步关联。您可将一个或多个操作与步关联。新操作的位置取决于当前光标位置和命令。操作必须在项目中可用并用唯一的操作名称插入(例如 plc_prg.a1)。
与步关联的遵从 IEC 的步操作列表:
第一列中的每个操作运算块显示限定符,第二列中的操作运算块显示操作名称。
这些是扩展 IEC 标准的操作。它们必须可作为 SFC 对象下面的对象使用。选择唯一的操作名称。这些名称在步属性中定义。
表格列出了 IEC 扩展步操作:
操作类型 |
处理 |
关联 |
示意图 |
---|---|---|---|
步入口操作(已激活步) |
一旦步处于活动状态就会立即处理该类型步操作,并可在步活动操作之前处理。 |
该操作通过步属性的步入口字段中的输入与步关联。 |
它由相应步运算块左下角的 E 表示。 |
步活动操作(步操作) |
该类步操作将在步变为活动状态后处理,并可在处理完该步可行的步入口操作后处理。但是,与 IEC 步操作相比(请参阅上文),在将其停用时不会再次执行它,并且它不会被分配限定符。 |
该操作通过步属性的步活动字段中的输入与步关联。 |
它由相应步运算块右上角中的小三角形表示。 |
步出口操作(已停用步) |
一旦步变为停用状态,将会执行出口操作。尽管如此,该操作的执行不会同时完成,而是在后续循环的开头执行。 |
该操作通过步属性的步出口字段中的输入与步关联。 |
它由相应步运算块右下角的 X 表示。 |
IEC 扩展步操作
步操作以及带有限定符 N 的 IEC 操作之间的主要差异在于 IEC 操作至少会执行两次:第一次是步处于活动状态时,第二次是步处于停用状态时。请参阅以下示例。
操作 Action_AS1 作为步操作(左)与步 AS1 关联,或作为带限定符 N的 IEC 操作(右)与其关联。由于在两种情况下都使用了 2 个转移,假定变量 iCounter 在 Action_AS1 中增加,在再次抵达初始步之前,每种情况都要经过 2 个控制器循环。在重新激活 Init 步之后,左侧示例中的 iCounter 将具有值 1。但是在右侧示例中,其将具有值 2,这是因为 IEC 操作由于 AS1 的停用而执行了两次。
有关更多信息,请参阅可用限定符列表。
相比 IEC 操作,步操作能够以仅通过相应步调用的方式来嵌入。如果复制此步,会自动创建新的操作对象,同时也会复制实现代码。为作为当在步中插入第一个操作时所显示的对话框中的 Copy reference 或 Copy implementation 的步操作选择复制模式。您可以通过激活元素属性对话框中的 Duplicate on copy 选项,来选择复制模式。还可以将 Default insertion method 配置为工具 > 选项 > SFC 编辑器对话框中的常规选项。
顺序功能图 (SFC) 可产生分支;即处理线可以分为 2 条或更多条线(分支)。将以并行的方式处理并行分支(同时处理)。在选择分支的情况下,根据前面的转移条件,将仅处理一个分支。图中每个分支的前面都有水平双(并行)线或简单(选择)线,并且也由该线或跳转终止。
并行分支必须以步开始和结束。并行分支可包含选择分支或其他并行分支。
分支区域前后的水平线为双线。
在线模式下处理:如果前面的转移(左侧所示示例中的 t2)为 TRUE,则所有并行分支的第一步将变为活动状态(Step11 和 Step21)。在识别后续的转移 (t3) 之前,将并行处理具体的分支。
要插入并行分支,可选择步并执行命令插入右分支。
通过执行命令并行或选择,可在并行和选择分支之间相互转变。
将自动在分支前面的水平线添加分支标签,该水平线名为 Branch<n>,其中 n 为以 0 开始的运行编号。您可在定义跳转目标时指定该标签。
分支区域前后的水平线为简单线。
选择分支必须以转移开始和结束。选择分支可包含并行分支和其他选择分支。
如果选择开始线前面的步为活动状态,则将从左至右计算每个选择分支的第一个转移。将打开转移条件的值为 TRUE 的左侧第一个转移,并将激活后续步。
要插入选择分支,可选择转移并执行命令插入右分支。
通过执行命令并行或选择,可在并行和选择分支之间相互转变。
跳转由垂直连接线加水平箭头以及跳转目标的名称表示。它定义在前面的转移为 TRUE 时要处理的下个步。您可使用跳转来避免处理线交叉或上行。
除了表末尾的默认跳转,只能在分支的末尾使用跳转。要插入跳转,可选择分支的最后一个转移并执行命令插入跳转。
跳转的目标由可以编辑的关联文本字符串指定。其可为步名称或并行分支的标签。
主要 SFC 编辑器视图
Macro1 的宏编辑器视图
宏由包含宏名称的粗框体运算块表示。它包含 SFC 图的一部分,从而让该部分直接显示在主编辑器视图中。使用宏不会影响处理流程,它只是隐藏程序某些部分的一种方式,例如为了简化显示而进行隐藏。要插入宏运算块,可执行命令添加宏。可编辑宏的名称。
要打开宏编辑器,可双击宏运算块或执行命令进入宏。您可如同在主编辑器视图中那样在此进行编辑,并输入所需的 SFC 图的节。如需退出,可执行命令退出宏。
宏编辑器的标题行显示当前 SFC 示例中宏的路径: