机器与动作顺序
DataLog-1 是一台按颜色分拣小球的机器。小球从料罐经提升管送上料架,左右两条料架各排一队;两只取放手臂交替把球从料架取下,按颜色放进转盘上的六根管子;一根管子满 6 个球,机器停下,把这根管子倒到滚道上,球滚进对应的收集仓。
下面的编号与机器页面上的部件编号一致。
部件
| 编号 | 部件 | 作用 | 对应的日志列 |
|---|---|---|---|
| 1 | 控制面板 | 开关、急停、复位,位于光幕之外 | Running |
| 2 | 压缩空气接口 | 为气缸和真空供气,在此测量气压 | Air_Pressure |
| 3 | 光幕 | 有手伸进机器时被遮断 | Light_Curtain |
| 4 | 步进电机 | 转动承载六根管子的转盘 | Command_Stepper、Status_Stepper、Position_Stepper |
| 5 | 管子 | 转盘上六根,各收一种颜色 | T1 … T6、Full_Tube |
| 6、7 | 左、右取放手臂 | 各有三个气缸:小气缸伸向料架,大气缸伸向转盘,垂直气缸上下 | Sensors_Left、Sensors_Right |
| 8、9 | 左、右真空开关 | 吸盘吸住球时接通 | 同上 |
| 12 | 颜色传感器 | 在料架取球位下方,识别球的颜色 | Color_Left、Color_Right |
| 13 | 滚道 | 管子排出的球沿它滚向收集仓 | 无 |
| 14 | 收集仓 | 六个,一管一仓,每仓装 24 个,满了从底部清空 | 无 |
| 15 | 料罐 | 存放待分拣的球,满罐 96 个 | Tank_Level、Tank_Low |
| 16 | 真空提升管 | 一次吸起一个球,送上料架 | Feed_Ball |
一只手臂的一个周期
两只手臂动作相同,各自一个周期约 4 秒,彼此错开,保证不会同时落球。下表是左臂的一个周期,Sensors_Left 一列是每一步之后这一列的值。
| 步骤 | 动作 | Sensors_Left |
|---|---|---|
| 0 | 停在原位:大、小气缸缩回,垂直气缸在上,真空关 | 37 |
| 1 | 小气缸伸出,手臂移到料架上方 | 41 |
| 2 | 垂直气缸下降。颜色传感器在此时读出球的颜色 | 25 |
| 3 | 真空接通,吸住球 | 89 |
| 4 | 垂直气缸上升 | 105 |
| 5 | 小气缸缩回 | 101 |
| 6 | 大气缸伸出,手臂移到转盘上方 | 102 |
| 7 | 真空关闭,球落进颜色对应的管子,该管计数加 1 | 38 |
| 8 | 大气缸缩回,回到原位 | 37 |
气缸在两端之间移动时,两端的到位开关都不亮,所以每两步之间还会出现一些中间值,例如 33、9、73。转盘在手臂取到球之后开始转,把颜色对应的管子转到落球位置。
停机
机器会在两种情况下停止分拣:
- 满管停机:某根管子满 6 个球。两臂完成当前周期后停在原位,转盘把这根管子转到排料口,球逐个排出,排空后恢复分拣。如果同时有另一根管子也满了,会接着排。停机期间
Command_Stepper为 15。 - 缺料停机:两条料架都没有球可取。两臂停在原位等待,直到两侧颜色传感器都检测到球才恢复。料罐降到设定液位时
Tank_Low变为 1,呼叫操作员补料;操作员到场的时间不固定。
收集仓
管子排出的球经滚道上的挡板分流,进入对应的收集仓。收集仓不在日志里,所以球离开管子以后的去向,日志无法记录。