状态转移图及编程方法

状态转移图及编程方法
状态转移图及编程方法

第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指令的意义为激活某个状态。在梯形图上体现为从母线上引出的状态接点。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 S22

b 前进S20 e 再前进S23

c 后退S21 f 再后退S24

注意:虽然S20与S23,S21与S24,功能相同,但它们是状态转移图中的不同工序,也就是不同状态,故编号也不同。

2、弄清每个状态的功能、作用。

S0 PLC上电作好工作准备

S20 前进(输出Y1,驱动电动机M正转)

S21 后退(输出Y2,驱动电动机M反转)

S22 延时5s(定时器T0,设定为5s,延时到T0动作)

S23 同S20

S24 同S21

各状态的功能是通过PLC驱动其各种负载来完成的。负载可由状态元件直接驱动,也可由其他软元件触点的逻辑组合驱动,如图6-4。

(a)直接驱动(b)软元件组合驱动

图6-4 负载的驱动

3、找出每个状态的转移条件,即在什么条件将下将某个状态“激活”。状态转移图就是状态和状态转移条件及转移方向构成的流程图,弄清转移条件当然是必要的。

经分析可知,本例中各状态的转移条件如下。

S20 转移条件SB

S21 转移条件SQ1

S22 转移条件SQ2

S23 转移条件T0

S24 转移条件SQ3

状态的转移条件可以是单一的,也可以有多个元件的串、并联组合。如图6-5所示。

(a)单一条件(b)转移的组合条件

图6-5 状态的转移条件

经过以上三步,可得到台车往返控制的顺序状态转移图如图6-6所示。

X2

图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为其转移条件。

图6-7状态转移图SFC 图6-8状态梯形图STL

b状态转移图的编程方法,步进顺控的编程原则为:先进行负载驱动处理,然后进行状态转移处理。

图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 X10

OUT Y0 驱动处理SET S31 转移到第二分支状态

LD X0 LD X20

SET S20 转移到第一分支状态SET S41 转移到第三分支状态

2汇合状态的编程

编程方法是先进行汇合前状态的驱动处理,再依顺序进行向汇合状态的转移处理。

图6-10的汇合状态及汇合前状态,如图6-13所示。

图6-13 汇合状态S50

按照汇合状态的编程方法,依次将S21、S31、S32、S41、S42的输出进行处理,然后按顺序进行从S22(第一分支)、S32(第二分支)、S42(第三分支)向S50的转移。

分支后、汇合时的程序如下:

STL S21 第一分支汇合前的驱动处理STL S22 汇合前的驱动处理

OUT Y1 LD X2

LD X1 SET S50 由第一分支转移到汇合点

SET S22 STL S32

STL S22 LD X12

OUT Y2 SET S50 由第二分支转移到汇合点

STL S31 第二分支汇合前的驱动处理STL S42

OUT Y11 LD X22

LD X11 SET S50 由第三分支转移到汇合点

SET S32

STL S32

OUT Y12

STL S41 第三分支汇合前的驱动处理

OUT Y21

LD X21

SET S42

STL S42

OUT Y22

6.4 并行性分支与汇合的编程

6.4.1 并行分支状态转移图及其特点

多个流程分支可同时执行的分支流程称为并行性分支,如图6-14所示。它同样有三个顺序如图6-14所示。

图6-14 并行性分支流程结构

S20为分支状态,只不过其分支不是选择性的,也就是说一旦状态S20的转移条件X0为ON ,三个顺序流程同时执行,所以称之为并行分支。S50为汇合状态,等三个分支流程动作全部结束时,一旦X3为ON ,S50就开启。若其中一个分支没有执行完,S50就不可能开启,所以又叫做排队汇合。

6.4.2 并行性分支状态转移图的编程

编程原则是先集中进行并行性分支的转移处理,然后处理每条分支的内容,最后再集中进行汇合处理。

1 并行分支处理

编程方法是首先进行驱动处理,然后按顺序进行状态转移处理。以分支状态S20为例,如图6-16所示。S20的驱动负载为Y0,转移方向为S21、S31、S41。按照并行性分支编程方法,应先进行Y0的输出,然后依次进行到S21、S31、S41的转移。程序如下:

STL

S20

SET S21 向第一分支转移

OUT Y0 驱动处理 SET S31 向第一分支转移 LD

X0

SET S41 向第一分支转移

