三菱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之小车往返控制的SFC编程
通过一个简单的例子看看三菱PLC的SFC编程,也就是步进顺控程序怎么编程,如下图,在新建项目选择SFC程序类型。
双击块,选择块的类型是SFC还是梯形图块
虽然我们在建项目时已经设定了SFC编程,但在程序中也可以更改为梯形图。如下图所示。
简单介绍到这,下面举个简单的离子来看看怎么编程。
控制要求:运料小车如下图所示,当按下启动按钮,小车在SQ1处,电机正转,小车前进到SQ2处,小车反转后退,后退到SQ1后,小车电机停止转动,小车停止30s后,小车第二次前进到SQ3处,再次返回到SQ1处停止。
根据控制要求:顺序功能图如下图所示:
下面我们来根据顺序功能图来编程:
首先选择0#块,设置成梯形图快,双击,编写初始化程序。如下图
之后选择1#块,设置成SFC块,开始编写SFC程序。
在S0下添加转移条件,并编写转移条件梯形图。如下图所示
在转移条件下添加步,并设置步号,并编写梯形图,如下图所示
不一一列举了,根据顺序功能图来编写。编完的程序如下所示
是不是看着很别扭,每一步需要点进去才能开到,没有西门子那么直观,没事,我们可以转换成梯形图,那么就直观了,上图图中已经介绍了怎么转换成梯形图,那么,改变完程序类型的程序如下图所示
下面我做了一个西门子博途GRAPH的程序,大家可以参考下。
西门子可能更直观一些,还是那句话无论是什么品牌的PLC,只是软件有所区别,但本质是一样的,都是用同一个顺序功能图。
写文不易,我的文章都是我亲手编程的,希望大家能支持,给小编点赞、评论及转发。
相关问答
PLC中SFC如何使用?
【SFC】顺序功能图(SequeentialFunctionChart),简称“SFC”,是一种新颖的、按照工艺流程图进行编程的图形编程语言。这是一种IEC标准推荐的首选编程语言,...
sfc编程语言?
【SFC】顺序功能图(SequeentialFunctionChart),简称“SFC”,是一种新颖的、按照工艺流程图进行编程的图形编程语言。这是一种IEC标准推荐的首选编程语言,...
三菱PLC用SFC编程时调用子程序应当怎样编-ZOL问答
2条回答:顺序功能图一般用cj条件跳转指令就能到指定的子程序事例如这
用三菱plc的SFC编程怎么做急停和手动操作?
急停的时候一般要用【ZRSTSS】指令来使区间复位。不能在转移条件中加常闭,因为SFC编程的状态是启动了一个状态就会自动断开上一个状态。手动的话,可以用...
共同探讨下使用三菱PlC的SFC顺序功能图的编程心得?
梯形图比较简单,直观,但是对于初学者来说调试的时候比较麻烦;用STL编程的话思路比较清晰,好调试。。用SFC的话比较理解力需要强一些,但是用的人比较少,注...
400plc编程软件向导里头新建或插入一个sfc或sfb块-ZOL问答
西门子PLC内带锁的程序是其实是在STEP内编程时设置编译过来的,编译完后在SOURCE里会生成一个源文件,必须有这源文件才能恢复。1、一般带锁的SFC,SFB甚至一些...
三菱plcsfc编程怎么跳转?
在三菱PLC的SFC编程中,可以使用“跳转”指令(JUMP)来实现跳转功能。下面是具体的操作步骤:1.首先,在SFC程序中添加一条JUMP指令。2.在JUMP指令的操作数...
S7-300PLC中的BLKMOVE(SFC20)怎么用?
CALL"BLKMOV"SRCBLK:=P#M50.0BYTE8RET_VAL:=MW80DSTBLK:=P#M150.0BYTE8参考这个看看就知道了这个...
三菱PLC中用SFC顺序控制编程时,什么时候要用多个初始状态?
三菱PLC中用SFC顺序控制编程时,,必须是有初始状态的,不管此步有没输出,都是软件自动生成的,根据SFC原理,必须激活初始状态后,才能转移动系一步。多个初始...
codesys是干什么用的?
CODESYS是一种功能强大的PLC软件编程工具。它支持IEC61131-3标准IL、ST、FBD、LD、CFC、SFC六种PLC编程语言,用户可以在同一项目中选择不同的语言编辑...