wenliang
擡頭白雲悠悠,前竟一片黯愁……
级别: 家园常客
精华主题: 0
发帖数量: 717 个
工控威望: 910 点
下载积分: 43033 分
在线时间: 547(小时)
注册时间: 2014-04-04
最后登录: 2024-11-14
查看wenliang的 主题 / 回贴
楼主  发表于: 2019-08-02 11:15
请问各位老师一个分拣线的问题?我现在在做一条分拣线,分拣结构是由滚筒+气缸及光电组合、一条主线+有10个出货口,系统是由CCD+工业电脑+西门子1200PLC组成,现在动作大至原理是 CCD扫码识别发送相对应的出货口信息给PLC,PLC收到上位机的信息就开始执行子程序去跟踪当前这个产品位置等待产品到达对应位置再启动气缸推到出货口(具体跟踪是这样 做的:例如CCD给我发6号出货口时,我会从当前位置开始每走到一个光电位置我计数一次,直到我走到第6个光电位置时、我就判断到达我要的位置了),但是现在由于机构问题没办法做到两箱之间的距离是一样,由于两箱之间距离太近会造成程序误两箱误判,不知道各位老师 和大侠有什么好的提议?
wenliang
擡頭白雲悠悠,前竟一片黯愁……
级别: 家园常客
精华主题: 0
发帖数量: 717 个
工控威望: 910 点
下载积分: 43033 分
在线时间: 547(小时)
注册时间: 2014-04-04
最后登录: 2024-11-14
查看wenliang的 主题 / 回贴
1楼  发表于: 2019-08-02 17:25
首先 谢谢各位老师的指点!最近一直在网上查这方面的资料,刚好看到有一篇有写到类似做法,但是所讲的我还是不能理解,还请各位老师 帮我看看可行不可行?在此先行谢过了!
wenliang
擡頭白雲悠悠,前竟一片黯愁……
级别: 家园常客
精华主题: 0
发帖数量: 717 个
工控威望: 910 点
下载积分: 43033 分
在线时间: 547(小时)
注册时间: 2014-04-04
最后登录: 2024-11-14
查看wenliang的 主题 / 回贴
2楼  发表于: 2019-08-03 08:50
引用
引用第4楼seafar于2019-08-02 20:28发表的  :
一个箱子用3个寄存器D0D1D2第二个箱子就D2D3D4,用它20组也就是60个寄存器保险点,前面的箱子排掉就把他的寄存器清空,后面箱子又可以用。D0用来存CCD给的信号(1-10),D1用来计数,传感器感应一次加一,D2寄存器当位用作D1加1的条件。
打个比方,CCD检测到第一个箱子给D0赋值5,同时把D2.0置位,,前进感应到传感器一,D1加1,(记得加条件只有D2.0置位的情况下触发传感器一才能对D1加1),同时把D2.0复位(这样就不会后面箱子触发传感器D1再次加1啦),把D2.1置位;加条件D2.1置位的情况下触发传感器二才能对D1再次加1,同时把D2.1复位,D2.2置位。。。。。。。。就这样第三个传感器复位D2.2置位D2.3,D1=3啦。。。。。。。第四个传感器复位D2.3置位D2.4,D1=4啦。。。。。。第五个传感器复位D2.4,D1=D0=5啦,OK把箱子推出去,同时把D0D1D2都复位啊。第二个箱子D3D4D5跟在后面不会影响第一个箱子D0D1D2啦。。。。。