2 并行性分支汇合处理

图6-15 图6-14并行性分支流程分解图

(a )

(b )

(c )

图6-16 分支状态S2

编程方法是首先进行汇合前状态的驱动处理,然后按顺序进行汇合状态的转移处理。以汇合状态S50为例,如图6-17所示。

图6-17 汇合状态S50

按照并行汇合的编程方法,应先进行汇合前的输出处理,即按分支顺序对S21、S22、S23、S31、S32、S33、S41、S42、S43进行输出处理,然后依次进行从S23、S33、S43到S50的转移。程序如下:STL S21 STL S33

OUT Y1 OUT Y13

LD X1 STL S41

SET S22 OUT Y21

STL S22 LD X21

OUT Y2 SET S42

LD X2 STL S42

SET S23 OUT Y22

STL S23 LD X22

OUT Y3 SET S43

STL S31 STL S43

OUT Y11 OUT Y23

LD X11 STL S23

SET S32 STL S33

STL S32 STL S43

OUT Y12 LD X3

LD X12 SET S50

SET S33

3 选择性分支、并行性分支汇合编程应注意的问题

a选择性、并行分支的程序中,一个状态下最多只能有8条分支,一个程序中最多只能有16条分支。如图6-18所示。

b并行分支、汇合流程中,不允许有图6-19(a)的转移条件,若有需将其转化成图6-19(b)后方可编程。

图6-18 并行分支的汇合结构

(a)(b)

图6-19 并行分支、汇合状态转移图的转化

6.5 编程实例

6.5.1 十字路口交通灯的控制

问题的提出十字路口车辆穿梭,行人熙攘,车行车道,人行人道,有条不紊。那么靠什么来实现这井然秩序呢?靠的是交通信号灯的自动指挥系统。交通信号灯控制方式很多,本节模块介绍使用步进梯形图、状态转移的单流程方式实施编程。交通灯的控制要求如下:

a控制开关

信号灯受启动及停止按钮的控制,当按动启动按钮时,信号灯系统开始工作,并周而复始地循环工作,当按动停止按钮时,系统将停止在初始壮态,即南北红灯亮,禁止通行;东西绿灯亮,允许通行。

b 控制要求

1)南北红灯亮维持30 秒,在南北红灯亮的同时,东西绿灯也亮,并维持25 秒,到25 秒时,东西方向绿灯闪,闪亮 3 秒后,绿灯灭。在东西绿灯熄灭的同时,东西黄灯亮,并维持2 秒,到 2 秒时,东西黄灯灭,东西红灯亮。同时,南北红灯熄灭,南北绿灯亮。

2)东西红灯亮维持30 秒。南北绿灯亮维持25 秒,然后闪亮3 秒,再熄灭。同时南北方向黄灯亮,并维持 2 秒后熄灭,这时南北红灯亮,东西绿灯亮。

接下去周而复始,直到停止按钮被按下为止。

信号灯动作系统可用图6-20状态图表示。

图6-20 交通指挥信号灯状态图

硬件及接线

根据上述要求可见,系统所需红、绿、黄各 4 只信号灯,本案由两个信号灯箱实现;系统需要启动和停止两个按钮,由按钮箱实现。

可编程控制器的输入/ 输出端子分配及硬件连接分别由表6-2及图6-21 所示。其中SA 开关代表可编程控制器自身的运行开关。

表6-2 端子分配表

软件设计

在本节模块中,我们采用步进梯形指令单流程编程实现,其状态转移图如图6-22所示。由图可知,我们把东西和南北方向信号灯的动作视为一个顺序动作,每一个时序同时有两个输出,一个输出控制东西方向的信号灯,另一个输出控制南北方向的信号灯。

状态转移图对应的步进梯形图如图6-23所示,现简单分析一下工作原理。当启动按钮SB1按下时,X0接通,S0置1,系统进入S0状态,驱动Y6、Y0,使南北红灯及东西绿灯同时亮,Y0接通,状态转移条件满足,系统将转移到S20状态,在S20状态下,Y6、Y0仍被驱动,即南北方向的红灯及东西方向的绿灯继续亮,同时驱动定时器T0,定时器的设定时间为25秒,25秒后,状态转移到S21,在

S21状态下,Y6继续保持,但Y0受控于M1,而M1是由两个定时器T6和T7控制,T6、T7组成一个1秒的震荡器,即东西方向的绿灯闪亮。在本状态下,同时也驱动定时器T1,定时时间为3秒,3

