一个复杂的顺序控制程序 改进 ? 采用经验设计法编程的问题: 程序结构:网状 内部的 联锁关系 内部的 互动关系 编程 难度高 程序的可读性差 维修和 改进难 改进 ? 程序结构:网状
状态转移图及其编程方法 一、顺序控制 1、定义:顺序控制就是按照生产工艺预先规定的顺序,在各个输入信号的作用下,根据内部状态和时间的顺序,在生产过程中各个执行机构自动地有序地进行操作。 Step 1 2、顺序控制设计法: 将系统的一个工作周期划分为若干个顺序相连的阶段——“步”(Step) 每一个Step之间相互独立 Step 2 Step 3
二、SFC(Sequential Function Chart) 的结构 1、将系统的一个工作周期划分为若干个顺序Step) 2、状态元件S来代表各步(故又把“步”称作“状态”) 3、状态转移图:将代表各步的方框按它们的先后顺序排列表示。 X1 Y0 S 20 X2 S 21 Y1 X3 S 22 Y2
二、SFC(Sequential Function Chart) 的结构 转移条件 驱动 X1 转移方向 Y0 S 20 转移条件 X2 S 21 Y1 转移条件 驱动 X3 S 22 Y2 驱动
回顾:状态元件(S) 功能:与步进顺控指令STL组合使用 分类: 1.通用状态元件 1)无断电保持功能的通用状态元件 2)有断电保持功能的通用状态元件 S500~S899(共400点)。 2.报警器状态元件S900~S999 用作外部故障诊断输出
独立 ? STL 初态在最开始必须用其它方式驱动,使其处于工作状态 开机启动 初态 S 0 工作启动 S 20 S 21 循环 条件 M8002 S 0 工作启动 X0 Y0 S 20 X3 S 21 Y1 STL X6 循环 条件 S 22 Y2 X7
STL指令 置位指令 S20:ON S0:OFF 跳转 返回主 母线 M8002 S0 M8002 S22 X0 X3 X7 启动 Y0 Y1 Y2 S20 X6 S21 SET S0 S20:ON S0:OFF S0 X0 SET S20 S20 Y0 X3 SET S21 S21 Y1 X6 SET S22 S22 跳转 Y2 X7 SET S0 返回主 母线 RET END
SET S0 STL S0 新母线 LD M8002 SET S0 STL S0 LD X0 SET S20 STL S20 OUT Y0 RET END SET S0 S0 X0 SET S20 S20 Y0 X3 SET S21 S21 Y1 X6 SET S22 S22 Y2 X7 SET S0 RET END 返回主母线
采用符合IEC标准STL指令 总结: 顺序控制 改进措施 编程难度低,适于初学者 程序的可读性好,设计时间减少2/3 维修和 改进易
加入启 动条件 M8002 4.3 状态转移图的基本结构 S 0 X2 Y0 S 20 1.单流程 单流程由一系列相继激活的状态组成,每一状态的后面仅接有一个转移条件,每一个转移条件后面只有一个状态 X0 Y0 S 21 Y1 X3 S 22 Y1 X1 循环
如果某个状态的转移条件满足,在将该状态置0的同时,需要将若干个状态置1,即有几个状态同时工作。 2、并行分支与汇合: 如果某个状态的转移条件满足,在将该状态置0的同时,需要将若干个状态置1,即有几个状态同时工作。 S29 X30 X10 Y0 Y1 Y10 S20 · S21 S39 X11 Y2 Y11 S31 S49 X12 Y3 Y12 S41 S50
STL S20 OUT YO LD X0 SET S21 SET S31 SET S41 采用并行分支的编程方法。分支时与单流程的编程一样,先进行驱动处理,然后进行转移,转移的处理要由左至右依次进行。汇合前先对各状态的输出处理分别编程,然后由左至右进行汇合处理。 各分支处理 合并转移处理 转移处理 STL S29 OUT Y1O STL S29 STL S39 STL S49 LD X10 AND X11 AND X12 SET S50 STL S20 OUT YO LD X0 SET S21 SET S31 SET S41 STL S39 OUT Y11 STL S49 OUT Y12
举例:十字路口交通灯控制 3S 起动X5 南北绿灯Y0 南北黄灯Y1 南北红灯Y2 东西绿灯Y4 东西黄灯Y5 东西红灯Y6 10S 5S 十字路口交通灯工作波形
十字路口交通灯双流程梯形图(完整) M8002 X5 X6 S0 RST C0 启停控制 M10 RST C0 M10 M10 S20 Y0 东西红灯 南北绿灯 Y6 T4 K50 T4 K100 T0 T0 S31 东西绿灯 S21 Y4 T1 K5 T5 T2 T5 K50 T1 Y0 南北绿灯闪 S32 T6 K5 C0 S22 C0 K3 T7 T6 东西 绿灯闪 Y4 T2 K5 C0 C1 S33 C1 K3 T2 Y1 南北黄灯 S23 T7 K5 RST C0 C1 K5 东西黄灯 T3 K20 Y5 T7 南北红灯 K10 RST C1 S24 Y2 T8 K20 T8
3、选择性分支与汇合: 条件: 某个状态的转移条件超过一个就需要选择分支与汇合编程; 注意事项: 防止某个转移状态的几个转移条件同时为1的情况; 编程: 先进行驱动处理,然后设置转移条件,由左至右逐个编程。汇合时先进行汇合前状态的输出处理,然后由左至右进行汇合转移。
STL S20 OUT Y0 LD X0 SET S21 LD X1 SET S31 LD X2 SET S41 K11 S29 X0 X10 Y0 Y1 Y10 · K12 S39 X1 X11 Y2 Y11 S31 K3 S49 X2 X12 Y3 Y12 S41 S50 S20 S21 STL S29 LD X10 SET S50 STL S39 LD X11 SET S50 STL S49 LD X12 SET S50 …… STL S20 OUT Y0 LD X0 SET S21 LD X1 SET S31 LD X2 SET S41 STL S29 OUT Y1O 转 移 处 理 …… STL S39 OUT Y11 …… STL S49 OUT Y12
B A 手动程序 X4 M8002 S0 X12 S21 S22 S23 S24 Y0 启动 T0 K20 T1 零点位置 Y2 K10 下降 Y3 抓球 X3 X5 手动程序 Y7 X2 SET Y1 下限(小球) 右移 上升 上限 S25 S26 S27 T3 未达到下限(大球) 右限位(小球容器) 右限位(大球容器) A B
使用STL指令不必考虑内部的联锁、互动关系,实现了编程的有序化; 总结: 使用STL指令不必考虑内部的联锁、互动关系,实现了编程的有序化; 需灵活运用其单流程、多流程(并行分之与汇合、选择性分支与汇合)进行编程。 X3 S30 S31 S27 T2 K10 Y2 释放 X2 RST Y1 下限位 上升 B A Y0 下降 X1 T3 右移 左移限位 上限位
思考: 为什麽初态要用宽度为一个扫描周期的脉冲来设置进入 ? 作业: 4.2,4.3,4.4,4.5,4.7,4.9