⇘ SFC 编辑器窗口中编程的可视化元素可以通过 ⇘ SFC 菜单中默认可用的命令。
SFC工具箱现在还没完成。
编辑器中的工作请参见: ⇘ “SFC编辑器中工作 ”。
元素 步, 转换, 动作, 分支(选择), 分支(平行), 跳转, 宏 可用,描述如下:
步-转换
步和转换基本是组合插入的,通过命令 ⇘ “插入前步转移”及 ⇘ “插入后步转移”.
步是一个包含自动生成步名的基础框展现的。它和后面的 转换 是通过实现连接的。SFC第一个步, 初始步,它的框是双线的。
转换是通过一个小矩形展现的。 插入之后他又一个默认的名字: Trans<n>, 其中n是一个数字。
步和后面的转换的例子:
初始步和后续转换的例子:
步和转换的名字可以被编辑。
提示! POU范围内步的名字必须唯一。注意这在SFC动作编程中尤其重要。 |
注意每个步——通过命令 ⇘ “初始步” 或激活步 ⇘ 属性 - 都可以 转化成 初始步 , 这个步,在ILPOU被调用时首先执行。
每个步都是由 ⇘ 步属性定义的。
不同于CoDeSys V2.3,只有一种步,IEC认证步。 |
插入一个步之后,步激活(运行)后要执行的 动作需关联;参见以下 ⇘ 获取更多信息。
注意以下转换:
转换必须提供一个条件,当它为TRUE时下一步激活的。
所以转换条件必须有值TRUE或FALSE。它可以通过以下两种方式定义:
1直接(“内引情况”):替换默认的转换名,用一个布尔变量,布尔地址,布尔常量或有布尔结果的计算式(如 (i<100) AND b)。不能是具体的程序,功能块或分配!
2. 使用各自的 转换或属性对象 (“多重使用情况”):使用工程中可用的转换或属性对象(, ) 代替默认转换名,(这允许 多重使用 转换;参见下图中的"condition_xy" )。这个对象像一个内引转换,可以包含布尔变量,地址,常量或计算式,同样随意的多重表述代码。
提示! 如果转换产生了多重表述,用户必须分配所要的表达式给转换变量! |
转换包含转换和属性对象,是通过矩形右上角的一个小三角指示的。 |
不同于 CoDeSys V2.3,转换条件像 ⇘ 方法调用一样处理。它会按照以下输入
语法:
<transition name>:=<transition condition>;
(如 trans1:= a=100")
或直接
<transition condition>;
(如 a=100)
同样参见上图中的例子(condition_xy),“转换例子”
动作
一个动作可以包含一系列用合法编程语言写的指令 。它被分配到一个步,在线模式下它会根据定义的 ⇘ 处理顺序 处理。
SFC步中使用的动作必须在SFC 的POU 中作为合法的POU,工程 ()。
提示! POU父类范围中步名必须唯一。动作不能包含跟它被分配的步相同名字的步。 |
有以下类型的动作:
1. IEC认证步动作(“IEC动作”):
这是根据IEC61131-3标准的动作,它会根据它的 ⇘ 资格处理,当步变活跃时及第二次它无效时。分配多个动作到一个步时,动作列表 会从上到下执行。
第一列每个动作盒显示了资格,第二列显示了动作名。
2.IEC——扩展步动作:
这些是IEC标准扩展动作,(在 CoDeSys V3中,以前为 "3S-Smart Software Solutions GmbH 步动作": 动作必须作为对象在SFC对象下可用。动作名必须唯一。
- "步入口" 动作(步激活):
只要步被激活,这些步动作就会被处理,且在“步激活”动作之前。
动作通过步 ⇘ 属性的“步入口”区域的入口关联到步。它通过步左下角的“E”展示。
- "步激活" 动作 (步动作):
这种步动作会在步激活会执行,且在这一步可能的“步入口”执行完之后。 但是,不同于IEC步动作(见上),当它无效时不会被再执行,且它不可分配资格。
动作通过步 ⇘ 属性的“步激活”区域的入口关联到步。它通过步右上角的小三角展示。
- "步出口" 动作 (步无效):
当步无效时它会被执行一遍。但是,执行不会在同一个周期,却在下一步执行周期的开始。
动作通过步 ⇘ 属性的“步入口”区域的入口关联到步。它通过步右下角的“X”展示。
“步激活”,“步入口”和“步出口”动作是在步属性中定义的。
分支
顺序功能图可以分支,即处理线可以分为两到多条线 ("分支")。 ⇘ 平行分支 会平行处理(同时), ⇘ 选择分支 根据后续转换条件值执行一个。图中每个分支都会跟水平双线(平行)或单线(分支),并可过同样的线或 ⇘ 跳转终止。
平行分支
平行分支必须以步开始和结束。平行分支可以包含选择分支或平行分支。
分支区域前后的水平线是 双线的。
在线模式处理: 如果后续转换(图例的t2,左侧)为TRRE,第一步中的所有平行分支都会激活(Step11 和 Step21)。特定的分值会平行的处理,这在后续转换t3检测到之前。
平行分支是通过选中步后,命令 ⇘ “插入右分支 ”插入的。
注意平行分支和选择分支可以通过命令 ⇘ “平行分支”和 ⇘ “选择分支”相互转换。这在编程时会有用。
分支标签会自动添加到水平线后续分支,名为Branch>,其中n是变化的数字,从0开始。这个标签可以在 ⇘ 跳转是定义。
选择分支
分支前后的水平线是单线。
选择分支必须以转换开始和结束。选择分支可以包含平行分支和其它选择分支。
如果选择开始线之后的步激活,那么每个分支转换会从左到右评价。从左侧开始第一个转换的值为TRUE,它会打开,随后的步会被激活。
选择分支是转换被选中时通过命令 ⇘ “插入右分支 ” 分支实现的。
跳转
跳转是通过一条竖线和水平箭头及跳转目标名展示的。
跳转定义了后续转换为TRUE时将要执行的步。因为处理线不能交叉或往上,跳转就需要了。
除了图最后的跳转,跳转只能用在分支的最后。当最后一个转换被选中时,可以通过 ⇘ “插入前跳转” 命令插入 。
跳转的目标可以通过关联的文本字符串给定,可内引编辑。它可以是一个步名或平行分支的标签。