顺序功能图来源于佩特利(Petri)网,是IEC61131-3图形化语言中的一种,以描述控制程序的顺序为特征。具有图形表达方式,能简单、清楚地描述系统的所有现象,并能对系统中存有的像死锁、不安全等反常现象进行分析和建模。并可在此基础上编程。所以,得到了广泛的应用。
其实,顺序功能图语言仅仅是一种组织程序的图形化方式。其使用要与其他语言配合,否则无法实现其功能。所以,严格地讲,它不能算是完整的编程语言。
1.顺序功能图组成
由步、有向线、转移等组成。每个步含有相应的动作。而步间的转换靠其间的转移条件实现。
(1)步(Step)。是系统工作顺序组成部分,用方框表示。分有初始步、活动步、不活动(休止)步三种。初始步,与系统初始状态对应的步。活动步,正处于工作阶段。不活动步,处于等待工作阶段。一个步是否为活动步,即是否处于激活状态,则取决于上一步及与其相应的转移。
(2)动作(Action)。是步的组成部分,一个步含有一个或多个动作,用一个附加在步上的矩形框来表示。每一动作中的程序代码都可以用IEC的任一语言如ST、FBD、LD或IL来编写。每一动作都有一个修饰词(Qualifier),用来确定步激活时其动作什么时候执行。具体修饰词有:
N(非存储类型):步变激活时动作执行,不活动步时动作终止。
S(置位,存储):步变激活时动作执行启动,步变为不活动步时动作继续,直至动作被复位。
R(复位):终止被S、SD、SL、DS起动的动作。
L(时间限制):步激活动作起动,至步不活动或设定时间到。
D(时间延迟):步激活时延迟定时器起动,延迟结束步仍活动,动作起动至步不活动止。
P(脉冲):步活动时,起动执行一次动作。
SD(存储与时间延迟):延迟后动作起动,直至复位。
DS(延迟与存储):延迟后步仍活动,动作起动,直至复位。
SL(存储与时间限制):步活动时起动动作,直至设定时间到或复位。
(3)有向连线。从上到下、从左到右的步间连线,或非前两方向则加箭头的步间连线。
(4)转移。有向连线上与其垂直的短线。与转移相关的逻辑条件,用文字、布尔代数表达式、图形符号标于转换短线旁。(www.daowen.com)
2.顺序功能流程图步转移规则
步的转移指的是有向线相连的前后步激活状态的转换,即原休止的(后)步激活,而原激活的(前)步休止。步间转移的规则是:①步间的转移逻辑条件为真;②被转移步的前一步是活动的。不满足此两条件,都将不能转移。为了启动顺序功能流程图程序的执行,总是要指定一个初始步,其标志为S0,是程序运行开始时被激活的那个步。有了这个初始步,则随着相应转移逻辑条件满足,流程图中步的激活状态将逐步转换,直至最后一步被激活,或根据有向线指定路线不停地循环转换。
3.顺序功能流程图主要形式
根据结构的不同,顺序功能流程图可分为以下几种形式:单序列控制、并行序列控制、分支结构序列、转移序列等。
图1-10所示为一段“顺序功能图语言”编写的程序。
图中S0(起始步)、S1、S2、S3为步,t1、t2、t3、t4、t5为“转移”。“转移”的条件是位逻辑值。为1转换,进入(激活)下一步,而原来步的激活则终止。为0不转换,停留在所在步,执行所在步的程序。图中t1条件为梯形图编程,t2为逻辑图编程。图中S0步转换到S1、S2是分支结构,到底转换到哪个步,要依逻辑条件t1(转换到步S1条件)、t4(转换到步S2条件)哪个先满足确定。而S1、S2转换S3是逻辑或,执行S1步及t2为1,则从S1转换到S3,执行S2步及t5为1,则从S2转换到S3。S3往下转换,则由逻辑条件t3确定。至于在各个“步”中含有多少动作,以及各动作的程序代码是什么,即PLC要做什么,可用不同语言编写。这里略。
图1-10 顺序功能图程序
总之,功能表图编程语言的特点是:
(1)以功能为主线,条理清楚,便于对程序操作的理解和沟通;
(2)对大型的程序,可分工设计,采用较为灵活的程序结构,可节省编程时间和调试时间;
(3)常用于系统的规模较大、程序关系较复杂的场合;
(4)只有在已“激活”的步中指令才被扫描,而在未“激活”的步中的指令的则不予扫描,因此,整个程序的扫描时间较其他程序编制的程序扫描时间要大大缩短。
提示:表面上看,顺序功能图语言与梯形图语言的步进指令有点类似。但前者的内涵要丰富得多。
提示:同样称SFC语言,但有的是合乎标准的,称IEC标准语言。其Action有以上修饰词。有的做了简化,一个Step仅一个Action,而且也没有什么修饰词,更便于使用。多数编程软件可在使用标准SFC与简化SFC之间做选择。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。