请问老师 你的这个说法有验证过吗,不知道这行可行否,因为有可能每次来的产品都是一个出货口,而且同时会有很多箱都会启动那几个光电(例如 :同时有5箱产品都是去5#出货口的,而且是一箱接着一箱来的),这样用上面的方法会不会有什么问题呢?
wenliang
擡頭白雲悠悠,前竟一片黯愁……
级别: 家园常客
精华主题: 0
发帖数量: 717 个
工控威望: 910 点
下载积分: 43033 分
在线时间: 547(小时)
注册时间: 2014-04-04
最后登录: 2024-11-14
查看wenliang的 主题 / 回贴
3楼  发表于: 2019-08-03 20:11
谢谢 各位老师的指导!我先按照上述的方法做个测试吧,要是有什么问题再向各位老师请教,真心感谢各位老师耐心的解答!
wenliang
擡頭白雲悠悠,前竟一片黯愁……
级别: 家园常客
精华主题: 0
发帖数量: 717 个
工控威望: 910 点
下载积分: 43033 分
在线时间: 547(小时)
注册时间: 2014-04-04
最后登录: 2024-11-14
查看wenliang的 主题 / 回贴
4楼  发表于: 2019-08-07 21:26
大师 机械已经全部做成同样的运行速度了,没办法拉开箱体的间距了,产品直接从生产车间用输送皮带传送到拍照位置,编码器计长也是没有办法实现的了,因为产线比较长都是分段做的、而且在进入拍照后面全全都是由滚筒传动的,一共有五段、每段上面有两组侧推机构。
  
wenliang
擡頭白雲悠悠,前竟一片黯愁……
级别: 家园常客
精华主题: 0
发帖数量: 717 个
工控威望: 910 点
下载积分: 43033 分
在线时间: 547(小时)
注册时间: 2014-04-04
最后登录: 2024-11-14
查看wenliang的 主题 / 回贴
5楼  发表于: 2019-08-08 21:24
设备已经定型了,现在改结构肯定是不可能的了,纸箱现在不会紧挨着一起来,中间还是有点距离的,现在正常的时候都正常,不正常的时候全部分错位置,所以这才是关键、主要是没有找到问题点在那,为什么会分错、、、
wenliang
擡頭白雲悠悠,前竟一片黯愁……
级别: 家园常客
精华主题: 0
发帖数量: 717 个
工控威望: 910 点
下载积分: 43033 分
在线时间: 547(小时)
注册时间: 2014-04-04
最后登录: 2024-11-14
查看wenliang的 主题 / 回贴
6楼  发表于: 2019-08-21 17:00
引用
引用第9楼苏碧湖砍柴人于2019-08-03 10:22发表的  :
楼主要是还不明白,可以私我,我可以一步一步教你

请问老师 :为什么要把D2.0常闭串联至D5.0,D.8.0,,,,置位条件中,D5.0常闭串联至D.8.0,,,,置位条件中,以此类推,这是什么原理呢,且这其中D5.0,D8.0不是其他组在使用的吗,如果是为了解决两个光电之间有两箱的情况第一箱没有推进去的时候(第一箱D2.0-D2.F没有复位)、那第二箱岂不是不计数了?
我按照老师给出的思路写了一段小程序,麻烦老师看一下我理解上面对不对,谢谢!
[ 此帖被wenliang在2019-08-21 17:26重新编辑 ]
wenliang
擡頭白雲悠悠,前竟一片黯愁……
级别: 家园常客
精华主题: 0
发帖数量: 717 个
工控威望: 910 点
下载积分: 43033 分
在线时间: 547(小时)
注册时间: 2014-04-04
最后登录: 2024-11-14
查看wenliang的 主题 / 回贴
7楼  发表于: 2019-08-21 17:08
引用
引用第4楼seafar于2019-08-02 20:28发表的  :
一个箱子用3个寄存器D0D1D2第二个箱子就D2D3D4,用它20组也就是60个寄存器保险点,前面的箱子排掉就把他的寄存器清空,后面箱子又可以用。D0用来存CCD给的信号(1-10),D1用来计数,传感器感应一次加一,D2寄存器当位用作D1加1的条件。
打个比方,CCD检测到第一个箱子给D0赋值5,同时把D2.0置位,,前进感应到传感器一,D1加1,(记得加条件只有D2.0置位的情况下触发传感器一才能对D1加1),同时把D2.0复位(这样就不会后面箱子触发传感器D1再次加1啦),把D2.1置位;加条件D2.1置位的情况下触发传感器二才能对D1再次加1,同时把D2.1复位,D2.2置位。。。。。。。。就这样第三个传感器复位D2.2置位D2.3,D1=3啦。。。。。。。第四个传感器复位D2.3置位D2.4,D1=4啦。。。。。。第五个传感器复位D2.4,D1=D0=5啦,OK把箱子推出去,同时把D0D1D2都复位啊。第二个箱子D3D4D5跟在后面不会影响第一个箱子D0D1D2啦。。。。。

老师 我按照你给的思路写了一小段程序,麻烦你给看看是否是你说的这样子的呢?
wenliang
擡頭白雲悠悠,前竟一片黯愁……
级别: 家园常客
精华主题: 0
发帖数量: 717 个
工控威望: 910 点
下载积分: 43033 分
在线时间: 547(小时)
注册时间: 2014-04-04
最后登录: 2024-11-14
查看wenliang的 主题 / 回贴
8楼  发表于: 2019-08-21 18:52
引用
引用第27楼苏碧湖砍柴人于2019-08-21 17:36发表的  :

就是说如果两个光电之间有多个箱子,前面的箱子过了当前的光电,后面的箱子才能计数,就是相互制约
你的编号不是1——5吗?D2.0-D2.F怎么会不复位?

此种方法只有在没有箱子挨着的情况下才行得通,因为箱子挨在一起光电根本区分不了

老师 您好!您的意思是不是第一个箱子还没有过X1时,第二个箱子是不可能过X1是吧,一定要先等第一个箱子过了X1计完数了,第二个箱子才能进到X1计数形成一个互锁对吧,另外要把所有光电信号换成上升沿有效就可以了吧?我改了一小段程序您帮忙看一下是这样的吗?程序中D2.0是去5#口、D5.0是去6#口。

  
[ 此帖被wenliang在2019-08-22 08:12重新编辑 ]