全球FlexSim系统仿真中文论坛

搜索
查看: 34993|回复: 9
打印 上一主题 下一主题

任务序列混入分配器

[复制链接]
跳转到指定楼层
1#
lulu-luka 发表于 2017-1-6 10:34:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 lulu-luka 于 2017-1-8 13:04 编辑 / n: J3 ]. W7 t# V9 I  y. w. t2 }
+ N/ {% m& z' |. C' _
[local]1[/local]background:要在Flexsim里面实现一个汽车装配流程的仿真。发动机由传送带从分装线运送过来,利用升降机将发动机从传送带搬运到一个暂存区Queue1,接着由AGV将其搬运到第一个工位(利用合成器实现其装配),将发动机与副车架装配起来,这个装配过程实际上是在AGV小车上实现的,因此AGV小车会被占用同等装配时间,接着AGV将装配好副车架的发动机搬运到第二个工位进行装配,装配过程同第一个工位,装配完成之后,发动机流入下一个工位,由sink吸收,而AGV在装配完成之后自己按轨道行进到Queue1,接受下一个循环任务。
! H& G$ n1 n; {& V  Y+ {, R/ `Problem:在这个系统中,配置了多辆AGV完成相应的搬运工作,使用分配器将多个搬运任务分配给多个AGV,但分配器中自带的分配规则均不适用,且利用自带的use transporter设置时,除非AGV收到任务分配,否则不会自己行进,但是在实际生产中,在没有任务时,AGV还是自己按照既定的轨迹在运动。
8 o+ t6 Q4 h% R- W; f# r. v, x) tSolution:在分配器中选择循环时,多个AGV之间会出现任务抢夺的情况,实际生产中要求一辆AGV负责上述一个完整的装载、搬运、占用、搬运、占用、回到Queue的过程,分配器循环时,会出现一辆AGV在被占用时,另一辆AGV跑过来搬运的情况。
: F/ R8 F. D* C6 m- L* r% N$ S# f5 oAsking for help:使得AGV在没有任务召唤时也能自己按照既定的速度按照既定的轨道行进,且单个AGV完成整个过程?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
2#
慧娴亚伦 发表于 2017-1-6 19:52:54 | 只看该作者
千言万语,不如一张逻辑流程图或者模型来的好。& ~, x/ A7 o2 E! n

" J1 m3 E# X2 W" L6 T9 u, ]( s9 k前面的background和problem,说实话写得让我看不下去。。。。你不如上传一个简单的模型来解释比较好。. G/ _, S; v$ ^" x* e$ A# X) j* T8 r
0 F- ^: `2 V7 y0 J1 A1 E9 c0 t
agv按照轨道循环运作寻找工作可以使用agv模块很方便地实现,至于单个agv完成整个过程,有很多办法可以解决,我选择使用的是用标签记录任务执行器(TE)信息,让一个产品的所有工作都绑定一个TE来实现。附带有一个小例子,希望有帮助。; S: Q- S& D! V, ?8 E* g% m. f

6 c) g+ v0 A0 P  f5 W! Y不过,个人的建议您应该要换一个思路,虽然实际中是agv在循环运作,但是实际上agv行进的位置是固定的,一次任务的流程也是固定的,而且后面还有装卸等操作,可以将agv直接看做是一个底盘(pallet)在不同的合成器中间流动,看做是一个流水线的工作。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
3#
漂吧 发表于 2017-1-6 21:44:32 | 只看该作者
好厉害,学习了。
* J7 F+ H8 P9 [6 j' a相比之下,我做的这个流程就太low了,不过也算一个思路吧
5 _: n; \/ X) `& L) x

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
4#
慧娴亚伦 发表于 2017-1-7 13:43:47 | 只看该作者
白猫黑猫能抓到老鼠就是好猫,我个人认为方法没有low还是不low,关键是可以解决问题。" s/ h# U* e+ l  |1 p; N4 a/ [+ V3 J
稍微改进了一下3楼的模型,其实思路与2楼一致,只不过这回用itemtype来区分了。这样更加灵活,也不用去限定装载的类型。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
5#
漂吧 发表于 2017-1-7 17:21:59 | 只看该作者
本帖最后由 漂吧 于 2017-1-7 17:25 编辑
- y* e; W9 a/ u
. ]- t4 d( G# {/ v! e* v" B 4# 慧娴亚伦
) w* D" o& p) G7 Q; Z! J: [确实,这样修改比较好。
" P% L- f  E5 \1 K另外,关于如下图所示的地方,我不是太能理解它的作用及原理:
) M( y( A7 x9 S' o9 T. s
2 d8 Q* J' @6 B8 U
3 r5 E9 P' u( G0 |5 z$ Z! r最后,您能帮我修改一下,下面这个模型吗?4 u# a6 e" m- `% i, S; Q- F* _

7 z# _) e# h7 x; j: [% B& z(要求:第三个暂存区,实现与第二个暂存区一样的功能)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
6#
慧娴亚伦 发表于 2017-1-7 17:44:10 | 只看该作者
1是优先级,2是先占值。都是指当前的自动生成的搬运任务的一些属性,二者的作用用户手册有详细的解释。
+ @9 F9 b, n& \0 [简单可以理解为:优先级就是执行任务的优先度,此值越高,在任务执行器空闲的时候越优先去完成;先占值则是任务的抢占能力,分为四个不同类型,默认是无抢占能力(no preempt),以仅先占(preempt only)为例,就是如果出现了这种任务等待执行,那么任务执行器无论当前在干什么,都会停下正在执行的任务前去执行该任务。其他类型不多做赘述。) F/ p' {" P; C2 W" B

7 \2 D9 G& k0 F4 p% i8 A7 v- s关于模型请自己先尝试来改一下吧~
7#
漂吧 发表于 2017-1-7 19:55:58 | 只看该作者
6# 慧娴亚伦
0 U8 U8 B5 \, n" T$ o( \: y关于priority和preemption之间的区别是否可以这样理解:
: W6 w8 J+ \& x/ ypriority是关于调用执行器的优先权;; O# `0 C) q( u  r) T; h: Y
preemption是关于执行器对任务序列的处理。
& ?. }2 P6 u; J" w此外:preemption的三个参数可否这样理解:& Y2 [9 g4 i2 X/ h% H8 u
PREEMPT_ONLY:插队;
, i2 m3 j; F# a/ w0 X9 \& m' h  wPREEMPT_AND_ABORT_ACTIVE:任务转移;
, t9 F$ m' u9 G+ I$ _$ }) s  w6 wPREEMPT_AND_ABORT_ALL:插队且所有任务终止。- a, L( w1 Q6 ~; ~: ~3 h1 M2 Y( s
最后,模型修改好了:
, m. K& v% S- ~

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
8#
 楼主| lulu-luka 发表于 2017-1-8 12:59:24 | 只看该作者
2# 慧娴亚伦 " Q: p2 z6 ?. Z
) g/ U5 Z0 o: L; b
; k. q' g( w5 ^& q5 E/ e: J
谢谢版主细心回答~第一次发帖,确实是不知道怎么简要明了的描述自己的问题,也没有说清楚自己使用的版本。使用的是学校的Flexsim6.02教育版,所以最新版本中的AGV模块还有决策点这些模块都没有。下面是我自己昨天自己设定任务序列,实现了AGV的循环工作,也是误打误撞,但是在叉车速度设定不合适时,会出现超车的问题。在Flexsim6.02版本下,有什么好的解决方法么?
9#
慧娴亚伦 发表于 2017-1-8 15:06:10 | 只看该作者
6.02版本避免路径上的超车可以修改passing模式(绿色箭头)改为non-passing模式(黄色箭头)
1 D, [# ~* S& ^: V& ?: @如果是停留在节点上时候的超车那么就比较麻烦了,需要使用碰撞球。
3 ^% h! U9 \- u5 E9 W& m& ~, f# b4 L尝试在论坛搜索碰撞,看看其他帖子的碰撞应用办法。
10#
 楼主| lulu-luka 发表于 2017-1-9 08:45:57 | 只看该作者
9# 慧娴亚伦
' [9 i8 e6 e6 y9 O8 r2 ^; t0 \/ }$ L3 P& g
好的~谢谢啦
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|全球FlexSim系统仿真中文论坛 ( 京ICP备14043114号-2 )

GMT+8, 2024-5-20 13:03 , Processed in 0.084088 second(s), 14 queries .

Powered by Discuz! X3.3© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表