顺序功能流程图(SFC-Sequential Function Chart) 顺序功能流程图是IEC61131-3三种图形化语言中的一种,是一种强大的描述控制程序的顺序行为特征的图形化语言,可对复杂的过程或操作由顶到底地进行辅助开发。SFC允许一个复杂的问题逐层地分解为步和较小的能够被详细分析的顺序。 3.2.1 顺序功能流程图的基本概念 顺序功能流程图可以由步、有向连线和过渡的集合描述。如下图反映了SFC的主要特征。 步 步用矩形框表示,描述了被控系统的每一特殊状态。MFC中的每一步的名字应当是唯一的并且应当在MFC中仅仅出现一次。一个步可以是激活的,也可以是休止的,只有当步处于激活状态时,与之相应的动作才会被执行,至于一个步是否处于激活状态,则取决于上一步及过渡。 有向连线 有向连线表示功能图的状态转化路线,每一步是通过有向连线连接的。 过渡 过渡表示从一个步到另一个步的转化,这种转化并非任意的,只有当满足一定的转换条件时,转化才能发生。转换条件可以用ST、LD或FBD来描述。转换定义可以用ST、IL、LD或FBD来描述。过渡用一条横线表示,可以对过渡进行编号。 动作(action) 每一步是用一个或多个动作(action)来描述的。动作包含了在步被执行时应当发生的一些行为的描述,动作用一个附加在步上的矩形框来表示。每一动作可以用IEC的任一语言如ST、FBD、LD或IL来编写。每一动作有一个限定(Qulifier),用来确定动作什么时候执行;标准还定义了一系列限定器(Qulifier),精确地定义了一个特定与步相关的动作什么时候执行。每一动作还有一个指示器变量,该变量仅仅是用于注释。动作的表示如下图所示: 字串4
转化规则 顺序功能流程图的任一步可能是激活的,也可能是休止的,与之相应的动作(Action)只有在步处于激活状态时,方能被执行,所以,步被激活和被休止的过程编确定了系统的行为。初始状态是指指令运行的开始即被激活的那个状态,这个步的标志为S0。每个过程都可以是有效的,也可以是无效的,只有紧接其前的各个阶段都处于激活状态时,过渡才是有效的,只有同时满足(1)过渡是有效的 (2)过渡对应的接受特性为真,与过渡相连的下一步方能处于激活状态,同时,紧接其前的各个步全部被休止。当几个过渡可以同时被超越时,他们将同时被超越。 3.2.2 顺序功能流程图(SFC)的几种主要形式 按着结构的不同,顺序功能流程图(SFC)可分为以下几种形式:单序列控制、同时序列控制、分支结构序列、转移序列和起始步。 3.2.3 顺序功能流程图(SFC)的程序执行 顺序功能流程图(SFC)程序的执行应遵循相应的规则,每一程序组织单元(POU)与一任务(task)相对应,任务负责周期性地执行程序组织单元(POU)内的IEC程序,顺序功能流程图(SFC)内的动作也是以同样周期被执行。 3.2.4 对不安全的SFC的处理 SFC编译器有能力采用相应的算法检测到某些结构不安全的SFC。如果一个完全整个流程图能分解为一个单步,该SFC就是安全的,否则是不安全的。
|