• «
  • 1
  • 2
  • 3
  • »
  • Pages: 2/3     Go
sjbandmm
级别: 略有小成
精华主题: 0
发帖数量: 236 个
工控威望: 406 点
下载积分: 985 分
在线时间: 167(小时)
注册时间: 2008-08-23
最后登录: 2024-04-22
查看sjbandmm的 主题 / 回贴
12楼  发表于: 2019-05-27 09:36
引用
引用第10楼1336547704于2019-05-27 09:12发表的  :
ABCDE五种进料在每个工位有先后顺序码

进料是随机的,分配到各工位也可以任意顺序,只要保证各工位进料数量均衡即可。
linzhenfu
级别: 略有小成
精华主题: 0
发帖数量: 191 个
工控威望: 302 点
下载积分: 615 分
在线时间: 257(小时)
注册时间: 2007-07-15
最后登录: 2024-04-21
查看linzhenfu的 主题 / 回贴
13楼  发表于: 2019-05-27 10:33
比如:
工位1:D0~D4(分别存放ABCDE对应的编号,例如0=无,1=A,2=B,...)
工位2:D5~D9
工位3:D10~D14
...
然后设置8个寄存器(D100~107)用于变址查找各工位数据,另外再设置1个变址D200保存当前来料(用于决定要调用前面8个变址中的一个).
假如来料是2号(B工件),即D200=2,则调用D101,通过程序扫描工件数据(D0~D4,D5~D9,...),吻合的则放行.然后再扫描下一个满足的工位后等待下一次放行.

大概思路是这样,只能帮你到这里了
楼主留言:
重点是负载平衡而不是怎样查询去向
wangnaizhi
级别: 论坛先锋
精华主题: 0
发帖数量: 1261 个
工控威望: 1437 点
下载积分: 5420 分
在线时间: 819(小时)
注册时间: 2015-08-31
最后登录: 2024-05-01
查看wangnaizhi的 主题 / 回贴
14楼  发表于: 2019-05-27 15:05
这种应该类是于那种自动打包的设备  能说一下你的机构不是是什么样子的吗?  因为可能涉及到你放料的机构放料的方式 还有进料的数量 是单个进料  还是多个进料 这个会涉及到来的数据处理  具体的还是要看你的机构部分想实现什么功能

如果说只是想要思路的话 倒是可以这样 PLC的话就用变址寄存器去寻址 类似于楼上的对每个工位内没个位置进行地址标注 比如工站1对应的地址分别为D0~D4  工站2对应的地址是D5~D9 工站三对应的地址是D10~D14 以此类推 A B C D E料分别标注为10 11 12 13 14(16进制对应的10进制值,不建议使用楼上的0 防止来料数据异常不赋值会是0 产生数据异常)
然后   比如来料是10(A) 然后就去寻D0~~D?地址里面对应10(A)的寄存器 这里可以使用变址(变址*1)去寻地址 找到一个就放一个到对应的位置  比如下一个来料是B(11) 就用变址*2 对应的去寻对应的地址对于B(11)寻到了就对应把它放到对应的地址里面去   直到所有的物料位寄存器全部寻址结束
其他的C D E以此类推
思路基本就是这样的 具体的还是要看你的机构部分是怎么配合的  可以加我QQ 798792886 详聊  我对你机构部分有点兴趣 加的时候就说是工控人家园的
楼主留言:
你这说的只是正常查询,比如查询时从D0开始,那么来料为A是,就会进入到最后一个包含A的工位,下一个A来了还是进入最后一个工位,我需要的是第一个A进入1工位,第二个A进入2工位。。。。第六个产品再进入1工位,实现负载平衡。
[ 此帖被wangnaizhi在2019-05-27 15:13重新编辑 ]
wangnaizhi
级别: 论坛先锋
精华主题: 0
发帖数量: 1261 个
工控威望: 1437 点
下载积分: 5420 分
在线时间: 819(小时)
注册时间: 2015-08-31
最后登录: 2024-05-01
查看wangnaizhi的 主题 / 回贴
15楼  发表于: 2019-05-29 13:16
只要你变址寄存器的数值设置你所有工站总和的值 就可以了 找到第一个A后 变址寄存器别复位就可以了 再来一个A继续在在之前的基础上面 继续往后寻找空位就可以了 B C 等以此类推就可以了  说白了 逻辑就是A去找你所有的工位里面属于他的工位  有一个就放一个对应的进去  再来A继续再找属于它的位置  直到循环结束 继续再进行下个循环
niningtt
级别: 工控侠客
精华主题: 0
发帖数量: 1229 个
工控威望: 3549 点
下载积分: 856 分
在线时间: 458(小时)
注册时间: 2010-08-24
最后登录: 2024-03-22
查看niningtt的 主题 / 回贴
16楼  发表于: 2019-05-29 16:35
不知道你的设备每个工位处理速度是不是一样的。如果是一样,那么就是上料时确认料想哪里走,这个可以设定固定循环上料,比较容易。如果处理速度不一样,那么就要结合空工位信号和已处理工件数量判断优先级排序。要均衡,那么就要记录每个工位已进物件数量,根据数量升序排序,然后数量小的优先级最高
linzhenfu
级别: 略有小成
精华主题: 0
发帖数量: 191 个
工控威望: 302 点
下载积分: 615 分
在线时间: 257(小时)
注册时间: 2007-07-15
最后登录: 2024-04-21
查看linzhenfu的 主题 / 回贴
17楼  发表于: 2019-05-29 22:17
引用
引用第13楼linzhenfu于2019-05-27 10:33发表的  :
比如:
工位1:D0~D4(分别存放ABCDE对应的编号,例如0=无,1=A,2=B,...)
工位2:D5~D9
工位3:D10~D14
...
.......

说明你还没理解呗
楼主留言:
是没看太明白。好人做到底,请再写详细点。谢谢!
nightblueblu
道阻且长,穷且益坚。
级别: 论坛先锋
精华主题: 0
发帖数量: 1012 个
工控威望: 1804 点
下载积分: 529 分
在线时间: 1095(小时)
注册时间: 2017-02-09
最后登录: 2024-04-27
查看nightblueblu的 主题 / 回贴
18楼  发表于: 2019-05-30 14:39
用笨办法做,假如8个工位,分成255种情况来处理,然后做成功能块,每种产品都调用功能块
楼主留言:
这个不知道怎么实现,但这太复杂了,而且工位数需要增加时扩展也太麻烦了。
Your happiness is everything.
流辰沙
级别: 家园常客
精华主题: 0
发帖数量: 313 个
工控威望: 641 点
下载积分: 1068 分
在线时间: 124(小时)
注册时间: 2018-12-27
最后登录: 2024-04-16
查看流辰沙的 主题 / 回贴
19楼  发表于: 2019-05-30 15:43
你总共有多少种产品?有没有确定到底是几工位?
还有能不能保证每种产品来的总数是平均的?以1天为单位,每种产品来料数量不会相差很大吧?
楼主留言:
产品数是不确定的,每天都有可能修改,来料没有任何规律。差异很大。
nightblueblu
道阻且长,穷且益坚。
级别: 论坛先锋
精华主题: 0
发帖数量: 1012 个
工控威望: 1804 点
下载积分: 529 分
在线时间: 1095(小时)
注册时间: 2017-02-09
最后登录: 2024-04-27
查看nightblueblu的 主题 / 回贴
20楼  发表于: 2019-05-30 16:31
想了一个办法你试试:
1、用D0-D7分别对应8个工位;
2、M0-M4对应5种产品的型号,现在以A型号为例,即M0;
3、用M10-M17对应A型号的8个工位,按照你的选择对应点位置位1;
4、第一扫描周期对D0-D7传送初始值K100;
5、当M0信号来时,对应的M10-M17接通时,分别传送K0-K7到D0-D7;
6、比较D0-D7,找出最小值,这个值就是对应的第一个启动的工位号;
7、启动的工位号完成时,置位一个M信号断开第5步对应的工位传送条件,并将该工位对应的D寄存器传送为K100;
8、下次M0信号来时,继续比较D0-D7,找出最小值;
9、继续执行,直到找到的最小值为K100时(即执行完一个循环),复位掉第7步置位的全部M信号,再执行一遍寻找最小值(执行第二个循环);

大概思路是这样,可以尝试一下
楼主留言:
A产品进入1号工位,B产品也会进入1号工位,每个工位最多是要进入5种不同的产品,都要记住来过没有。有空时按你说的我再试试。谢谢!
[ 此帖被nightblueblu在2019-05-30 16:38重新编辑 ]
Your happiness is everything.
流辰沙
级别: 家园常客
精华主题: 0
发帖数量: 313 个
工控威望: 641 点
下载积分: 1068 分
在线时间: 124(小时)
注册时间: 2018-12-27
最后登录: 2024-04-16
查看流辰沙的 主题 / 回贴
21楼  发表于: 2019-05-30 18:02
引用
引用第20楼nightblueblu于2019-05-30 16:31发表的  :
想了一个办法你试试:
1、用D0-D7分别对应8个工位;
2、M0-M4对应5种产品的型号,现在以A型号为例,即M0;
3、用M10-M17对应A型号的8个工位,按照你的选择对应点位置位1;
4、第一扫描周期对D0-D7传送初始值K100;
.......


想那么复杂干嘛,看几种产品,然后在触摸屏上列个表格。假设8个工位,5种产品
A产品:1、4、5、6、8。B产品:*、*、*、*、*、*...有8个工位就列8个位置,地址依次为D10-D17,D20-D27....D50-D57
既然分辨产品不是问题,前面分辨完置位M0-M4,用相应M自增变址Z1-Z5,然后通过M和Z去读取D里面的工位数(D里面有值就传值,为0就把M对应的起始D传过去,同时复位Z),有了工位数,就能让送料机构送到不同的工位上去

工位放料.zip (173 K) 下载次数:33
传值的时候应该写D99Z6,因为Z6不可能是0,为了注释效果写的D100
楼主留言:
程序我下载不下来,不过不重要了,是你给了我启发:用M0-M39对应40个表格设置,当产品来了并查询到去向后,再检查对应个M点是否为1,如果为1,那么继续查询,找到下一个M点为0的后,产生去向,去向产生后将该点M置1,;当1个产品将所有可去的工位全部去过一遍后,那么应该再触发一次查询,只要查询到第一就行了,查询到了后还需要将后面的所有该型号的M点全部复位。程序就可以循环下去了
[ 此帖被wangdai527在2019-05-31 08:28重新编辑 ]
shi2999
不管学什么,兴趣是最好的老师,能赚钱是最强劲的动力
级别: 网络英雄

精华主题: 0
发帖数量: 2680 个
工控威望: 7394 点
下载积分: 3001 分
在线时间: 606(小时)
注册时间: 2010-12-26
最后登录: 2023-05-29
查看shi2999的 主题 / 回贴
22楼  发表于: 2019-05-30 23:27
笨一点的方法是编码输入,译码输出!
楼主留言:
不是很明白.请把实现方法具体一点描述一下,谢谢!
wangnaizhi
级别: 论坛先锋
精华主题: 0
发帖数量: 1261 个
工控威望: 1437 点
下载积分: 5420 分
在线时间: 819(小时)
注册时间: 2015-08-31
最后登录: 2024-05-01
查看wangnaizhi的 主题 / 回贴
23楼  发表于: 2019-05-31 07:47
楼主能不能把机构部分也分享出来  机构不同算法的结构也会有点小差异的
楼主留言:
产品分类设备,在分类线路口处设置一个扫码器,扫码后查询设置的去向,然后决定送到哪个工位中,进行下个操作。
  • «
  • 1
  • 2
  • 3
  • »
  • Pages: 2/3     Go