E-1.按钮信号
响应按钮输入,切换交通信号。


要求:
1) 红色信号灯 (Y0) 以一秒间隔闪烁(ON 1秒 后 OFF 1秒)。
2) 在操作面板上的按钮 (X10) 被按下后, 操作面板上的指示灯 (Y10) 点亮。
如果松开按钮 (X10) , 指示灯 (Y10) 保持点亮。
3) 在指示灯 (Y10) 点亮 5 秒以后,信号的显示将会象在 4) 到 7) 中描述的一样。
4) 首先,当指示灯 (Y10)点亮时, 红色信号灯 (Y0) 闪烁 5 秒。
5) 红色信号灯 (Y0) 关闭。黄色信号灯 (Y1) 点亮 5 秒。
6) 黄色信号灯 (Y1) 熄灭以后, 绿色信号灯 (Y2) 点亮 10 秒。
7) 绿色信号灯 (Y2) 关闭以后, 红色信号灯 (Y0) 以一秒间隔闪烁。 (ON 1秒 后 OFF 1秒)。
然后重复从 1) 开始的操作。

参考程序1:
参考程序2:

E-2.不同尺寸的部件分捡(II)
根据部件尺寸,将每个部件分配到相应的目的地。


要求:
1) 当操作面板上的 [SW1] (X24) 被置为 ON, 传送带前送。
当 [SW1] (X24) 被置为 OFF, 传送带停止。
2) 当按下操作面板上的 [PB1] (X20) 时, 供给指令 (Y0) 变为 ON。
当机器人从出发点移动后,供给指令(Y0) 变为 OFF。
(机器人将完成部件装载过程。)
3) 机器人补给大, 中或小部件。
4) 大部件被放到后部的传送带上(x5方向)而中或者小部件被放到前部 的传送带上(x4方向)。
在传送带上的部件大小被输入 上部 (X1), 中部 (X2) 和 下部 (X3) 检测出来。
注意
• 在此练习中我们编程的时候假设每次只有一个部件被放到传送带上。
• 要控制两个或者更多的部件我们还需要另一个程序。这个程序不在此练习范围内。

参考程序1:
这个程序只是看上去可以正常运行,但是下面四个方面有问题:
1. 网络3的做法不对,驱动y0没考虑机器人在运行中原点跳动的问题
2. 网络7中,推杆y5控制不稳定。
依靠Y0、X5常闭、X4常闭自保维持推杆伸出,属于无源自锁。
传送带持续运行震动、信号干扰导致触点瞬时断开,自锁直接崩溃,推杆复位。
3. 程序可读性、故障排查性差,缺少中间标志位
工业 PLC 规范:复杂流程尽量用中间继电器(M)分割逻辑,不把所有条件堆砌在一个梯级。
这个程序把分拣保持条件全部堆在一条梯级,后期调试很难定位是哪个传感器异常。
官方程序用 M0 分离供给逻辑,结构分层,符合工程标准。
4. 没有区分部件类型复位条件,分拣逻辑容错差
工艺规则:
大件(X1,X2,X3 同时接通):Y5 推杆伸出,导向 X5 通道
中 / 小件(X1 不接通):Y5 复位,走 X4 通道
你的程序:依靠 X4、X5 常闭触点复位自保。
极端工况:多个工件连续输送,前一个工件还没离开 X5,下一个工件已经进入检测区,前后工件信号冲突,分拣动作错乱。
官方程序直接依靠检测信号本身做 SET/RST,每个工件独立判断尺寸,不受工件位置限位信号约束,连续进料工况更加稳定。
参考程序2:
下面的是标准的官方程序。

E-3.部件移动
给机器人一个指令将部件移动到一个新的地点。


要求:
1) 操作者补给部件。
操作者确认指示灯 [供给许可] 点亮后补充一个部件到传送带上。
如果指示灯一直点亮, 操作者不断补充部件。
2) 当 PLC 处于 RUN 状态, 传送带保持正转。
3) 当操作面板上的 [PB1] (X20) 被按下,
供给指令 (Y0) 变为ON 而 [供给许可] 指示灯点亮。 操作者补给部件。
当按下 [PB1] (X20), 指示灯熄灭。
但是如果一个部件仍然在桌子上, 供给指令 (Y0) 将不会变为 ON
以至于指示灯 [供给许可] 不会点亮。
4) 当桌子上的 部件在桌子上 (X1) 变为 ON , 取出指令 (Y2) 被置为 ON。
当机器人操作完成 (X2) 变为 ON (当一个部件放在碟子上变为 ON),
取出指令 (Y2) 被置为 OFF。
只有机器人在出发点处时,取出指令(Y2) 才会被置为 ON。
上面的需求有些绕口,
勇哥来白话一下:
2) 一上电,拉带y1就转动
3) x20按下,供给许可的灯会亮,一松开就灭。
如果物料在桌子上,y0和许可灯都不会触发。
(如果物料在桌子上没取走,则你持续按x20也没用)
4) 当桌子上有物料(x1有信号)并且机器人当前在原点上(x0) 时,机器人取出指令y2执行,
当x2有信号时(机器人操作完成),y2断开。

