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程序的循环扫描执行原理出发,在状态编程程序段落中,所谓“激活”可以理解为该段程序被扫描执行。而“关闭”则可以理解为该段程序被跳过,未能扫描执行。这样,状态转移图的分析就变得条理十分清楚,无需考虑状态时间的繁杂联锁关系,可以理解为:“只干自己需要干的事,无需考虑其他”。
另外,这也方便程序的阅读理解,使程序的试运行、调试、故障检查与排除变得非常容易,这就是运用状态编程思想解决顺控问题的优点。
c
编程要点及注意事项
图
7
非连续转移状态转移图
(1)
状态编程顺序为:先进行驱动,再进行转移,不能颠倒。
(2)
对状态处理,编程时必须使用步进接点指令STL。
(3)
程序的最后必须使用步进返回指令RET,返回主母线。
(4)
驱动负载使用OUT指令。当同一负载需要连续多个状态驱动,可使用多重输出,也可使用STL指令将负载置位,等到负载不需驱动时用RST指令将其复位。在状态程序中,不同时“激活”的“双线圈”是允许的。另外相邻状态使用的T、C元件,编号不能相同。
(5)
负载的驱动、状态转移条件可能为多个元件的逻辑组合,视具体情况,按串、并联关系处理,不遗漏。
(6)
若为顺序不连续转移,不能使用SET指令进行状态转移,应改用OUT指令进行状态转移。
(7)
在STL与RET指令之间不能使用MC、MCR指令。
(8)
初始状态可由其他状态驱动,但运行开始必须用其他方法预先作好驱动,否则状态流程不可能向下进行。一般用系统的初始条件,若无初始条件,可用M8002(PLC从STOP→RUN切换时的初始脉冲)进行驱动。
需在停电恢复后继续原状态运行时,可使用
S500→S899停电保持状态元件。