1、,PLC步进顺控指令系统,状态转移图及编程方法,状态转移图及状态功能单流程状态转移图的编程选择性分支与汇合的编程并行分支与汇合的编程编程实例,用梯形图或指令表方式编程固然广为电气技术人员接受,但对于一个复杂的控制系统,尤其是顺序控制系统,由于内部的联锁、互动关系极其复杂,其梯形图往往长达数百行。另外,在梯形图上如果不加注释,这种梯形图的可读性也会大大降低。近年来,许多新生产的PLC在梯形图语言之外加上了符合IEC11313标准的SFC(Sequential Function Chart)语言,用于编制复杂的顺控程序。IEC11313中定义的SFC语言是一种通用的流程图语言。三菱的小型PLC在基
2、本逻辑指令之外增加了两条简单的步进顺控指令(STL,意为Step Ladder;RET,意为返回),同时辅之以大量状态元件,就可以使用状态转移图方式编程。,称为“状态”的软元件是构成状态转移图的基本元素。 FX2N共有 1000个状态元件,其分类、编号、数量及用途如表所示。,FX2N 系列 PLC的步进指令有两条:步进接点指令STL和步进返回指令RET。 1 STL:步进接点指令,其梯形图符号,2 RET:步进返回指令,其梯形图符号,STL指令的意义为激活某个状态。在梯形图上体现为从母线上引出的状态接点。STL指令有建立子母线的功能,以使该状态的所有操作均在子母线上进行。步进接点指令在梯形图中
3、的情况如图所示。,RET指令用于返回主母线。使步进顺控程序执行完毕时,非状态程序的操作在主母线上完成,防止出现逻辑错误。状态转移程序的结尾必须使用RET指令。,状态转移图及状态功能,状态转移图的编程方法 对状态转移图进行编程,不仅是使用STL,RET指令的问题,还要搞清楚状态的特性及要素。1、状态转移图中的状态有驱动负载、指定转移目标和指定转移条件三个要素。 图中Y5:驱动的负载 S21:转移目标 X3:转移条件。,状态转移图SFC,状态梯形图STL,状态转移图及状态功能,2、状态转移图的编程方法 步进顺控的编程原则:先进行负载驱动处理,然后进行状态转移处理。,从程序可看到,负载驱动及转移处理
4、,首先要使用STL指令,这样保证负载驱动和状态转移均在子母线上进行。,程序执行完某一步要进入到下一步时,要用SET指令进行状态转移,激活下一步,并把前一步复位。,状态转移图及状态功能,状态的转移使用SET指令,但若为向上转移、向不相连的下游转移或向其他流程转移,称为顺序不连续转移,非连续转移不能使用SET指令,而用OUT指令。 如图为非连续状态流程图,状态不连续转移时,用OUT指令。,状态转移图及状态功能,状态的开启与关闭及状态转移图执行的特点: STL指令的含意是提供一个步进接点,其对应状态的三个要素均在步进接点之后的子母线上实现。若对应的状态是开启的(即“激活”),则状态的负载驱动和转移才
5、有可能。若对应状态是关闭的,则负载驱动和状态转移就不可能发生。因此,除初始状态外,其他所有状态只有在其前一个状态处于激活且转移条件成立时才能开启。同时一旦下一个状态被“激活”,上一个状态会自动关闭。,状态转移图及状态功能,状态编程顺序为:先进行驱动,再进行转移,不能颠倒。 对状态处理,编程时必须使用步进接点指令STL。 步进顺序控制程序的结尾必须使用RET指令,返回主母线。 驱动负载使用OUT指令。梯形图中同一元件的线圈可以被不同的STL触点驱动,即使用STL指令时,允许双线圈输出。相邻状态使用的T、C元件,编号不能相同。 若为顺序不连续转移,不能使用SET指令进行状态转移,应改用OUT指令进
6、行状态转移。 在STL与RET指令之间不能使用MC、MCR指令。 必须设置初始步,初始步用M8002驱动。,注意,状态转移图及状态功能,状态转移图及状态功能,运用状态编程思想解决顺控问题的方法步骤:,台车自动往返系统工况示意图,SQ2(X2),SQ1(X1),SQ3(X3),前进(Y1),后退(Y2),SB(X0),启动,某生产过程的控制工艺要求如下:,状态转移图及状态功能,(2) 台车后退碰到限位开关SQ2后,台车电机M停转,台车停车,停5 s,第二次前进,碰到限位开关SQ3,再次后退。,(3) 当后退再次碰到限位开关SQ2时,台车停止(或者继续下一个循环)。,(1) 按下启动按钮SB,台车
7、电机M正转,台车前进,碰到限位开关SQ1后,台车电机M反转,台车后退。,为编程的需要,设置输入、输出端口配置如表所示。,状态转移图及状态功能,编程步骤如下:,状态转移图及状态功能,第一步:绘制流程图,流程图是描述控制系统的控制过程、功能和特性的一种图形,流程图又叫功能表图(Function Chart)。,流程图主要由步、转移(换)、转移(换)条件、线段和动作(命令)组成。,步:定义:若将系统的工作过程划分为若干阶段,则这些阶段就称为“步”。台车的每次循环工作过程分为前进、后退、延时、前进、后退五个工步。,状态转移图及状态功能,步分为初始步和工作步,在每个步要完成一个或多个特定的动作。初始步表
8、示一个控制系统的初始状态,故一个系统必须有一个初始步,初始步可以没有具体要完成的动作。步用矩形方框表示,方框内用S或M连同编号进行注释,初始步用双方框线。步与步之间必须有转换条件隔开。,有向线段:步与步之间的连线每步所驱动的负载(线圈)用线段与方框连接。方框之间用线段连接,表示工作转移的方向,习惯的方向是从上至下或从左至右,必要时也可以选用其它方向。线段上的短线表示工作转移条件,图中状态转移条件为SB、SQ1。方框与负载连接的线段上的短线表示驱动负载的联锁条件,当联锁条件得到满足时才能驱动负载。转移条件和联锁条件可以用文字或逻辑符号标注在短线旁边。,状态转移图及状态功能,当相邻两步之间的转移条
9、件得到满足时,转移去执行下一步动作,而上一步动作便结束,这种控制称为步进控制。,状态转移图及状态功能,在初始状态下,按下前进启动按钮SB(X00动合触点闭合),则小车由初始状态转移到前进步,驱动对应的输出继电器Y01,当小车前进至前限位SQ1时(X01动合触点闭合),则由前进步转移到后退步。这就完成了一个步进。,状态流程图,顺序控制若采用步进指令编程,则需根据流程图画出状态转移图。状态转移图是用状态继电器(简称状态)描述的流程图。,状态转移图及状态功能,第二步:绘制状态转移图,状态元件是构成状态转移图的基本元素,是可编程序控制器的元件之一。,(1) 驱动负载。状态可以驱动M、Y、T、S等线圈。
10、可以直接驱动和用置位SET指令驱动,也可以通过触点联锁条件来驱动。例如,当状态S20置位后,它可以直接驱动Y1。在状态S20与输出Y1之间有一个联锁条件Y2。,状态可提供以下三种功能 :,状态转移图及状态功能,(2) 指定转移的目的地。状态转移的目的地由连接状态之间的线段指定,线段所指向的状态即为指定转移的目的地。例如,S20转移的目的地为S21。,流程图中的每一步,可用一个状态来表示,由此绘出图所示的台车流程图的状态转移图。如图所示,分配状态的元件如下:,初始状态 S0,前进(工序一) S20,后退(工序二) S21,延时(工序三) S22,再前进(工序四) S23,再后退(工序五) S24
11、,注意:虽然S20与S23、S21与S24,功能相同,但它们是状态转移图中的不同工序,也就是不同状态,故编号也不同。,台车流程图的状态转移图,(3) 给出转移条件。状态转移的条件用连接两状态之间的线段上的短线来表示。当转移条件得到满足时,转移的状态被置位,而转移前的状态(转移源)自动复位。例如,当X1动合触点瞬间闭合时,状态S20将转移到S21,这时S21被置位而S20自动复位。,状态转移图及状态功能,状态的转移条件可以是单一的,也可以是多个元件的串、并联组合,如图所示。,状态转移图及状态功能,在使用状态时还需要说明以下问题:,状态转移图及状态功能,(1) 状态的置位要用SET指令,这时状态才
12、具有步进功能。,它除了提供步进触点外,还提供一般的触点。步进触点(STL触点)只有动合触点,一般触点有动合触点和动断触点。当状态被置位时,其STL触点闭合,用它去驱动负载。,(2) 用状态驱动的M、Y若要在状态转移后继续保持接通,则需用SET指令。当需要复位时,则需用RST指令。,(3) 只要在不相邻的步进段内,则可重复使用同一编号的计时器。这样,在一般的步进控制中只需使用23个计时器就够了,可以节省很多计时器。,(4) 状态也可以作为一般中间继电器使用,其功能与M一样,但作一般中间继电器使用时就不能再提供STL触点了。,状态转移图及状态功能,每个状态提供一个STL触点,当状态置位时,其步进触
13、点接通。用步进触点连接负载的梯形图称为步进梯形图,它可以根据状态转移图来绘制。根据图所示台车状态转移图绘制的步进梯形图。,第三步:设计步进梯形图,状态转移图及状态功能,单流程状态转移图的编程,什么是流程 所谓单流程,是指状态转移只可能有一种顺序。上个模块介绍的台车自动往返的控制过程只有一种顺序: S0S20S21S22S23S24S0,没有其他可能,所以叫单流程。,单流程状态转移图的编程,由步进梯形图可用步进指令编制出语句表程序。步进指令由STL/RET指令组成。STL指令称为步进触点指令,用于步进触点的编程;RET指令称为步进返回指令,用于步进结束时返回原母线。,单流程状态转移图的编程,第四
14、步:编制语句表,由步进梯形图编制语句表的要点是:(1) 对STL触点要用STL指令,而不能用LD指令。不相邻的状态转移用OUT指令,例如从S24转移到S25。,(2) 与STL触点直接连接的线圈用OUT/SET指令。对于通过触点连接的线圈,应在触点开始处使用LD/LDI指令。,单流程状态转移图的编程,1可选择的分支与汇合从多个流程程序中,选择执行哪一个流程称为选择性分支。 下图是可选择的分支与汇合的状态转移图和梯形图。,选择性分支与汇合的编程,选择性分支与汇合的编程,选择分支和汇合的编程原则是:先集中处理分支状态,然后再集中处理汇合状态。,选择性分支与汇合的编程,分支选择条件X1和X4不能同时
15、接通。程序运行到状态器S21时,根据X1和X4的状态决定执行哪一条分支。当状态器S22或S24接通时,S21自动复位。状态器S26由S23或S25 置位,同时,前一状态器S23或S25自动复位。与图对应的语句表如下:,STL S22 OUT Y2 LD X2 SET S23 LD X23 SET S3 LD X3,LD X5 SET S25 STL S25 OUT Y5 LD X6 SET S26 LD S26 SET Y6,STL S21 OUT Y1 LD X1 SET S22 LD X4 SET S24,SET S26 STL S24 OUT Y4,选择性分支与汇合的编程,并行分支与汇合
16、的编程,并行分支的编程原则是先集中进行并行分支处理,再集中进行汇合处理。,并行分支与汇合的编程,当转换条件X1接通时,由状态器S21分两路同时进入状态器S22和S24,以后系统的两个分支并行工作,图中水平双线强调的是并行工作,实际上与一般状态编程一样,先进行驱动处理,然后进行转换处理,从左到右依次进行。,STL S21 OUT Y1 LD X1 SET S22 SET S24 STL S22 OUT Y2 LD X2 SET S23 STL S23 OUT Y3 STL S24 OUT Y4,并行分支与汇合的编程,LD X3 SET S25 STL S 25 OUT Y5 STL S23 ST
17、L S25 LD X4 SET S26 STL S26 OUT Y6,在并进分支与汇合点处不允许符号*或符号 的转移条件,应按右图修改。,1 交通信号灯控制,编程实例,编程实例,(1)控制要求信号灯的动作受开关总体控制,按一下启动按钮,信号灯系统开始工作,并周而复始地循环动作;按一下停止按钮,所有信号灯都熄灭。信号灯控制时序要求如表所示。,(2)系统配置 根据信号控制要求,I/O分配及其接线如图所示:图中用一个输出点驱动两个信号灯。如果PLC输出点的输出电流不够,可以用一个输出点驱动一个信号灯。也可以在PLC输出端增设中间继电器,由中间继器再去驱动信号灯。,编程实例,可编程控制器 I/O接线图
18、,(3)时序图十字路口交通信号灯控制的时序图,(4) 程序设计1) 按单流程编程 如果把东西方向和南北方向信号灯的动作视为一个顺序动作过程,其中每一个时序同时有两个输出,一个输出控制东西方向的信号灯,另一个输出控制南北方向的信号灯,这样就可以按单流程进行编程,其状态转移图如图所示,对应的步进梯形图如图所示。,编程实例,按下启动按钮SB1,X0接通,S0置位,转入初始状态,由于Y0、M0条件满足,状态使S20置位,转入第一工步,同时T0开始计时,经25 s后,S21置位,S20复位,转入第二工步当状态转移到S25时,程序又重新从第一工步开始循环。,编程实例,按单流程编程的步进梯形图,按停止按钮S
19、B3,X2接通,M0使接通并自保,断开S0后的循环流程,当程序执行完后面的流程后停止在初始状态,即南北红灯亮,禁止通行;东西绿灯亮,允许通行。,编程实例,T6、T7组成的是0.5 s的振荡电路,该电路的作用是控制绿灯闪烁,其中T1和T4是控制闪烁的时间。,2) 按双流程编程 东西方向和南北方向信号灯的动作过程也可以看成是两个独立的顺序动作过程。其状态转移图如图所示。它具有两条状态转移支路,其结构为并联分支与汇合。按启动按钮SB1,信号系统开始运行,并反复循环。,编程实例,2 物料自动混合控制(1) 控制要求1) 初始状态容器是空的,电磁阀F1、F2、F3和F4,搅拌电动机M,液面传感器L1、L
20、2和L3,加热器H和温度传感器T均为OFF。,编程实例,2) 物料自动混合控制物料自动混合装置如图所示。按下启动按钮,开始下列操作:(1) 电磁阀F1开启,开始注入物料A,至高度L2(此时L2、L3 为ON)时,关闭阀F1,同时开启电磁阀F2,注入物料B,当液面上升至L1时,关闭阀F2。(2) 停止物料B注入后,启动搅拌电动机M,使A、B两种物料混合10 s。 (3) 10 s后停止搅拌,开启电磁阀F4,放出混合物料,当液面高度降至L3后,再经5 s关闭阀F4。,编程实例,3) 停止操作 按下停止按钮,在当前过程完成以后,再停止操作,回到初始状态。,编程实例,PLC I/O配置及接线,编程实例
21、,(2)用步进指令编程 物料自动混合过程,实际上是一个按一定顺序操作的控制过程。因此,也可以用步进指令编程,其状态转移图如图所示。,编程实例,例: 有一小车运行过程如图所示。小车原位在后退终端,当小车压下后限位开关SQ1时,按下启动按钮SB,小车前进,当运行至料斗下方时,前限位开关SQ2动作,此时打开料斗给小车加料,延时8 s后半闭料斗,小车后退返回,SQ1动作时,打开小车底门卸料,6 s后结束,完成一次动作。如此循环下去。请用状态编程思想设计其状态转移图。,例:有红、绿、黄彩灯控制系统,控制要求为:合上开关,红灯亮10S后有红、绿、黄彩灯控制系统,控制要求为:合上开关,红灯亮10S后熄灭同时绿灯亮,15S后绿灯熄灭同时黄灯亮,20S后黄灯熄灭,此后不断循环直到停止。,例:应用步进指令设计一套三彩灯自动闪烁控制系统,要求画出状态转移图及梯形图。 控制要求如下: (1)启动第一盏灯(HL1)亮,1S后第二盏灯(HL2)亮(HL1灭),3S后第三盏灯(HL3)亮(HL2灭),5S后三盏灯一起亮,2S后循环。 (2)停止完成当前循环后停止。,