秒时间到,状态转移到S22,在S22状态下,Y6仍然被驱动,南北方向红灯继续亮,同时驱动T2、Y1,东西方向的绿灯灭,Y1口驱动的是东西方向的黄灯,故东西方向的黄灯亮,绿灯停。T2的定时时间为2秒,2秒时间到,状态转移到S23,在S23状态下,同时驱动Y2、Y4及T3,东西方向的红灯亮,南北方向的绿灯亮,T3的定时时间为25秒,25秒时间到,状态转移到S24。在S24状态下,驱动Y2、T4,东西方向的红灯继续亮,而南北方向的绿灯驱动Y4受控于M1,M1是震荡周期为1秒的震荡器,故南北方向的绿灯闪亮。T4的定时时间是3秒,3秒后,状态转移到S25。在S25状态下,同时驱动

Y2、Y5及T5,即东西方向的红灯、南北的黄灯亮,T5定时器的定时时间为2秒,2秒时间到,定时器的定时时间到,T5的触点接通,状态又重新转移到S0。即南北方向的红灯、东西方向的绿灯亮,系统将重复上述的动作顺序,周而复始的继续工作。当停止按钮SB2被按下时,软继电器M0接通,其常闭触点M0断开,系统执行一周后,将停留在S0状态,及保持南北方向的红灯、东西方向的绿灯亮。

图 6-22 信号灯状态转移图

图6-23 信号灯步进梯形图

6.5.2 人行横道交通灯控制

问题的提出 在只需要纵向或横向行使的交通系统中,也需要考虑另一方向的人行道,在这种情况下,利用上述的十字路口交通灯控制系统显然不合适,那么必须考虑新的控制系统。交通情况如图所示,由图6-24可见,东西方向是车道,南北方向是人行道。正常情况下,车道上有车辆行驶,如果有行人

要过交通路口,先要按动按钮,等到绿灯亮时,方可通过,此时东西方向车道上红灯亮。延时一段时间后,南北方向的红灯亮,东西方向的绿灯亮。各段时间由图6-24所示。

图6-24 交通路口示意图图6-25 各段时间分配

硬件及接线

根据上述要求可见,系统所需车道(东西方向)红、绿、黄各 2 只信号灯,人行道(南北方向)红、绿各 2 只信号灯,南北方向各需一只按钮。本案除PLC 主机外,尚需配备两个信号灯箱和一个按钮箱。可编程控制器的输入/ 输出端子分配及硬件连接分别由表6-3及图6-26所示。其中SA 开关代表可编程控制器自身的运行开关。

图6-26 硬件接线图表6-3 输入/ 输出端口分配

系统软件设计

在本节模块中,我们采用步进梯形指令并联分支、汇合编程的方法来实现人行横信号灯的功能。其状态转移图如图6-27所示。由图可知,我们把车道(东西方向)信号灯的控制作为左面的并联分支,人行道(南北方向)信号灯的控制作为并联分支的右面支路,并联分支的转移条件是人行道南北两只按钮是或的关系,灯亮的长短利用定时器控制,人行道绿灯闪是利用子循环加记数器实现。

图6-27 人行道信号灯控制状态转移图

本状态转移图总体上讲为一个并行分支、汇合流程,只是在S33 处有一个选择性分支,在编程时应引起注意。

程序如表6-4所示。

表6-4 人行道信号灯控制程序清单

问题的提出在生产过程中,经常要对流水线上的产品进行分捡,图6-28是用于分捡小球大球的机械装置。工作顺序是向系下,抓住球,向上,向右运行,向下,释放,向上和向左运行至左上点(原点)抓球和释放球的时间均为 1 秒。

其动作顺序如下:

图6-28 大、小球分类选择传送装置示意图

左上为原点,机械臂下降(当碰铁压着的是大球时,限位开SQ 2 断开,而压着的是小球时SQ 2

接通,以此判断是大球还是小球)。

左、右移分别由Y4 、Y3 控制,上升、下降分别由Y2 、Y0 控制,将球吸住由Y1 控制。

输入/ 输出端口分配及硬件连接

由上图可见,系统的输入点分配是:X1 为左限位开关,X2 为下限位开关(小球动作、大球不

动作),X3 为上限位开关,X4 为释放小球的中间位置开关,X5 是释放大球的右限位开关,X0 为

