第5章顺序功能图及编程方法5.1顺序功能图及状态功能5.2单流程顺序功能图的编程5.3选择性分支与汇合的编程5.4并行分支与汇合的编程5.5编程实例5.6顺控设计法中梯形图的编程方式5.0PLC程序的顺控设计法概述顺序控制系统:如果一个控制系统可以分解成几个独立的控制动作,且这些动作必须严格按照一定的先后次序执行才能保证生产过程的正常运行,也称为步进控制系统。顺序控制设计法就是针对顺序控制系统的一种专门的设计方法。这种设计方法很容易被初学者接受,对于有经验的工程师,也会提高设计的效率,程序的调试、修改和阅读也很方便。PLC的设计者们为顺序控制系统的程序编制提供了大量通用和专用的编程元件,开发了专门供编制顺序控制程序用的功能表图,使这种先进的设计方法成为当前PLC程序设计的主要方法。顺控设计法的设计步骤步的划分转换条件的确定功能表图的绘制梯形图的编制5.0PLC程序的顺控设计法概述顺控设计法的设计步骤步的划分将系统的一个工作周期划分为若干个顺序相连的阶段,这些阶段称为步,并且用编程元件来代表各步。步是根据PLC输出状态的变化来划分的,在任何一步内,各输出状态不变,但是相邻步之间输出状态是不同的。顺控设计法的设计步骤步的划分步也可根据被控对象工作状态的变化来划分,但被控对象工作状态的变化应该是由PLC输出状态变化引起的。否则就不能这样划分,例如从快进到工进与PLC输出无关,那么快进和工进只能算一步。顺控设计法的设计步骤转换条件的确定使系统由当前步转入下一步的信号称为转换条件。转换条件可能是外部输入信号,如按钮、指令开关、限位开关的接通/断开等,也可能是PLC内部产生的信号,如定时器、计数器触点的接通/断开等,转换条件也可能是若干个信号的与、或、非逻辑组合。顺控设计法的设计步骤功能表图的绘制根据以上分析和被控对象工作内容、步骤、顺序和控制要求画出功能表图。绘制功能表图是顺序控制设计法中最为关键的一步。功能表图又称做状态转移图,它是描述控制系统的控制过程、功能和特性的一种图形。功能表图不涉及所描述控制功能的具体技术,是一种通用的技术语言,可用于进一步设计和不同专业的人员之间进行技术交流。各个PLC厂家都开发了相应的功能表图,各国家也都制定了国家标准。我国1986年颁布了功能表图国家标准(GB6988.6-86)。顺控设计法的设计步骤梯形图的编制(可省略)根据功能表图,按某种编程方式写出梯形图程序。如果PLC支持功能表图语言,则可直接使用该功能表图作为最终程序。5.0PLC程序的顺控设计法功能表图的组成主要由步、有向连线、转换、转换条件和动作(命令)组成。步与动作步:矩形框表示步,方框内是该步的编号。编程时一般用PLC内部编程元件来代表各步初始步:与系统的初始状态相对应的步称为初始步。初始步用双线方框表示,每一个功能表图至少应该有一个初始步。步与动作动作:一个控制系统可以划分为被控系统和施控系统。对于被控系统,在某一步中要完成某些“动作”;对于施控系统,在某一步中则要向被控系统发出某些“命令”,将动作或命令简称为动作动作的表示:矩形框中的文字或符号表示,该矩形框应与相应的步的符号相连。步与动作活动步:当系统正处于某一步时,该步处于活动状态,称该步为“活动步”。步处于活动时,相应的动作被执行。保持型动作:若为保持型动作,则该步不活动时继续执行该动作。非保持型动作:若为非保持型动作则指该步不活动时,动作也停止执行。说明:一般在功能表图中保持型的动作应该用文字或助记符标注,而非保持型动作不要标注。有向连线、转换与转换条件有向连线:功能表图中步的活动状态的顺序进展按有向连线规定的路线和方向进行。活动状态的进展方向习惯上是从上到下或从左至右,在这两个方向有向连线上的箭头可以省略。如果不是上述的方向,应在有向连线上用箭头注明进展方向。转换:转换是用有向连线上与有向连线垂直的短划线来表示,转换将相邻两步分隔开。步的活动状态的进展是由转换的实现来完成的,并与控制过程的发展相对应。转换条件:转换条件可以用文字语言、布尔代数表达式或图形符号标注在表示转换的短线的旁边。转换实现的基本规则转换实现的条件:在功能表图中步的活动状态的进展是由转换的实现来完成。转换实现必须同时满足两个条件:1)该转换所有的前级步都是活动步;2)相应的转换条件得到满足。转换实现应完成的操作:转换的实现应完成两个操作:1)使所有的后续步都变为活动步;2)使所有的前级步都变为不活动步。5.1顺序功能图及状态功能引例:如图所示SQ2(X2)SQ1(X1)SQ3(X3)前进(Y1)后退(Y2)SB(X0)启动TMMMMMMMMMMMMMMMMMMMMM台车自动往返系统工况示意图某生产过程的控制工艺要求如下:5.1顺序功能图及状态功能(2)台车后退碰到限位开关SQ2后,台车电机M停转,台车停车,停5s,第二次前进,碰到限位开关SQ3,再次后退。(3)当后退再次碰到限位开关SQ2时,台车停止(或者继续下一个循环)。(1)按下启动按钮SB,台车电机M正转,台车前进,碰到限位开关SQ1后,台车电机M反转,台车后退。输入设备端口号输出设备端口号启动SBX00电机正转Y01前限位SQ1X01电机反转Y02前限位SQ3X03后限位SQ2X02为编程的需要,不妨设置输入、输出端口配置如表所示。5.1顺序功能图及状态功能编程步骤如下:5.1顺序功能图及状态功能第一步:绘制流程图流程图是描述控制系统的控制过程、功能和特性的一种图形,流程图又叫功能表图(FunctionChart)。流程图主要由步、转移(换)、转移(换)条件、线段和动作(命令)组成。台车的每次循环工作过程分为前进、后退、延时、前进、后退五个工步。5.1顺序功能图及状态功能每一步用一个矩形方框表示,方框中用文字表示该步的动作内容或用数字表示该步的的标号。与控制过程的初始状态相对应的步称为初始步。初始步表示操作的开始。每步所驱动的负载(线圈)用线段与方框连接。方框之间用线段连接,表示工作转移的方向,习惯的方向是从上至下或从左至右,必要时也可以选用其它方向。线段上的短线表示工作转移条件,图中状态转移条件为SB、SQ1。方框与负载连接的线段上的短线表示驱动负载的联锁条件,当联锁条件得到满足时才能驱动负载。转移条件和联锁条件可以用文字或逻辑符号标注在短线旁边。5.1顺序功能图及状态功能准备SB启动(前进)工序一前进:Y1动作SQ1后退工序二后退:Y2动作SQ2后退停延时5s:T0动作前进:Y1动作后退:Y2动作工序三延时前进T0工序四后退SQ3工序五后退停SQ2状态功能状态条件状态当相邻两步之间的转移条件得到满足时,转移去执行下一步动作,而上一步动作便结束,这种控制称为步进控制。5.1顺序功能图及状态功能在初始状态下,按下前进启动按钮SB(X00动合触点闭合),则小车由初始状态转移到前进步,驱动对应的输出继电器Y01,当小车前进至前限位SQ1时(X01动合触点闭合),则由前进步转移到后退步。这就完成了一个步进,以下的步进读者可以自行分析。顺序控制若采用步进指令编程,则需根据流程图画出顺序功能图。顺序功能图是用状态继电器(简称状态)描述的流程图。5.1顺序功能图及状态功能第二步:绘制顺序功能图状态元件是构成顺序功能图的基本元素,是可编程序控制器的元件之一。(1)驱动负载。状态可以驱动M、Y、T、S等线圈。可以直接驱动和用置位SET指令驱动,也可以通过触点联锁条件来驱动。例如,当状态S20置位后,它可以直接驱动Y1。在状态S20与输出Y1之间有一个联锁条件Y2。状态可提供以下三种功能:5.1顺序功能图及状态功能(2)指定转移的目的地。状态转移的目的地由连接状态之间的线段指定,线段所指向的状态即为指定转移的目的地。例如,S20转移的目的地为S21。流程图中的每一步,可用一个状态来表示,由此绘出图所示的台车流程图的状态转移图。如图所示,分配状态的元件如下:初始状态前进(工序一)后退(工序二)延时(工序三)S0S20S21S22再前进(工序四)S23再后退(工序五)S24注意:虽然S20与S23、S21与S24,功能相同,但它们是状态转移图中的不同工序,也就是不同状态,故编号也不同。SQ2SBX0S20SQ1X1S21SQ2X2S22T0S23SQ3X3S24X2Y1Y2T0K50Y1Y2Y2Y1Y2Y1RETENDM8002S0台车流程图的顺序功能图(3)给出转移条件。状态转移的条件用连接两状态之间的线段上的短线来表示。当转移条件得到满足时,转移的状态被置位,而转移前的状态(转移源)自动复位。例如,当X1动合触点瞬间闭合时,状态S20将转移到S21,这时S21被置位而S20自动复位。5.1顺序功能图及状态功能状态的转移条件可以是单一的,也可以是多个元件的串、并联组合,如图所示。X0转移条件:X0S20S20转移条件:X1与T0并联再与X0串联(b)X1T05.1顺序功能图及状态功能X0(a)在使用状态时还需要说明以下问题:(1)状态的置位要用SET指令,这时状态才具有步进功能。它除了提供步进触点外,还提供一般的触点。步进触点(STL触点)只有动合触点,一般触点有动合触点和动断触点。当状态被置位时,其STL触点闭合,用它去驱动负载。(2)用状态驱动的M、Y若要在状态转移后继续保持接通,则需用SET指令。当需要复位时,则需用RST指令。5.1顺序功能图及状态功能(3)只要在不相邻的步进段内,则可重复使用同一编号的计时器。这样,在一般的步进控制中只需使用2~3个计时器就够了,可以节省很多计时器。5.2单流程顺序功能图的编程(4)状态也可以作为一般中间继电器使用,其功能与M一样,但作一般中间继电器使用时就不能再提供STL触点了。每个状态提供一个STL触点,当状态置位时,其步进触点接通。用步进触点连接负载的梯形图称为步进梯形图,它可以根据状态转移图来绘制。根据图所示台车状态转移图绘制的步进梯形图。第三步:设计步进梯形图5.2单流程顺序功能图的编程SETS0M8002S0X0S20S21S22S23Y2X1Y1X2T0Y2SETS24Y1X3S24OUTS0Y1X2Y2RETSETS20Y1SETS21Y2SETS22T0K50SETS23单流程顺序功能图的编程END下面对绘制步进梯形图的要点作一些说明:(1)状态必须用SET指令置位才具有步进控制功能,这时状态才能提供STL触点。(2)状态转移图除了并联分支与联接的结构以外,STL触点基本上都是与母线连接的,通过STL触点直接驱动线圈,或通过其它触点来驱动线圈。线圈的通断由STL触点的通断来决定。(3)图中M8002为特殊辅助继电器的触点,它提供开机初始脉冲。(4)在步进程序结束时要用RET指令使后面的程序返回原母线。5.2单流程顺序功能图的编程由步进梯形图可用步进指令编制出语句表程序。步进指令由STL/RET指令组成。STL指令称为步进触点指令,用于步进触点的编程;RET指令称为步进返回指令,用于步进结束时返回原母线。第四步:编制语句表由步进梯形图编制语句表的要点是:(1)对STL触点要用STL指令,而不能用LD指令。不相邻的状态转移用OUT指令,例如从S24转移到S25。(2)与STL触点直接连接的线圈用OUT/SET指令。对于通过触点连接的线圈,应在触点开始处使用LD/LDI指令。5.2单流程顺序功能图的编程(3)步进程序结束时要写入RET指令。LDM8002SETSTLS0S0LDSETX0S20STLS20LDIOUTY2Y1LDSETSTLX1S21S21LDIY1OUTLDY2X2SETSTLOUTSPS22S22T0K505.2单流程顺序功能图的编程SETS0M8002S0X0S20Y2SETS21X1SETS20Y1S21Y1SETS22X2Y2S22T0S23Y2SETS24X3Y1Y1X2Y2OUTS0RETS24ENDT0K50SETS23LDSETSTLLDIOUTLDSET