机电控制与PLC7.ppt
第四章步进指令及状态编程,状态编程的基础知识步进顺序控制的流程结构步进顺序控制的程序设计及应用小结,第四章步进指令及状态编程,步进指令编程的基础知识,状态编程法,如果一个控制系统可以分解成几个独立的控制动作,且这些动作严格按照一定的先后次序执行才能保证生产过程的正常运行,这样的控制系统称为顺序控制系统,也称为步进控制系统。,状态编程法是将顺序控制系统中复杂的控制过程分解为若干个工作状态,每个工作状态对应一定的执行动作,最后按照总的控制顺序将这些工作状态联系起来,实现一种按照状态转移或变换的程序设计方法。,第四章步进指令及状态编程,能够把复杂的控制过程转化为按顺序(状态)逐步完成。在基本指令的基础上增加了两条步进顺控指令,STL、RET,配合使用的是状态元件(S)。,将控制过程分为不同的状态,在一个状态下,要完成一个或几个操作,当满足状态转移条件时,就跳转到下一个工作状态,执行下面的不同操作。,1.特点,2.处理方法,第四章步进指令及状态编程,3.基本概念,步进指令状态三要素状态元件状态转移图状态梯形图指令表,STL、RET,,驱动负载、转移条件、转移目标,S(FX2N共有S0S999),第四章步进指令及状态编程,A.步进指令,,,,Y0,RET,,Si,STL步进接点指令,RET步进返回指令,0STLSi1OUTY0,,第四章步进指令及状态编程,步进指令的使用说明1)STL触点是与左侧母线相连的常开触点,某STL触点接通,则对应的状态为活动步;2)与STL触点相连的触点应用LD或LDI指令,只有执行完RET后才返回左侧母线;3)STL触点可直接驱动或通过别的触点驱动Y、M、S、T等元件的线圈;4)由于PLC只执行活动步对应的电路块,所以使用STL指令时允许双线圈输出(顺控程序在不同的步可多次驱动同一线圈);5)STL触点起到总控的作用,STL触点驱动的电路块中不能使用MC和MCR指令,但可以用CJ指令;6在中断程序和子程序内,不能使用STL指令。,第四章步进指令及状态编程,,,,Y1,,,S23,Y2,Y3,X1,,,,,,Y1,,,S23,Y3,Y2,X1,,,,,7)在STL指令的内母线上连接触点使用LD或LDI指令时,请将没有连接触点的支路放在前,有触点的支路放在后面。,“先驱动再转移”,第四章步进指令及状态编程,Y001,Y002,,,8)状态内实现的互锁,S21,S22,,,X1,,Y002,Y001,,,,,,第四章步进指令及状态编程,B.状态三要素,S21,S22,,,,,Y0,,X1,转换目标,转换条件,驱动负载,转换目标,转换条件,驱动负载,,,,Y0,X1,,,SETS22,,,S21,第四章步进指令及状态编程,C.状态元件,状态元件有五种类型(1)初始状态S0~S9共10点;(2)回零状态S10~S19共10点(与状态初始化指令IST配合使用);(3)通用状态器S20~S499共480点;(4)具有状态断电保持的状态器有S500~S899,共400点;(5)供报警用的状态器(可用作外部故障诊断输出)S900~S999共100点。在使用状态时应注意1)状态与辅助继电器一样有无数的常开和常闭触点;2)状态不与步进顺控指令STL配合使用时,可作为辅助继电器M使用;,第四章步进指令及状态编程,D.状态转移图,将复杂的控制过程分解为若干个工作状态,每个工作状态对应一定的执行动作,据总的控制顺序将这些工作状态联系起来,就构成了状态转移图,状态转移图也叫顺序功能图(SFC,SequentialFunctionChart),S21,S22,,,,,Y0,,X1,S0,,X0,Y1,,初始状态、一系列一般状态转移线、转移条件和驱动负载组成,第四章步进指令及状态编程,E.状态梯形图,状态梯形图(STL图)是用继电器元件)表示控制流程的程序,状态转移图是以机械控制的流程表示状态(工序)的流程,,指令表程序,,第四章步进指令及状态编程,状态编程法步骤,状态梯形图设计,状态或步的划分,指令表程序,,转移条件的确定,状态转移图设计,,,,第四章步进指令及状态编程,F.编程实例,(1)控制要求台车启动后前进,碰到限位开关SQ1后,台车后退,后退碰到限位开关SQ2后,停车5s后,第二次前进,碰到限位开关SQ3,再次后退当后退再次碰到限位开关SQ2时,停车。,第四章步进指令及状态编程,台车自动往返一个工作周期控制过程1)按下启动按钮SB,台车前进(电机M正转),碰到限位开关SQ1后,台车后退(电机M反转);2)后退碰到限位开关SQ2后,停车(电机M停转),停车5s后,第二次前进,碰到限位开关SQ3,再次后退;3当后退再次碰到限位开关SQ2时,停车。,时序图,第四章步进指令及状态编程,(2)状态划分、转移条件、驱动负载,,,,,,,,,,,,工序,分配的状态元件,功能与作用,转移条件,0初始状态,1第一次前进,S0,S20,2第一次后退,3暂停5S,4第二次前进,5第二次后退,S21,S22,S23,S24,PLC上电做好准备工作,驱动输出线圈Y021,M正转,驱动输出线圈Y023,M反转,驱动定时器T0延时5S,驱动输出线圈Y021,M正转,驱动输出线圈Y023,M反转,M8002,X013(SQ3),X000SB,X011SQ1,X012SQ2,T0,第四章步进指令及状态编程,(3)状态转移图,第四章步进指令及状态编程,(4)状态梯形图及指令程序,第四章步进指令及状态编程,3.SFC图编程,A.注意事项,(1)用状态法编程时,每个状态接入用STL步进接点指令,程序最后用RET指令返回主母线。(2)初始状态用S0S9,并用双框表示,中间状态用S20S899,用单框表示。(3)状态编程顺序为先进行驱动,再进行转移,不能颠倒。,第四章步进指令及状态编程,(4)同一负载需要连续多个状态驱动时,可以用多重输出(不同时“激活”的“双线圈”输出在状态程序中是允许的)。,第四章步进指令及状态编程,(5)相邻状态使用的T、C元件,编号不能相同。,第四章步进指令及状态编程,(6)软元件组合驱动负载的驱动、状态转移条件可以为多个元件的逻辑组合。,第四章步进指令及状态编程,(7)用OUT指令转移状态顺序状态转移用置位SET,若顺序不连续转移,可以用OUT指令。,第四章步进指令及状态编程,(8)初始状态驱动初始状态可以用其他状态驱动,但开始运行时必须做好驱动,否则状态流程不可能向下进行。用系统初始条件或M8002,,,,S0,,,,SET,S20,X010,,,,,SET,S0,M8002,第四章步进指令及状态编程,B.编程规则,(1)顺序不连续转移,向上转移(重复)如从S25直接转移至S20向下转移,但序号不相连如S20直接转移至S25向其他流程转移(跳转)如从S30开始的一段流程的S31状态转移至S40所在某段流程的S42状态,注顺序不连续转移的状态不能用SET指令,要用OUT指令,并在SFC图中用“”表示转移目标,,第四章步进指令及状态编程,第四章步进指令及状态编程,(2)状态自复位,,,第四章步进指令及状态编程,(3)复杂转移条件,转移条件不能用ANB、ORB、MPS、MRD、MPP,,第四章步进指令及状态编程,(4)交叉流程,状态转移图中的流程不能交叉,,第四章步进指令及状态编程,(5)状态区间复位,成批复位一个区间的状态用ZRST指令,注M8000,M8002,M8040,M8046,M8047,思考题,状态法编程中状态三要素是什么,2.请用流程图表示状态法编程的过程,