sjbandmm
级别: 略有小成
精华主题: 0
发帖数量: 237 个
工控威望: 407 点
下载积分: 987 分
在线时间: 167(小时)
注册时间: 2008-08-23
最后登录: 2024-05-22
查看sjbandmm的 主题 / 回贴
楼主  发表于: 2019-05-23 22:55
图片:
有台设备,共有8个或更多进料工位,每个工位可以设置5个不同的进料品种,不同的工位可以设置相同的进料品种,每次生产前设定进料数据,各工位进料品种是可以任意设定的。问题来了:用户希望每种产品在所有已设置的工位上均匀分配,,比如产品A在1、4、5、6、8工位上都有设置,那么第一个A产品到1工位,第二个A产品就到4工位,第三个A就到5,以此类推,保证各工位进料数量平均。各位有什么好的方案,给点提示,感激不尽!
流辰沙
级别: 家园常客
精华主题: 0
发帖数量: 313 个
工控威望: 641 点
下载积分: 1068 分
在线时间: 124(小时)
注册时间: 2018-12-27
最后登录: 2024-04-16
查看流辰沙的 主题 / 回贴
1楼  发表于: 2019-05-30 15:43
你总共有多少种产品?有没有确定到底是几工位?
还有能不能保证每种产品来的总数是平均的?以1天为单位,每种产品来料数量不会相差很大吧?
楼主留言:
产品数是不确定的,每天都有可能修改,来料没有任何规律。差异很大。
流辰沙
级别: 家园常客
精华主题: 0
发帖数量: 313 个
工控威望: 641 点
下载积分: 1068 分
在线时间: 124(小时)
注册时间: 2018-12-27
最后登录: 2024-04-16
查看流辰沙的 主题 / 回贴
2楼  发表于: 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重新编辑 ]
流辰沙
级别: 家园常客
精华主题: 0
发帖数量: 313 个
工控威望: 641 点
下载积分: 1068 分
在线时间: 124(小时)
注册时间: 2018-12-27
最后登录: 2024-04-16
查看流辰沙的 主题 / 回贴
3楼  发表于: 2019-06-01 09:37
产品种类数目不固定,然后每天每种产品来料差异又很大,再加上每个工位放哪几种产品也是随便调,那你怎么写逻辑也没办法保证进料平衡。

按照你说的40个M,那如果今天A占比是50%,那放A产品的工位进料远远大于其他不放A的工位。除非你要求作业员根据产品占比把1-4全放A,其他的全部放5-8。
楼主留言:
不是你理解的这个平衡,我说的平衡是同一种型号的产品,无论来多少,都要保证送往可入工位的数量相同。与不可入工位数量无关。
流辰沙
级别: 家园常客
精华主题: 0
发帖数量: 313 个
工控威望: 641 点
下载积分: 1068 分
在线时间: 124(小时)
注册时间: 2018-12-27
最后登录: 2024-04-16
查看流辰沙的 主题 / 回贴
4楼  发表于: 2019-06-01 11:02
为什么要设置每个工位只能放5种规格?
既然每个工位可以任意设定进料规格,那也就是每种产品进料以后加工工序是相同的。既然这样为什么不能是不管什么产品1-8依次放就好?
楼主留言:
脱离工艺要求来讨论没有任何意义!
流辰沙
级别: 家园常客
精华主题: 0
发帖数量: 313 个
工控威望: 641 点
下载积分: 1068 分
在线时间: 124(小时)
注册时间: 2018-12-27
最后登录: 2024-04-16
查看流辰沙的 主题 / 回贴
5楼  发表于: 2019-06-03 08:47
引用
引用第21楼wangdai527于2019-05-30 18:02发表的  :


想那么复杂干嘛,看几种产品,然后在触摸屏上列个表格。假设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),有了工位数,就能让送料机构送到不同的工位上去
.......


如果只要求同一种产品放料在对应工位的一致,那我在21楼说的这种方法就能满足你的需求,前提是产品数量不能太多,超过PLC的变址限制。至于下载不下来,那你换个浏览器试试,可能是设置了弹窗屏蔽吧。或者加我QQ,我头像下方能找到QQ号码,传给你
流辰沙
级别: 家园常客
精华主题: 0
发帖数量: 313 个
工控威望: 641 点
下载积分: 1068 分
在线时间: 124(小时)
注册时间: 2018-12-27
最后登录: 2024-04-16
查看流辰沙的 主题 / 回贴
6楼  发表于: 2019-06-04 08:41
引用
引用第28楼linzhenfu于2019-06-03 14:55发表的  :


不存在"超过PLC的变址限制",不超过内存限制就行.


我是说的变址数量(Z0-Z*),里面的值是有数的。
流辰沙
级别: 家园常客
精华主题: 0
发帖数量: 313 个
工控威望: 641 点
下载积分: 1068 分
在线时间: 124(小时)
注册时间: 2018-12-27
最后登录: 2024-04-16
查看流辰沙的 主题 / 回贴
7楼  发表于: 2019-06-04 13:55
引用
引用第30楼linzhenfu于2019-06-04 11:10发表的  :


那你觉得超过多少种工件就不行呢?


在触摸屏上列个表格,行数是最大产品种类,列数是最大工位数。
假设8个工位,5种产品。A产品:D10-D17,BCDE后面依次为D20-D27....D50-D57,今天8工位有1 3 4 6 8都能放A,那么D10就是1,D11就是13...,D15开始就是0
程序如下(传值得改为D99Z0,因为Z0最小为1):


 

如果像我用3U写,因为Z0已经用在DMOV指令中,V0就不能用,而3U总共Z0-Z7,V0-V7,那么产品总数最多不能超过14种。
[ 此帖被wangdai527在2019-06-04 15:14重新编辑 ]
流辰沙
级别: 家园常客
精华主题: 0
发帖数量: 313 个
工控威望: 641 点
下载积分: 1068 分
在线时间: 124(小时)
注册时间: 2018-12-27
最后登录: 2024-04-16
查看流辰沙的 主题 / 回贴
8楼  发表于: 2019-06-04 15:15
引用
引用第32楼linzhenfu于2019-06-04 14:43发表的  :


那如果我说超过14种也能做,你信吗?
可以变通一下的嘛


把Z改成C或者D能变通啊,只是繁琐一点,看上去不那么明了