参考程序1:
参考程序2:

E-4.钻孔
控制钻机和其它设备。

要求:
全体控制:
1) 操作面板上的 [PB1] (X20) 被按下以后,漏斗上的供给指令 (Y0) 变为ON。
当松开 [PB1] (X20) 以后, 供给指令(Y0) 变为OFF。
当供给指令 (Y0) 变为ON, 漏斗补给一个部件。
2) 当在操作面板上的 [SW1] (X24) 变为ON以后,传送带正转。
当 [SW1] (X24) 被变为OFF, 传送带停止。
钻洞控制:
1) 当转头中的 部件在钻机下 (X1) 的传感器被变为ON, 传送带停止。
2) 当开始钻孔 (Y2) 被置为ON, 钻洞开始。
开始钻孔 (Y2) 在钻孔 (X0)为ON时被置为OFF。
3) 当开始钻孔 (Y2) 被置为ON以后, 并且在钻机启动一个完整的周期后钻孔正常(X2)
或者 钻孔异常 (X3) 中的一个将被置为ON。
(钻机动作不能被中断。)
4) 在确认到 钻孔正常 (X2) 或者 钻孔异常 (X3) 之后, 机件被送到右边的碟子。
钻了多个洞以后, 钻孔异常 (X3) 被置为 ON. 在此练习中没有对应废料的特别控制。
注意:
• 在此练习中我们编程的时候假设每次只有一个部件被放到传送带上。
• 要控制两个或者更多的部件我们还需要另一个程序。这个程序不在此练习范围内。

参考程序1:
参考程序2:

E-5.部件供给控制
根据控制要求,供给指定数目的部件。

要求:
全体控制
1) 当操作面板上 [SW1] (X24) 被置为 ON, 传送带正转。
当 [SW1] (X24) 为OFF时,传送带停止。
2) 当操作面板上的 [PB1] (X20) 被按下时, 供给指令 (Y0) 为ON。
供给指令 (Y0) 在机器人从出发点开始移动时被置为OFF。
当 供给指令 (Y0) 变为ON后机器人补给箱子。
桔子控制
1) 当桔子进料器中的 箱子在输送带上(X1) 的传感器为 ON时, 传送带停止。
2) 5个桔子被放到箱子里。
内有5个桔子的箱子被送到右边的碟子上。
3) 当 供给桔子指令 (Y2)被置为ON以后桔子被补给,
当桔子已供给 (X2) 被置为ON以后补给计数开始。
注意:
• 在此练习中我们编程的时候假设每次只有一个部件被放到传送带上。
• 要控制两个或者更多的部件我们还需要另一个程序。
这个程序不在此练习范围内。

参考程序1:
参考程序2:

E-6.输送带控制
根据控制要求,控制输送带正转或者反转。


要求:
1) 当按下操作面板上的 [PB1] (X20) 后, 漏斗供给指令 (Y10) 被置为ON。
当松开 [PB1] (X20) 后, 供给指令 (Y10) 被置为 OFF。
当将 供给指令 (Y10) 置为ON以后, 漏斗补给一个部件。
2) 当按下操作面板上的 [PB2] (X21) 之后,
传送带将按照以下3)到 6)描述的顺序动作。
如果松开 [PB2] (X21) , 那么此动作将继续延续。
3) 传送带在输送带正转 (Y11)被置为ON起开始动作而在
部件的右限 (X11) 被置为ON时停止。
4) 如果输送带反转 (Y12) 被置为ON的话,
那么传送带到左限 (X10)被置为ON为止将会逆转。
5) 在左面的暂停点的部件停止 5 秒。
6) 5 秒以后, 输送带正转 (Y11) 被置为 ON ,传送带开始移动,
直到停止传感器 (X12) 被置为ON为止。

参考程序1:
参考程序2:
