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个光电位置时、我就判断到达我要的位置了),但是现在由于机构问题没办法做到两箱之间的距离是一样,由于两箱之间距离太近会造成程序误两箱误判,不知道各位老师 和大侠有什么好的提议?
seafar
目前C#
级别: 家园常客
精华主题: 0
发帖数量: 619 个
工控威望: 764 点
下载积分: 1909 分
在线时间: 594(小时)
注册时间: 2018-03-23
最后登录: 2023-10-27
查看seafar的 主题 / 回贴
1楼  发表于: 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啦。。。。。
本帖最近评分记录:
  • 下载积分:+1(学者来)
  • 下载积分:+1(苛刻柯) 好办法
  • 下载积分:+1(天剑流星) 热心助人!
  • 下载积分:+2(zyfstc544) 这个方法 比较巧妙
  • 下载积分:+1(风行天下) 学习了
  • 枕星河之倒影兮与星光同流,望群星之包覆兮随繁星同辉。
    B站资源分享链接https://space.bilibili.com/39855180
    seafar
    目前C#
    级别: 家园常客
    精华主题: 0
    发帖数量: 619 个
    工控威望: 764 点
    下载积分: 1909 分
    在线时间: 594(小时)
    注册时间: 2018-03-23
    最后登录: 2023-10-27
    查看seafar的 主题 / 回贴
    2楼  发表于: 2019-08-03 08:58
    引用
    引用第5楼wenliang于2019-08-03 08:50发表的  :



    请问老师 你的这个说法有验证过吗,不知道这行可行否,因为有可能每次来的产品都是一个出货口,而且同时会有很多箱都会启动那几个光电(例如 :同时有5箱产品都是去5#出货口的,而且是一箱接着一箱来的),这样用上面的方法会不会有什么问题呢?

    你自己想哪里不行再说,不然帮不了你
    枕星河之倒影兮与星光同流,望群星之包覆兮随繁星同辉。
    B站资源分享链接https://space.bilibili.com/39855180