通过实例玩转三菱PLC之小车往返控制的SFC编程
通过一个简单的例子看看三菱PLC的SFC编程,也就是步进顺控程序怎么编程,如下图,在新建项目选择SFC程序类型。
双击块,选择块的类型是SFC还是梯形图块
虽然我们在建项目时已经设定了SFC编程,但在程序中也可以更改为梯形图。如下图所示。
简单介绍到这,下面举个简单的离子来看看怎么编程。
控制要求:运料小车如下图所示,当按下启动按钮,小车在SQ1处,电机正转,小车前进到SQ2处,小车反转后退,后退到SQ1后,小车电机停止转动,小车停止30s后,小车第二次前进到SQ3处,再次返回到SQ1处停止。
根据控制要求:顺序功能图如下图所示:
下面我们来根据顺序功能图来编程:
首先选择0#块,设置成梯形图快,双击,编写初始化程序。如下图
之后选择1#块,设置成SFC块,开始编写SFC程序。
在S0下添加转移条件,并编写转移条件梯形图。如下图所示
在转移条件下添加步,并设置步号,并编写梯形图,如下图所示
不一一列举了,根据顺序功能图来编写。编完的程序如下所示
是不是看着很别扭,每一步需要点进去才能开到,没有西门子那么直观,没事,我们可以转换成梯形图,那么就直观了,上图图中已经介绍了怎么转换成梯形图,那么,改变完程序类型的程序如下图所示
下面我做了一个西门子博途GRAPH的程序,大家可以参考下。
西门子可能更直观一些,还是那句话无论是什么品牌的PLC,只是软件有所区别,但本质是一样的,都是用同一个顺序功能图。
写文不易,我的文章都是我亲手编程的,希望大家能支持,给小编点赞、评论及转发。
三菱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编程时调用子程序应当怎样编-ZOL问答
顺序功能图一般用cj条件跳转指令就能到指定的子程序事例如这有用(0)回复s502022325CJ跳转指令有用(0)回复精品应用推荐新浪微博天气通淘宝特价版UC浏...
三菱FX系列PLC怎么编写SFC程序块,自动,急停,手动,如何开启与...
首先要在电脑安装GXDeveloper软件,并正确设置通信端口、PLC型号,才可通过数据线实现通讯。具体的PLC程序的功能地址,需要查阅相关的《PLC地址手册》...
西门子plc的sfc20怎么用?
读取对应的变频器寄存区地址,获取变频器的实时状态。转速,电流,电压什么的都是可以的。第二种就是比较简单的硬接线,使用PLC的模拟考输出端子给模拟量信号...
plc暂停和继续功能怎么实现?
在PLC编程中,暂停和继续功能的实现方式取决于具体的PLC品牌和型号。下面以一种常见的方法为例,介绍如何实现PLC暂停和继续功能。1.编写暂停程序:在程序中加...
台达plc编写sfc程序,转移到下一个状态,满足条件的转移指令,我知道三菱的是tran,台达的我?
你可以在梯形图上面写用STL指令你说的是在步进状态下编写的TRAN这个也是转移指令你可以在梯形图上面写用STL指令你说的是在步进状态下编写的TRAN这个也是转移...
汇川plc支持sfc吗?
是的,汇川PLC支持SFC(SequentialFunctionChart)编程语言。SFC是一种基于状态转换的图形化编程语言,用于描述程序的状态和状态之间的转换。汇川PLC提供了完...
plc组织块按功能分为?
西门子s7-300/400的plc用户程序结构与s7-200有明显的不同,可以使用线性化结构以及功能调用式结构与结构化编程。采用调用式结构与结构化编程时,程序以组织块(...
西门子plc时钟指令编程实例?
西门子PLC时钟指令编程实例可以通过SFC14指令来实现。在程序中定义一个时间变量,然后使用SFC14指令读取系统时间,并将其存储到定义的变量中。可以通过这个变量...
plc的sfc中一个状态的上下步都是一个条件怎么办?
同一个条件的两步之间你可以在前者用下升沿触点,后者用上升沿触点。还可以用时间来间隔,又或者计数器单数为第一步,双为第二步,根据你的情况而定吧。同一个条...
三菱plc梯形图怎么转换成sfc?
SFC(SequentialFunctionChart)是一种基于状态图的编程语言,用于描述程序的状态转换。相比之下,梯形图是一种基于逻辑图的编程语言,用于描述程序的逻辑运算...