作者 | 主题 |
---|---|
昔日如诗 侠圣 经验值: 3578 发帖数: 735 精华帖: 3 |
楼主 2021-02-09 13:50:34
主题:如何用ROR指令实现生产线上挑除残次品(完整版) 假设要做一个插头,有5个插针。一个插头外壳从生产线上流过去,要经过5个工位。每个工位要插进一个插针,同时伴有一个检测装置。 如下图,是每步都合格的情景: 如果在某个工位插针插错了,案例中是第3个工位插错了,则如下图: 第2图中,第3个工位插错了,则第4工位和第5工位都不要插了,最后这个工件是扔进废料盒。 这里是分述两种情景。实际情况是,许多端子是相继着进入工位的,如下图。请注意,前面两幅图是一个端子在不同工位的情景,下图中的每个端子则是一个独立的端子。 图3中,第3个工位的插针插错了,而前面还有端子在接受插针的插入,后面也有。 于是,插错的端子进入到第4个工位,但是不再接受插针。而最前面的一个端子进入了合格装料盒 再下一步,插错的端子进入到第5个工位,前面还剩一个端子也进入了合格装料盒, 最后一步,插错的?子进入废料盒 设MB100这个寄存器做为ROR的操作地址。 给MB100赋值初始值255。255写成二进制就是1111 1111。用M100.0至M100.4这5个位去看管5个工位。 现在,M100.0至M100.4都置位为1。 最开始,M100.0至M100.4都等于1,于是每个工位都必须给端子外壳插进插针,最后把成品放进合格装料盒。 后来,第3个工位出现问题了,于是它对应的M100.2复位为0了。如下图
于是MB100就等于1111 1011了。前述的复位为0不是常开式的复位,而是触发式的。 请注意,5个工位的地址依次是M100.0, M100.1, M100.2, M100.3, M100.4,它们是固化了的。而只有数据在它们上面流淌。ROR的作用只是推着数据转圈,而不是推着地址转圈。此前,ROR推着1111 1111转圈,现在,推着1111 1011转圈。 于是,在生产流程中的程序中,从第3个进行到第4个工位的时候有个脉冲,这个脉冲激发ROR,ROR就推着数据转了一位,这个0就到下一个工位了。或者说,是1111 1011成了1110 111了。如下图: M100.3接到了0,自然不会给这个工件插针。 在生产流程中,从第4个工位进行到第5个工位时,也有一个脉冲,这个脉冲激发ROR,ROR就推着数据又转了一位,就是0被转到第5个工位了。如下图 第5个工位接到0,自然不会给工件插插针,并且会把它放进废料盒。 关于ROR推动数据转圈,而地址不动,请看下图。外圈是地址,是不动的;内圈是数据,是旋转的。本案例中,第三个工位的数值变成了0,则这个0就会逐级向后面的工位送,禁止相应工位对工件进行操作,直到最后将工件扔进废料盒: |
水煮花生 侠圣 经验值: 2027 发帖数: 218 精华帖: 3 |
1楼 2021-02-09 14:14:01
主题:回复:如何用ROR指令实现生产线上挑除残次品(完整版) 从描述上讲,感觉M100.0---M100.4 这五个点,相当于一个工作区(缓存区),每一个点代表一个工件当前的工艺状态,1表示前面的工艺处理正常,0表示异常,每前进一个工位,字节移动一位,标志相应的移动一位,工件移出工作区时,如果状态为0,按坏件处理,如果为1,按正常件处理。 图上看,似乎应该对应的是左移指令。 -- 个人浅见,请指点
多学长知识 多问长见识
|
锋言锋语 至圣 经验值: 23668 发帖数: 3376 精华帖: 52 |
2楼 2021-02-09 14:26:51
主题:回复:如何用ROR指令实现生产线上挑除残次品(完整版) 可以引申一下。 如果遇到需要针对不同的错误进行不同的处理的, 还需要更复杂一些。这时候用每个工位用一个bit就不够用了。 这时候就需要把bit扩充成一个数据包。逻辑还是一样的, 还是队列。 本质上这种问题还是队列, 区别是bit队列, 还是 data 队列。
不忘初心
|
工控行天下 奇侠 经验值: 5081 发帖数: 367 精华帖: 0 |
3楼 2021-02-14 20:36:16
主题:回复:如何用ROR指令实现生产线上挑除残次品(完整版) 路过,学习下。 |
hhl456 侠士 经验值: 1362 发帖数: 102 精华帖: 0 |
4楼 2021-02-15 07:37:08
主题:回复:如何用ROR指令实现生产线上挑除残次品(完整版) 收藏,学习一下。
西门子自动化
|
yangchunbaixue 侠圣 经验值: 3699 发帖数: 555 精华帖: 0 |
5楼 2021-02-15 08:46:04
主题:回复:如何用ROR指令实现生产线上挑除残次品(完整版)
分析的很不错,学习了!
|
yan21 侠士 经验值: 1869 发帖数: 134 精华帖: 0 |
6楼 2021-02-15 10:10:17
主题:回复:如何用ROR指令实现生产线上挑除残次品(完整版) 感谢分享,学习一下
追求完美,勇于尝试
|
asdf6 奇侠 经验值: 7575 发帖数: 888 精华帖: 12 |
7楼 2021-02-15 17:49:02
主题:回复:如何用ROR指令实现生产线上挑除残次品(完整版) 图画的不错,很形象,容易理解。 |
Rossi84 侠圣 经验值: 3904 发帖数: 370 精华帖: 1 |
8楼 2021-02-15 21:11:00
主题:回复:如何用ROR指令实现生产线上挑除残次品(完整版) 楼主分析的很透彻啊
无法改变之前,努力改变之后
|
Hery_Han 侠圣 经验值: 2842 发帖数: 223 精华帖: 1 |
9楼 2021-02-15 23:24:29
主题:回复:如何用ROR指令实现生产线上挑除残次品(完整版) 我们公司做这种转台类的设备,一般是用一个或几个int型变量做一个FIFO队列,不同的数值做不同的操作 |
holdkcsxyz 至圣 经验值: 13008 发帖数: 1814 精华帖: 22 |
11楼 2021-02-16 16:24:23
主题:回复:如何用ROR指令实现生产线上挑除残次品(完整版) 粗看每个实时流动物料应有以下几个信息:1:每个物料实时位置信息(目前所处位置1个元素) 2:每个物料实时插针信息(元素:1#固定工位是否需要插针;1#固定工位是否已经插针;1#固定工位插针成功与否;5个工位粗略算结构体有5*3=15个元素)3:每个物料实时选料信息(需要选入哪个料盒,是否已经选料完毕判断)4:每个实时物料是否正常流转不堵料等异常信息记录判断。 细想可能还要一些额外信息,因此可能需要ROR一个队列,队列每个元素是一个结构体。 |