系统的运行开关。系统的输出点分配是:Y0 是机械臂下降,Y2 是机械臂上升,Y1 是吸球口,Y3

是机械臂右移,Y4 是机械臂左移,Y5 是机械臂停在原点的指示灯。硬件连接如图6-29所示。

图6-29 分捡系统硬件连接图

系统软件设计

根据工艺要求,该控制流程可根据SQ2 的状态(即对应大、小球)有两个分支,此处应为分支点,且属于选择性分支。分支在机械臂下降之后根据SQ2 的通断,分别将球吸住、上升、右行到SQ4 或SQ5 处下降,此处应为汇合点。然后再释放、上升、左移到原点。其状态转移图如图6-30所示。

图6-30 大、小球分类选择传送状态转移图根据选择性分支汇合的编程方法,编制大、小球分类程序如下。

三菱PLC状态转移图详解知识讲解

一、状态编程思想引入 使用经验法及基本指令编制的程序存在以下一些问题 (1)工艺动作表达繁琐。 (2)梯形图涉及的连锁关系较复杂,处理起来较麻烦。 (3)梯形图可读性差,很难从梯形图看出具体控制工艺过程。 思考:寻求一种易于构思,易于理解的图形程序设计工具。它应有流程图的直观,又有利于复杂控制逻辑关系的分解与综合,这种图就是状态转移图。 引出:状态编辑思想即将一个复杂的控制过程分解为若干个工作状态,弄清各个状态的工作细节(状态的功能、转移条件和转移方向)在依据总的控制顺序要求将这些状态联系起来,形成状态转移图,进而编绘梯形程序,状态转移图是状态编辑的重要工具, 台车自动往返控制的流程图

台车自动往返控制的状态转移图 二、三菱FX2N系列plc的状态元件 三菱plc的状态元件即状态继电器,它是构成状态转移图的重要元件。 三、FX2N系列plc的步进顺控指令 PLC的步进指令有两条:步进节点指令STL和步进返回指令RET。 1、步进接点指令STL 从下图不难看出,转移图中的一个状态在梯形图中用一条步进接点指令表示。STL指令的意义为“激活”某个状态,在梯形图上体现为从主 母线上引出的状态接点,有建立子母线的功能,使该状态的所有操作均在子母线上进行。 其梯形图符号也可用空心绘出,以与普通常开触点区别。“激活” 的第二层意思是采用STL指令编辑的梯形图区间,只有被激活的程序段才被扫描执行,而且在状态转移图的一个单流程中,一次只有一个状态被激活,被激活的状态有自动关闭激活它的前个状态的能力。这样就形成了状态间的隔离,是编程者在考虑某个

状态的工作任务时,不必考虑状态间的连锁 状态转移图与状态梯形图对照 2.步进返回指令RET RET的意义用于返回主母线。梯形图符号为,使步进顺控程序执行完毕后,非状态程序的操作在主母线上完成,防止出现逻辑错误。状态转移程序的结尾必须使用RET指令。 四、运用程序编辑思想解决顺控问题的方法步骤 运用状态编辑思想设计状态转移图的方法和步骤: 步骤1:状态分解,分配状态元件 步骤2:标明状态的功能 步骤3:标明状态的转移条件 台车自动往返状态转移图 步骤1:状态分解,分配状态元件。即将整个过程按任务要求分解,其中的每个工序均对应一个状态,并分配状态元件。 每个工序(或称步)用一矩形方框表示,方框中用文字表示该工序的动作内容或用数字表示该工序的标号。与控制过程的初始状态相对应的步称为初始步,用双线框表示。方框之间用线段连接表示状态间的联系。 例如台车自动往返控制实例中:

状态转移图及编程方法

第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:步进接点指令(梯形图符号为)

三菱PLC状态转移图详解

