状态转移图及编程方法
- 格式:doc
- 大小:382.00 KB
- 文档页数:21
可编程控制器应用技术实验报告专业:班级:学号:姓名:日期:实训课题一分支状态转移图的编程与调试训练一、实训的目的(1)掌握分支流程状态转移图的编程原则和编程方法(2)掌握状态转移程序调试的手段。
(3)掌握顺序控制程序的设计方法。
二、实训内容某控制系统有六台电动机M1~M6,分别受Y1~Y6控制,其控制要求如下:按下启动按钮SBl,M1启动,延时5s后M2启功,M2启动延时5s后M3启动;M4与M1同时启动,M4启动延时10s后M5启动,M5启动延时10s后M6启动。
按下停车按钮SB2,M4、M5、M6同时停车;M4、M5、M6停车后,再延时5s,M1、M2、M3同时停车。
三、实训步骤1)理解控制过程,分配I/O端口;2)编制状态转移图;3)编制控制梯形图程序,体会选择性分支编程的原则和方法。
4)将程序写入PLC,调试运行,观察运行结果,判断其正确性。
四、实验结果1.I/O分配表2,步进梯形图I/O分配表输入输出启动按钮SB1 x01 电动机M1 Y1 停止按钮SB2 x02 电动机M2 Y2电动机M3 Y3电动机M4 Y4电动机M5 Y5电动机M6 Y63.状态梯形图实训课题二彩灯控制程序设计一、实训的目的(1)掌握计数器、定时器的使用方法;(2)掌握程序选择执行的编程方法;(3)掌握顺序控制程序的设计方法。
二、实训内容及指导有六个彩灯,可以实现不同的点亮方式。
控制要求:按第一下按钮SB1,灯1~6顺次点亮1 s,全灭2 s,然后全点亮;按第二下按钮SB1,灯全灭2 s,然后6~1顺次点亮2 s,,然后全点亮,重复;能重复运行。
三、实训步骤1)理解控制过程,分配I/O端口;2)分配好定时器、计数器;3)编制控制梯形图程序,体会顺序控制编程的原则和方法。
4)将程序写入PLC,调试运行,观察运行结果,判断其正确性。
提示:用计数器记录按钮按下次数;把按钮接通信号转化为脉冲信号。
四、实训结果:1:I/O分配表输入输出控制按钮SB1 x01 彩灯1 Y1控制按钮SB2 x02 彩灯2 Y2彩灯3 Y3彩灯4 Y4彩灯5 Y5彩灯6 Y62:SB1按下用到的定时器T0、T1、T2、T3、T4、T5、T6等SB2按下用到的定时器T7、T8、T9、T10、T11、T12、T13等SB1按下用到的计数器C0 SB2按下用到的计数器C1 3:梯形图实训课题三检瓶控制一、实训目的:1.熟悉PLC编程原理及方法2.了解检瓶工艺和控制方法3.了解传感器原理及使用方法二、实训内容使用PLC数字量输入、输出控制检瓶实验。
单流程状态转移图的编程1、什么是流程所谓单流程,是指状态转移只可能有一种顺序。
上个模块介绍的台车自动往返的控制过程只有一种顺序:S0→S20→S21→S22→S23→S24→S0,没有其他可能,所以叫单流程。
当然,现实当中并非所有的顺序控制均为一种顺序。
含多种路径的叫分支流程。
本模块即为并联分支流程。
2、单流程状态转移图的编程方法a 状态转移图的编程方法(1)状态的三要素对状态转移图进行编程,不仅是使用STL,RET指令的问题,还要搞清楚状态的特性及要素。
状态转移图中的状态有驱动负载、指定转移目标和指定转移条件三个要素。
其中指定转移目标和指定转移条件是必不可少,而驱动负载则视具体情况,也可能不进行实际的负载驱动。
图5及图6说明了状态转移图和梯形图的对应关系。
其中Y5为其驱动的负载,S21为其转移目标,X3为其转移条件。
图5状态转移图SFC图6状态梯形图STL(2)状态转移图的编程方法步进顺控的编程原则为:先进行负载驱动处理,然后进行状态转移处理。
图5的程序如下:STL S20使用STL指令OUT Y5进行负载驱动处理LD X3转移条件SET X21进行转移处理从程序可看到,负载驱动及转移处理,首先要使用STL指令,这样保证负载驱动和状态转均是在自母线上进行。
状态的转移使用SET指令,但若为向上缓役、向相连的下游转移或向其他流程转移,称为顺序不连续转移,非连续转移不能使用SET指令,而用OUT指令。
如图7所示。
b 状态的开启与关闭及状态转移图执行的特点STL指令的含意是提供一个步进接点,其对应状态的三个要素均在步进接点之后的子母线上实现。
若对应的状态是开启的(即“激活”),则状态的负载驱动和转移才有可能。
若对应状态是关闭的,则负载驱动和状态转移就不可能发生。
因此,除初始状态外,其他所有状态只有在其前一个状态处于激活切转移条件成立时才能开启。
同时一旦下一个状态被“激活”,上一个状态会自动关闭。
从PLC程序的循环扫描执行原理出发,在状态编程程序段落中,所谓“激活”可以理解为该段程序被扫描执行。
第6章状态转移图及编程方法教学目的及要求:通过教学,使学生明确状态的功能和状态转移图所表示的顺序控制过程,熟练掌握选择性分支与汇合、并行性分支与汇合的应用,掌握顺控系统设计的方法和技能。
教学方式:理论讲解、例题讲解。
演示操作:利用FX2N-64MR PLC实现对自动送料小车的控制。
重点难点:掌握单流程状态图的编程、选择性及并行性分支与汇合的编程。
问题的提出:状态转移图是使用什么语言编程,它与梯形图语言有什么区别。
6.1 状态转移图及状态的功能6.1.1 状态转移图用梯形图或指令表方式编程固然广为电气技术人员接受,但对于一个复杂的控制系统,尤其是顺序控制系统,由于内部的联锁、互动关系极其复杂,其梯形图往往长达数百行。
另外,在梯形图上如果不加注释,这种梯形图的可读性也会大大降低。
为了解决这个问题,近年来,许多新生产的PLC在梯形图语言之外加上了符合IEC1131—3标准的SFC(Sequential Function Chart)语言,用于编制复杂的顺控程序。
IEC1131—3中定义的SFC语言是一种通用的流程图语言。
三菱的小型PLC在基本逻辑指令之外增加了两条简单的步进顺控指令(STL,意为Step Ladder;RET,意为返回),同时辅之以大量状态元件,就可以使用状态转移图方式编程。
称为“状态”的软元件是构成状态转移图的基本元素。
FX2N共有1000个状态元件,其分类、编号、数量及用途如表6-1所示。
表6-1 FX2N的状态元件a状态的编号必须在指定范围选择。
b各状态元件的触点,在PLC内部可自由使用,次数不限。
c在不用步进顺控指令时,状态元件可作为辅助继电器在程序中使用。
d通过参数设置,可改变一般状态元件和掉电保持状态元件的地址分配。
6.1.2 FX2N系列PLC的步进顺控指令FX2N系列PLC的步进指令有两条:步进接点指令STL和步进返回指令RET。
1、STL:步进接点指令(梯形图符号为)STL指令的意义为激活某个状态。
第6章状态转移图及编程方法教学目的及要求:通过教学,使学生明确状态的功能和状态转移图所表示的顺序控制过程,熟练掌握选择性分支与汇合、并行性分支与汇合的应用,掌握顺控系统设计的方法和技能。
教学方式:理论讲解、例题讲解。
演示操作:利用FX2N-64MR PLC实现对自动送料小车的控制。
重点难点:掌握单流程状态图的编程、选择性及并行性分支与汇合的编程。
问题的提出:状态转移图是使用什么语言编程,它与梯形图语言有什么区别。
6.1 状态转移图及状态的功能6.1.1 状态转移图用梯形图或指令表方式编程固然广为电气技术人员接受,但对于一个复杂的控制系统,尤其是顺序控制系统,由于内部的联锁、互动关系极其复杂,其梯形图往往长达数百行。
另外,在梯形图上如果不加注释,这种梯形图的可读性也会大大降低。
为了解决这个问题,近年来,许多新生产的PLC在梯形图语言之外加上了符合IEC1131—3标准的SFC(Sequential Function Chart)语言,用于编制复杂的顺控程序。
IEC1131—3中定义的SFC语言是一种通用的流程图语言。
三菱的小型PLC在基本逻辑指令之外增加了两条简单的步进顺控指令(STL,意为Step Ladder;RET,意为返回),同时辅之以大量状态元件,就可以使用状态转移图方式编程。
称为“状态”的软元件是构成状态转移图的基本元素。
FX2N共有1000个状态元件,其分类、编号、数量及用途如表6-1所示。
表6-1 FX2N的状态元件类别元件编号个数用途及特点初始状态S0~S9 10 用作状态转移图的起始状态返回状态S10~S19 10 用IST指令时,用作返回原点的状态通用状态S20~S499 480 用作SFC的中间状态掉电保持状态S500~S899 400 具有停电保持功能,停电恢复后需继续执行的场合,可用这些状态元件信号报警状态S900~S999 100 用作故障诊断或报警元的状态a状态的编号必须在指定范围选择。
b各状态元件的触点,在PLC内部可自由使用,次数不限。
c在不用步进顺控指令时,状态元件可作为辅助继电器在程序中使用。
d通过参数设置,可改变一般状态元件和掉电保持状态元件的地址分配。
6.1.2 FX2N系列PLC的步进顺控指令FX2N系列PLC的步进指令有两条:步进接点指令STL和步进返回指令RET。
1、STL:步进接点指令(梯形图符号为)STL指令的意义为激活某个状态。
在梯形图上体现为从母线上引出的状态接点。
STL指令有建立子母线的功能,以使该状态的所有操作均在子母线上进行。
步进接点指令在梯形图中的情况见图6-2所示。
图6-2 步进接点指令STL的符号及含义2、步进返回指令(梯形图为)RET指令用于返回主母线。
使步进顺控程序执行完毕时,非状态程序的操作在主母线上完成,防止出现逻辑错误。
状态转移程序的结尾必须使用RET指令。
6.1.3 运用状态编程思想解决顺控问题的方法步骤为了说明状态编程思想,我们先看一个实例:某自动台车在启动前位于导轨的中部,如图6-3所示。
某一个工作周期的控制工艺要求如下:a 按下启动按钮SB,台车电机M正转,台车前进,碰到限位开关SQ1后,台车电机反转,台车后退。
b 台车后退碰到限位开关SQ2后,台车电机M停转,台车停车,停5s,第二次前进,碰到限位开关SQ3,再次后退。
c 当后退再次碰到限位开关SQ2时,台车停止。
图6-3 自动台车示意图为设计本控制系统的梯形图,先安排输入、输出口及机内器件。
台车由电机M驱动,正转(前进)由PLC的输出点Y1控制,反转(后退)由Y2控制。
为了解决延时5s,选用定时器T0。
将起动按钮SB及限位开关SQ1、SQ2、SQ3分别接于X0、X1、X2、X3。
下面我们以台车往返控制为例,说明运用状态编程思想设计状态转移图(SFC)的方法和步骤:1、将整个过程按任务要求分解,其中的每个工序均对应一个状态,并分配状态元件如下。
a 初始状态S0 d 延时5s S22b 前进S20 e 再前进S23c 后退S21 f 再后退S24注意:虽然S20与S23,S21与S24,功能相同,但它们是状态转移图中的不同工序,也就是不同状态,故编号也不同。
2、弄清每个状态的功能、作用。
S0 PLC上电作好工作准备S20 前进(输出Y1,驱动电动机M正转)S21 后退(输出Y2,驱动电动机M反转)S22 延时5s(定时器T0,设定为5s,延时到T0动作)S23 同S20S24 同S21各状态的功能是通过PLC驱动其各种负载来完成的。
负载可由状态元件直接驱动,也可由其他软元件触点的逻辑组合驱动,如图6-4。
(a)直接驱动(b)软元件组合驱动图6-4 负载的驱动3、找出每个状态的转移条件,即在什么条件将下将某个状态“激活”。
状态转移图就是状态和状态转移条件及转移方向构成的流程图,弄清转移条件当然是必要的。
经分析可知,本例中各状态的转移条件如下。
S20 转移条件SBS21 转移条件SQ1S22 转移条件SQ2S23 转移条件T0S24 转移条件SQ3状态的转移条件可以是单一的,也可以有多个元件的串、并联组合。
如图6-5所示。
(a)单一条件(b)转移的组合条件图6-5 状态的转移条件经过以上三步,可得到台车往返控制的顺序状态转移图如图6-6所示。
图6-6 台车自动往返系统状态转移流程图6.2 单流程状态转移图的编程6.2.1 什么是流程所谓单流程,是指状态转移只可能有一种顺序。
上个模块介绍的台车自动往返的控制过程只有一种顺序:S0→S20→S21→S22→S23→S24→S0,没有其他可能,所以叫单流程。
当然,现实当中并非所有的顺序控制均为一种顺序。
含多种路径的叫分支流程。
本模块即为并联分支流程。
6.2.2 单流程状态转移图的编程方法1状态转移图的编程方法a 状态的三要素:对状态转移图进行编程,不仅是使用STL,RET指令的问题,还要搞清楚状态的特性及要素。
状态转移图的三要素有负载驱动、指定转移方向和指定转移条件。
其中指定转移方向和指定转移条件是必不可少,而驱动负载则视具体情况,也可能不进行实际的负载驱动。
图6-7及图6-8说明了状态转移图和梯形图的对应关系。
其中Y5为其驱动的负载,S21为其转移目标,X3为其转移条件。
X2图6-7状态转移图SFC 图6-8状态梯形图STLb状态转移图的编程方法,步进顺控的编程原则为:先进行负载驱动处理,然后进行状态转移处理。
图6-6的程序如下:STL S20 使用STL指令OUT Y5 进行负载驱动处理LD X3 转移条件SET X21 进行转移处理从程序可看到,负载驱动及转移处理,首先要使用STL指令,这样保证负载驱动和状态转移均在子母线上进行。
状态的转移使用SET指令,但若为向上转移、向不相连的下游转移或向其他流程转移,称为顺序不连续转移,非连续转移不能使用SET指令,而用OUT指令。
如图6-9所示。
2状态的开启与关闭及状态转移图执行的特点STL指令的含意是提供一个步进接点,其对应状态的三个要素均在步进接点之后的子母线上实现。
若对应的状态是开启的(即“激活”),则状态的负载驱动和转移才有可能。
若对应状态是关闭的,则负载驱动和状态转移就不可能发生。
因此,除初始状态外,其他所有状态只有在其前一个状态处于激活且转移条件成立时才能开启。
同时一旦下一个状态被“激活”,上一个状态会自动关闭。
从PLC程序的循环扫描执行原理出发,在状态编程程序段落中,所谓“激活”可以理解为该段程序被扫描执行。
而“关闭”则可以理解为该段程序被扫描,却不执行。
这样,状态转移图的分析就变得条理十分清楚,无需考虑状态时间的繁杂联锁关系,可以理解为:“只干自己需要干的事,无需考虑其他”。
另外,这也方便程序的阅读理解,使程序的试运行、调试、故障检查与排除变得非常容易,这就是运用状态编程思想解决顺控问题的优点。
3编程要点及注意事项(a) (b) (c)图6-9 非连续转移状态转移图a状态编程顺序为:先进行驱动,再进行转移,不能颠倒。
b对状态处理,编程时必须使用步进接点指令STL。
c程序的最后必须使用步进返回指令RET,返回主母线。
d驱动负载使用OUT指令。
当同一负载需要连续多个状态驱动,可使用多重输出,也可使用SET 指令将负载置位,等到负载不需驱动时用RST指令将其复位。
在状态程序中,不同时“激活”的“双线圈”是允许的。
另外相邻状态使用的T、C元件,编号不能相同。
e负载的驱动、状态转移条件可能为多个元件的逻辑组合,视具体情况,按串、并联关系处理,不遗漏。
f若为顺序不连续转移,不能使用SET指令进行状态转移,应改用OUT指令进行状态转移。
g在STL与RET指令之间不能使用MC、MCR指令。
h初始状态可由其他状态驱动,但运行开始必须用其他方法预先作好驱动,否则状态流程不可能向下进行。
一般用系统的初始条件,若无初始条件,可用M8002(PLC从STOP→RUN切换时的初始脉冲)进行驱动。
需在停电恢复后继续原状态运行时,可使用S500→S899停电保持状态元件。
6.3 选择性分支与汇合的编程存在多种工作顺序的状态流程图为分支、汇合流程图。
分支流程可分为选择性分支和并行性分支两种。
下面介绍分支、汇合流程的编程。
6.3.1 选择性分支状态转移图的特点从多个流程顺序中选择执行一个流程,称为选择性分支。
图6-10就是一个选择性分支的状态转移图。
图6-10 选择性分支状移图1该状态转移图有三个流程图,见图6-11(a)、(b)、(c)所示。
2 S20为分支状态根据不同的条件(X0,X10,X20), 选择执行其中一个条件满足的流程。
X0为ON时执行图6-10(a),X10为ON时执行图6-10(b),X20为ON时执行图6-10(c)。
X0,X10,X20不能同时为ON。
3 S50为汇合状态,可由S22、S32、S42任一状态驱动。
(a) (b) (c)图6-11 图6-10 中分支流程分解图6.3.2 选择性分支、汇合的编程编程原则是先集中处理分支状态,然后再集中处理汇合状态。
1分支状态的编程编程方法是先进行分支状态的驱动处理,再依顺序进行转移处理。
图6-10的分支状态S20 见图 6 -12图6-12 图6-9 中S20 的分支状态按分支状态的编程方法,首先对S20进行驱动处理(OUT Y0),然后按S21、S31、S41的顺序进行转移处理。
程序如下:STL S20 LD X10OUT Y0 驱动处理SET S31 转移到第二分支状态LD X0 LD X20SET S20 转移到第一分支状态SET S41 转移到第三分支状态2汇合状态的编程编程方法是先进行汇合前状态的驱动处理,再依顺序进行向汇合状态的转移处理。
图6-10的汇合状态及汇合前状态,如图6-13所示。