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

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

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

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