技术论坛

 如何用ROR指令实现生产线上挑除残次品(完整版)

返回主题列表
作者 主题
昔日如诗
侠圣

经验值: 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一个队列,队列每个元素是一个结构体。

您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。