sjbandmm
级别: 略有小成
精华主题: 0
发帖数量: 237 个
工控威望: 407 点
下载积分: 987 分
在线时间: 168(小时)
注册时间: 2008-08-23
最后登录: 2024-11-19
查看sjbandmm的 主题 / 回贴
楼主  发表于: 2019-05-23 22:55
图片:
有台设备,共有8个或更多进料工位,每个工位可以设置5个不同的进料品种,不同的工位可以设置相同的进料品种,每次生产前设定进料数据,各工位进料品种是可以任意设定的。问题来了:用户希望每种产品在所有已设置的工位上均匀分配,,比如产品A在1、4、5、6、8工位上都有设置,那么第一个A产品到1工位,第二个A产品就到4工位,第三个A就到5,以此类推,保证各工位进料数量平均。各位有什么好的方案,给点提示,感激不尽!
nightblueblu
道阻且长,穷且益坚。
级别: 论坛先锋
精华主题: 0
发帖数量: 1019 个
工控威望: 1841 点
下载积分: 244 分
在线时间: 1107(小时)
注册时间: 2017-02-09
最后登录: 2024-11-26
查看nightblueblu的 主题 / 回贴
1楼  发表于: 2019-05-30 14:39
用笨办法做,假如8个工位,分成255种情况来处理,然后做成功能块,每种产品都调用功能块
楼主留言:
这个不知道怎么实现,但这太复杂了,而且工位数需要增加时扩展也太麻烦了。
Your happiness is everything.
nightblueblu
道阻且长,穷且益坚。
级别: 论坛先锋
精华主题: 0
发帖数量: 1019 个
工控威望: 1841 点
下载积分: 244 分
在线时间: 1107(小时)
注册时间: 2017-02-09
最后登录: 2024-11-26
查看nightblueblu的 主题 / 回贴
2楼  发表于: 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.