一、 状态编程思想引入 使用经验法及基本指令编制的程序存在以下一些问题 梯形图可读性差,很难从梯形图看出具体控制工艺过程。 思考:寻求一种易于构思,易于理解的图形程序设计工具。它应有流程图的直观, 又有利于复杂控制逻辑关系的分解与综合,这种图就是状态转移图。 引出:状态编辑思想即将一个复杂的控制过程分解为若干个工作状态, 弄清各个 状态的工作细节(状态的功能、转移条件和转移方向)在依据总的控制顺序要求 将这些状态联系起来,形成状态转移图,进而编绘梯形程序,状态转移图是状态 编辑的重要工具, lo V 1 (1) 工艺动作表达繁琐。 (2) 梯形图涉及的连锁关系较复杂,处理起来较麻烦。 SB* -启动《前 逬、 4态功能' I 前述1 和动作 501- H&ig I#二 |— 502- -B 退俸 ear ¥2 动作 吟三I —— 【0上£时前进 工序 倆A ■后退 両五]— 匕怎离R 停 台车自动往返控制的流程图 (3) SB

台车自动往返控制的状态转移图 二、 三菱FX2N 系列pic 的状态元件 三菱pic 的状态元件即状态继电器,它是构成状态转移图的重要元件 三、 FX2N 系列pic 的步进顺控指令 PLC 的步进指令有两条:步进节点指令 STL 和步进返回指令RET 1步进接点指令STL 从下图不难看出,转移图中的一个状态在梯形图中用一条步进接点指令表 示。STL 指令的意义为“激活”某个状态 ,在梯形图上体现为从主 母线上引出的状态接点,有建立子母线的功能,使该状态的所有操作均在子 的第二层意思是采用 STL 指令编辑的梯形图区间,只有被激活的 程序段才被扫描执行,而且在状态转移图的一个单流程中, 一次只有一个状态被激活,被激活的状态有自动关闭激活它 的前个状态的能力。这样就形成了状态间的隔离,是编程者在考虑某个 状态的工作 任务时,不必考虑状态间的连锁 --M8002 SB-TCO [状态继削器〉 〔状态继啣器〉 (状态堆电器〉 [状态继电器> 〔状态筮电器> 审 | (2^ ) f 〈状态转移条件) 他"谁《态转榕条件: TO _ <[状态转移条用 零 「OUT 指? K60 <^OUT 4] ______________ <S ) Voirr 指司 驚|二 V 状态转移条件) S24 ----------------------------- 电J <0UT4&? 523 閃YW ” 也 i an^on. c 〔*tn 母线上进行。 其梯形图符号也可用空心绘出 以与普通常开触点区别 “激活”

[黑盒测试基本方法]状态迁移法

状态迁移法 一、概念 1.什么是状态迁移法 在定义状态迁移法之前,先介绍一下程序的功能说明。一个程序的功能说明通常由动态说明和静态说明组成。动态说明描述了输入数据的次序或转移的次序。静态说明描述了输入条件与输出条件之间的对应关系。对于较复杂的程序,由于存在大量的组合情况,因此,仅用静态说明组成的规格说明对于测试来说往往是不够的,必须用动态说明来补充功能说明。 功能图方法是用功能图形式化地表示程序的功能说明,并机械地生成功能图的测试用例。功能图模型由状态迁移图和逻辑功能模型构成: (1)状态迁移图用于表示输入数据序列以及相应的输出数据。用状态和迁移 来描述一个状态指出数据输入的位置(或时间),而迁移则指明状态的改 变,同时要依靠判定表或因果图表示的逻辑功能。在状态迁移图中,由 输入数据和当前状态决定输出数据和后续状态。 (2)逻辑功能模型用于表示在状态中输入条件和输出条件之间的对应关系。 逻辑功能模型只适合于描述静态说明,输出数据仅由输入数据决定。 (3)测试用例则是由测试中经过的一系列状态和在每个状态中必须依靠输入 /输出数据满足的一对条件组成。 如何从状态迁移图中选取用例?我们采用节点代替状态,弧线代替迁移,那么状态迁移图就转换成为一个程序的控制流程图,问题也就随之转换为路径测试的问题了。所以,功能图方法其实是是一种黑盒/白盒混合使用的用例设计方法。比如在功能图方法中,用到的逻辑覆盖与路径测试的概念和方法,就是属于白盒测试方法中的内容。(逻辑覆盖是以程序内部的逻辑结构为基础的测试用例设计方法,该方法要求测试人员对程序的逻辑结构有清楚的了解。由于覆盖测试的目标不同,逻辑覆盖可分为:语句覆盖,判定覆盖,判定-条件覆盖,条件组合覆盖及路径覆盖。) 注意:测试人员应当注意区分黑盒测试中系统功能或者系统水平上的逻辑覆

相关文档
最新文档