三菱FX PLC基础知识,学会顺序功能图(SFC)
大部分的工业控制系统都是顺序控制系统,所谓顺序控制系统,通俗来讲,就是在整个控制过程中,确定系统应该先做什么,再做什么,最后做什么,即将整个生产过程按顺序进行步骤化,每个步骤对应一个控制任务,各个步骤之间都有转移方向与转移条件。
基于顺序控制系统的任务可以步骤化的特点,各种品牌PLC都开发了与顺控程序有关的指令。而顺序功能图(SFC)亦是顺控程序设计的一种图形语言,用于描述控制流程功能和特性,如下图18-1为一简单的SFC示例图。
图18-1
啥?图18-1看不懂?看不懂就对了,因为这篇文章就是要让大家如何看懂它的!
相信大家已经开始摩拳擦掌,迫不及待了吧,那么,废话不多说,我们开始这次的学习分享吧!
一、顺序功能图(SFC)与其组成
顺序功能图,即SFC,又称状态转移图或功能表图。它是用状态继电器(S)来描述工步状态的工艺流程图,由状态步、有向连线(转移方向)、转移条件、以及命令和动作组成。
(1)状态步状态步,又称步或状态,指控制系统的一个工作状态,可分为初始状态步和一般状态步,如图18-2所示。
图18-2
状态步用状态框表示,框内为状态继电器编号,这些编号可连续,也可不连续。
其中初始状态步用双线矩形框表示,是SFC的第一个状态步,即系统等待启动命令的状态。一般状态步用单线矩形框表示,除初始状态步之外,其他均为一般状态步。
这些状态步一旦被激活,就处于活动状态,其中的动作和命令均得到执行。显然,未被激活的状态步,其命令与动作不能被执行。在SFC中,下一个状态被激活时,前一个状态必须要关闭。例如下图18-3所示,当S20状态步被激活,里面的指令均得到执行,此时初始步S0已被关闭。
图18-3
这里要注意是,虽然状态继电器编号可连续,也可不连续,但还是有相关的规定,如下图18-4所示。S0~S9为初始状态专用,S10~S19为IST指令专用,S20~S899为一般状态通用,所以一般状态使用的状态继电器最小编号为20。
图18-4
(2)有向连线(转移方向)
有向连线是指两个状态之间的连线,表示了状态的转移方向,其方向一般默认为从上到下,所以表示从上到下的有向连线的箭头可省略。除此之外,其他的有向连线一般需带箭头,如下图18-5所示。
图18-5
图18-5所示,左边为顺序功能图,右边为软件中的SFC图,状态S0与S20之间有向连线的箭头已省略,状态S20跳转到状态S0的有向连线带有箭头。
(3)转移条件
转移条件,在SFC中用短划线表示,如下图18-6所示。状态与状态之间的转移,必须在条件满足的情况下才可以进行。例如图18-5中的状态S20要转移到状态S21,X2就必须接通。转移条件不一定是单个触点,也可以是一段程序。
图18-6
(4)命令和动作
这里的命令与动作,是指每一个状态中的命令与动作,即每一个状态的控制要求以及完成该要求对应的程序。命令与动作用相应的文字符号写在状态框的旁边,并用直线与状态框连接,如下图18-7所示。
图18-7
综上,状态步、有向连线(转移方向)、转移条件以及命令与动作是SFC的基本要素,其总的示例如下图18-8所示。至此,能否看懂图18-1,我想,大家应该心里有数了吧。
图18-8
但,知道了SFC有哪些组成部分,显然还不足够让大家能完全看懂SFC,例如图18-1中的分支是怎么回事。所以,接下来我们再一起看看,SFC的基本结构有哪些吧!
二、顺序功能图(SFC)基本结构
(1)单流程结构
顺序功能图中,最简单的结构是单流程结构,即有向连线没有分支线,为单一线段,如下图18-9所示。在单流程SFC中,状态的激活由初始状态开始,从上到下依次进行,在整个控制过程中,除转移瞬间(在此过渡期间,两个状态同时处于活动状态),只能有一个状态步处于激活状态,其命令和动作正在被执行。
图18-9
SFC中除了比较简单的单流程SFC外,还有分支SFC,即有向连线出现两个或两个以上的分支。那么,我们一起来看看分支SFC有哪些吧。
(2)选择性分支与汇合结构
所谓选择性,是指在各个分支中,只能有一条分支流程被选择,即多选一。如下图18-10所示,左边为有选择性分支与汇合的顺序功能图,右边为软件中的SFC示例图。
在单流程向选择性分支转移时,根据转移条件是否成立,只能向其中一个分支进行转移。若此时X2接通,S20向S22转移,S22被激活,同时S21、S23保持非活动状态。
图18-10
同理,选择性汇合是指多个选择性分支流程汇合成单流程时,只能有一个分支被转移,如图18-10中的S21、S22、S23只能有一个被转移到S30。
(3)并行性分支与汇合结构
所谓并行性,是指在各个分支中,它们的转移条件相同,全部分支流程均被选择。如下图18-11所示,左边为有并行性分支与汇合的顺序功能图,右边为软件中的SFC示例图。
在单流程向并行性分支转移时,根据转移条件是否成立,向所有分支进行转移。若此时X0接通,S21、S22、S23同时被激活,先后被扫描。
图18-11
同理,并行性汇合是指多个并行性分支流程都已完成且转移条件成立后,同时汇合成单流程,如图18-11中的S21、S22、S23全部完成,X1接通,流程转移到S30,S30被激活。
SFC除了单流程结构和分支结构外,还有几个特殊结构,即跳转、重复以及循环。
(3)跳转、重复以及循环
SFC中跳转,类似于功能指令中的CJ,即跳过中间的部分状态,直接向其他状态转移,可分为转移和分离两种情况,如下图18-12所示。
图18-12
当跳转可以在流程自身中进行,即图18-12中左图所示,若X10接通,流程转移到S31,跳过S21、S30。
另外,跳转也可以在两个SFC流程之间进行,称为分离。如图18-12中右图所示,若X10接通,本流程停止执行,转移到另一个流程中的状态S52。
重复是指流程中的某几个状态被重复执行,即向前跳转,当被重复执行的状态只有一个,即向本状态重复,则称为复位。
如下图18-13的左图所示,若转移条件成立,S21、S30、S31被重复执行,重复的次数由转移条件确定,或如下图18-13的中图所示,若转移条件成立,S30被重复执行。而所谓循环,是指流程结束,又跳转后初始状态重复执行,如下图18-13的右图所示。
图18-13
其实,不管是跳转、分离,还是重复、循环,都只不过是转移的几种不同形式,而一个完整的SFC,往往是几种不同结构的结合。在理解基本结构的情况下,我们才能更好地理解一个复杂的SFC,或者设计一个SFC。
这次的分享,主要是讲解什么是SFC,下次将会结合梯形图对SFC进行更深入的学习,所以,这次的学习分享就相当于让大家热一下身啦,嘿嘿。
注:本文章内容都是基于三菱FX PLC 2N所写
选自《三菱FX系列PLC顺序控制应用》第二章第3~4课时
技成培训网原创,作者:杨思慧,未经授权不得转载,违者必究
PLC各种编程语言都有啥不同
编程语言种类很多,各有各的优势,语句表和指令表类似,是编程语言的一种,在PLC中应用比较普遍,也是一种高级编程语言,PLC中语句表、梯形图、SCL等编程语言的特点:
1、顺序功能图(SFC-Seauential Fuction Chart)
这是位于其它编程语言之上的图形语言,用来编程顺序控制的程序(如:机械手控制程序)。编写时,工艺过程被划分为若干个顺序出现的步,每步中包括控制输出的动作,从一步到另一步的转换由转换条件来控制,特别适合于生产制造过程。
西门子STEP7中的该编程语言是S7 Graph。
2、梯形图(LAD-LAdder Diagram)
这是使用使用最多的PLC编程语言。因与继电器电路很相似,具有直观易懂的特点,很容易被熟悉继电器控制的电气人员所掌握,特别适合于数字量逻辑控制。
梯形图由触点、线圈和用方框表示的指令构成。触点代表逻辑输入条件,线圈 代表逻辑运算结果,常用来控制的指示灯,开关和内部的标志位等。指令框用来表示定时器、计数器或数学运算等附加指令。
在程序中,最左边是主信号流,信号流总是从左向右流动的。
不适合于编写大型控制程序。
3、语句表(STL-STatement List)
是一种类似于微机汇编语言的一种文本编程语言,由多条语句组成一个程序段。语言表适合于经验丰富的程序员使用,可以实现某些梯形图不能实现的功能。
4、功能块图(FBD-Function Block Diagram)
功能块图使用类似于布尔代数的图形逻辑符号来表示控制逻辑,一些复杂的功能用指令框表示,适合于有数字电路基础的编程人员使用。功能块图用类似于与门、或门的框图来表示逻辑运算关系,方框的左侧为逻辑运算的输入变量,右侧为输出变量,输入、输出端的小圆圈表示“非”运算,方框用“导线”连在一起,信号自左向右。
5、结构化文本(ST-Structured Text)
结构化文本(ST)是为IEC61131-3标准创建的一种专用的高级编程语言。与梯形图相比,它实现复杂的数学运算,编写的程序非常简洁和紧凑。
STEP7的S7 SCL结构化控制语言,编程结构和C语言和Pascal语言相似,特别适合于习惯于使用高级语言编程的人使用
相关问答
在PLC中SFC语言是由什么状态输出和转换?
SFC程序的运行从初始步开始,每次转换条件成立时执行下一步,在遇到END步时结束向下运行。顺序功能图(SequeentialFunctionChart),简称“SFC”,是一种新...SFC...
西门子plc中sfc是如何应用得,大神有没有具体的案例程序?
SFC是系统内部的功能,和普通的功能一样使用。使用之前从库中找到SFC,然后拖到编程窗口即可使用SFC是系统内部的功能,和普通的功能一样使用。使用之前从库中找...
plc编程用什么语法?
PLC的编程语言包括以下五种:梯形图语言(LD)、指令表语言(IL)、功能模块图语言(FBD)、顺序功能流程图语言(SFC)及结构化文本语言(ST)。PLC的用户程序...PLC的...
S7系列的PLC的编程语言LAD、STL、SCL、GRAPH、HIGRAPH、CFC...
LD:梯形图是一种日系称为LAD的图形编程语言。它使用图形符号和连接线来表示程序控制结构,适用于自动化控制系统中的逻辑控制和顺序控制。LD具有易于理解和使用...
plc编程语言的国际标准是哪个?
plc编程语言的国际标准是IEC61131。PLC有五种标准化编程语言:顺序功能图(SFC)、梯形图(LD)、功能模块图(FBD)三种图形化语言和语句表(IL)、结构文本(ST...plc...
codesys支持哪六种编程语言?
Codesys是PLC软件编程工具CoDeSys是一种功能强大的PLC软件编程工具,它支持IEC61131-3标准IL、ST、FBD、LD、CFC、SFC六种PLC编程语言,用户可以在...
三菱FX系列PLC怎么编写SFC程序块,自动,急停,手动,如何启动与停止这些块?
FX系列里有个方便指令叫IST可以编写手动,回原点,单步运行,单周期运行,全自动运行,回原点启动,自动运行启动,停止.共要8个连号元件,前6个需要用转换开关,也就...
PLC的编程语言标准?
PLC目前有5种标准的编程语言,包括图形化编程语言和文本化编程语言。图形化编程语言包括:梯形图(LD-LadderDiagram)、功能块图(FBD-FunctionBlockDia......
三菱plcsfc停止程序怎么写?
要停止运行三菱PLCSFC(SequentialFunctionChart)程序,可以使用以下方法:1.使用STEP关键字:在SFC程序的特定步骤中,使用STEP指令来停止程序的运行。例.....
S7-300PLC中的BLKMOVE(SFC20)怎么用?
CALL"BLKMOV"SRCBLK:=P#M50.0BYTE8RET_VAL:=MW80DSTBLK:=P#M150.0BYTE8参考这个看看就知道了这个程序的意思就是说:将MB...