• «
  • 1
  • 2
  • »
  • Pages: 1/2     Go
4a118
级别: 略有小成
精华主题: 0
发帖数量: 31 个
工控威望: 276 点
下载积分: 818 分
在线时间: 25(小时)
注册时间: 2006-09-06
最后登录: 2024-06-15
查看4a118的 主题 / 回贴
楼主  发表于: 20天前
图片:
如图,这个是自动清洗搬运装置,1.7号为进出产品输送带,234为清洗工位,时间3分钟(每框产品必须过),4,5工位烘干位,过其中一个位(空的),时间也3分钟。过程其中有的位置必须等,有的位置清洗时间长,搬运机构必须去干其他活,感觉程序要移位指令,但又挺复杂,大家有没好的意见,谢谢了!!
030403118
自动项目、PLC、视觉、通讯等工控软件开发QQ3515716
级别: 工控侠客

精华主题: 3 篇
发帖数量: 1989 个
工控威望: 2905 点
下载积分: 25160 分
在线时间: 1377(小时)
注册时间: 2014-01-05
最后登录: 2024-07-04
查看030403118的 主题 / 回贴
1楼  发表于: 20天前
没啥难的吧  每个工位独立干活  相互互锁就好
项目、视觉、通讯QQ3515716
suegu2
级别: 家园常客
精华主题: 0
发帖数量: 319 个
工控威望: 584 点
下载积分: 6625 分
在线时间: 271(小时)
注册时间: 2012-09-22
最后登录: 2024-06-20
查看suegu2的 主题 / 回贴
2楼  发表于: 20天前
每个位置都按一个工位考虑 分配各自的请求和完成信号 ,搬运机构按信号干活就好啦,注意好互锁
4a118
级别: 略有小成
精华主题: 0
发帖数量: 31 个
工控威望: 276 点
下载积分: 818 分
在线时间: 25(小时)
注册时间: 2006-09-06
最后登录: 2024-06-15
查看4a118的 主题 / 回贴
3楼  发表于: 20天前
引用
引用第2楼suegu2于2024-06-15 09:21发表的  :
每个位置都按一个工位考虑 分配各自的请求和完成信号 ,搬运机构按信号干活就好啦,注意好互锁

谢谢,有想去比如用0或1代表每个位的状态,一个位操作完后赋值,但如果在任意工位按停止,因为要考虑每个位的状态,清完所有工位,又多了很多种可能。
source08
级别: 网络英雄
精华主题: 0
发帖数量: 535 个
工控威望: 6266 点
下载积分: 7628 分
在线时间: 203(小时)
注册时间: 2011-03-01
最后登录: 2024-07-04
查看source08的 主题 / 回贴
4楼  发表于: 18天前
先逻辑功能顺序先画出来,再列出优先等级,再加互锁,基本上就搞定了。
biaogege520
清晨的風
级别: 略有小成
精华主题: 0
发帖数量: 166 个
工控威望: 330 点
下载积分: 226 分
在线时间: 73(小时)
注册时间: 2015-07-01
最后登录: 2024-06-22
查看biaogege520的 主题 / 回贴
5楼  发表于: 18天前
位移指令,有料就工作没料就跳过
liuqiang2012
慎言慎行,三思而后行!
级别: 家园常客
精华主题: 0
发帖数量: 304 个
工控威望: 505 点
下载积分: 982 分
在线时间: 548(小时)
注册时间: 2012-06-08
最后登录: 2024-06-28
查看liuqiang2012的 主题 / 回贴
6楼  发表于: 16天前
只要把搬运看成是一个被动的机构就行了,就是烘干要或者上料或者清洗要他干活了他才动,否则就是待命状态。然后就是考虑一下是上料优先还是下料优先。
搞工控不自学不行,因为你一天不学你就落后了,这就是这个行业的特点
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 358 个
工控威望: 506 点
下载积分: 1435 分
在线时间: 315(小时)
注册时间: 2017-06-12
最后登录: 2024-07-04
查看zmrs163的 主题 / 回贴
7楼  发表于: 16天前
这个问题可简单可难。最简单的,产品一个个过每个槽,烘干二选一。每个槽就完成不完成两个状态,完成了去触发机械手状态的动作,你这槽子不多直接把所有排列组合拼起来都可以。如果槽子多,30个槽,这么写就吃力了。如果机械手要提前停在最快完成的槽上面,难度就增大了。以前还有某客户跟我说他们烘干一次发现水不干,能不能过两次烘干槽,同时因为烘干慢,他们有3个烘干槽,3选2,难度直接提升一个档次,后来又说有的药槽太慢了,能不能弄M个相同的药槽,过N次,并且保证M个槽子清洗产品的次数要均匀错开,这样换液不影响效率,要把上面这些情况都考虑进去,算法很复杂了,而且因为清洗很慢,测试起来一天跑不了多少产品,很容易有Bug测试不出来。其实即使是最基础的提前等待,不用排列组合的方式写算法难度也不小,我那时还弄了个软件模拟跑清洗算法,测试出来不少实机很难跑出来的bug
[ 此帖被zmrs163在2024-06-19 16:29重新编辑 ]
zmrs163
级别: 家园常客
精华主题: 0
发帖数量: 358 个
工控威望: 506 点
下载积分: 1435 分
在线时间: 315(小时)
注册时间: 2017-06-12
最后登录: 2024-07-04
查看zmrs163的 主题 / 回贴
8楼  发表于: 16天前
引用
引用第8楼zmrs163于2024-06-19 08:39发表的  :
这个问题可简单可难。最简单的,产品一个个过每个槽,烘干二选一。每个槽就完成不完成两个状态,完成了去触发机械手状态的动作,你这槽子不多直接把所有排列组合拼起来都可以。如果槽子多,30个槽,这么写就吃力了。如果机械手要提前停在最快完成的槽上面,难度就增大了。以前还有某客户跟我说他们烘干一次发现水不干,能不能过两次烘干槽,同时因为烘干慢,他们有3个烘干槽,3选2,难度直接提升一个档次,后来又说有的药槽太慢了,能不能弄M个相同的药槽,过N次,并且保证M个槽子清洗产品的次数要均匀错开,这样换液不影响效率,要把上面这些情况都考虑进去,算法很复杂了,而且因为清洗很慢,测试起来一天跑不了多少产品,很容易有Bug测试不出来。其实即使是最基础的提前等待,不用排列组合的方式写算法难度也不小,我那时还弄了个软件模拟跑清洗算法,测试出来不少实机很难跑出来的bug

我是这么写的,首先每个槽有手自动,屏蔽,功能码(功能码相同代表只需要进入任意一个槽即可,比如烘干),槽中有无产品,当前清洗时间这几个信息,机械手可以抽象为待机,移动到取产品的槽位,抓(上升下降),移动到放产品的槽位,放(上升下降)这几个状态,首先维护一个数组,存放了未被屏蔽的槽的编号,另外一个数组存放了这个槽的产品能否抓出来的判断,然后从头到尾遍历,得到那几个槽的产品可以抓出来,然后机械手在它的移动范围里面取一个剩余时间最短的提前去等待,到时间抓即可。
[ 此帖被zmrs163在2024-06-19 16:30重新编辑 ]
money11
教养体现细节.细节展示素质.
级别: 略有小成
精华主题: 0
发帖数量: 173 个
工控威望: 343 点
下载积分: 1190 分
在线时间: 132(小时)
注册时间: 2007-11-19
最后登录: 2024-06-29
查看money11的 主题 / 回贴
9楼  发表于: 16天前
SFC简单明了
lzp7963350
级别: 探索解密
精华主题: 0
发帖数量: 62 个
工控威望: 159 点
下载积分: 753 分
在线时间: 41(小时)
注册时间: 2016-05-21
最后登录: 2024-06-21
查看lzp7963350的 主题 / 回贴
10楼  发表于: 14天前
确实 SFC完美解决这个问题
asasas
级别: 探索解密
精华主题: 0
发帖数量: 108 个
工控威望: 122 点
下载积分: 1075 分
在线时间: 9(小时)
注册时间: 2024-06-10
最后登录: 2024-07-04
查看asasas的 主题 / 回贴
11楼  发表于: 7天前
学的我都蒙圈了
  • «
  • 1
  • 2
  • »
  • Pages: 1/2     Go