全球FlexSim系统仿真中文论坛

搜索
查看: 12745|回复: 14
打印 上一主题 下一主题

关于叉车工作原理的探讨

[复制链接]
跳转到指定楼层
1#
zorsite 发表于 2013-3-26 13:18:52 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本帖最后由 zorsite 于 2013-3-26 13:41 编辑 ; _* E. n, L7 Z( Z! Q
) N! K: d8 z5 [
建立以下模型:, }" ^0 H8 N5 L
发生器-->上游暂存区-->5个下游暂存区。9 f1 ^- i' X6 S" D5 B1 a' S
发生器与上游暂存区A连接  `% t. K1 b1 q% Y; c" {7 C
上游暂存区依次与下游5个暂存区A连接$ o# N: K* w- `+ d& V0 Q" |. U
  n$ j' w+ V! B% g2 @/ d
# u  P1 [( \' p0 J
1.设置发生器一次性到达100个货物。运行结果如下:
! K! _& p1 a) {3 G' ^" K# o& \0 {2 }
因为上游暂存区的输出端口默认为“第一个可用”,所以所有货物都被输出至下游第一个暂存区。
  [- q$ w/ s5 P& b如果第一个暂存区满,再向第二个暂存区输出。6 N- r, f" s) s8 i

1 `: k! U4 S. I  o3 C' r* {8 v2.添加叉车,设置上游暂存区“使用运输工具”。运行结果如下:
' q# o1 r0 T/ n: j7 t4 U
: v7 _0 m4 S9 l. X! g0 ?叉车每次运输一个,依次运送至下游每一个暂存区。why?
+ V: @7 B) e+ I" x8 [此时上游暂存区的输出仍然为“第一个可用端口”,但为什么不像1那样,先把下游的第一个暂存区装满,第一输出端口堵塞,然后再输出到下游的第二个暂存区?叉车是怎样的工作机制?
& @4 d; ]: B+ t; ]  a6 G% d5 \4 ^3 [6 Q/ D! ]; m- d
3.设置上游暂存区“成批操作”,目标批量为30,运行结果不变。
. ]5 w8 H# Y, `; |, e! h# u
2 R( X8 H. b. @' n* c4.继续设置叉车容量为30,奇怪的事情发生了!  i* z6 J$ V- W- D9 i$ A& w

3 E% T, d1 b' g9 o- K. I叉车一次性拾取30个货物(这很正常),但是却从下游的最后一个暂存区开始卸载!what happened?
9 F8 v! K, j$ m/ Z4 q) s: M: l+ g4 ]- h; \) y' C: F0 b
5.设置叉车卸载触发:
9 [1 f! l4 V+ b% f: F+ Y3 j选择第一项:到其他站点卸载之前,将所有以此工作站为目标的临时实体卸载
4 T5 ]! K! q# J  q/ h6 {1 @$ Y# e" w0 r; m5 s. T: d/ |- s2 x) c' x
如果不进行此项设置,则叉车装载30个货物之后,依次到下游没一暂存区每次卸载1个货物,轮番在下游5个暂存区进行卸载,直至下游每个暂存区都有30/5=6个货物,此时叉车上所有货物卸载完毕,返回至上游暂存区重新装载,见第4步图。- N- J- e" v& x4 ]0 R

8 A. d7 ^! C4 Y进行此项设置之后,行进至下游暂存区之后,在每一暂存区一次性卸载6个货物。$ |- P: E1 i; t0 Q

" K3 h# o. T0 K4 f- F7 k0 _" O8 l0 }2 T1 A
6.如果想让叉车每次都卸载10个货物,应该从叉车入手呢?还是从货物入手,对货物进行打包?如果不设置上游暂存区成批操作,又希望叉车每次装载30个货物之后再走,又该如何设置?% {6 X! t; a: A8 ^3 B
& X0 x: E9 n, y0 \1 a$ t
to be continued...zzZZ

本帖子中包含更多资源

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

x
15#
Kimver 发表于 2016-4-13 02:57:54 | 只看该作者
我研究了一下0 ^* B* u$ c. g! Z( |9 @
1、首先,要明确叉车为什么可以一次性装载30个实体,很多人以为,叉车的容量为30就可以了,,其实不然。容量30当然是条件之一,还有一个必要条件是任务序列中必须有break任务(试着把叉车容量保持在30,把任务序列中的break任务删掉,会出现什么情况?结果是,叉车每次只会搬运一个实体)。
8 ~& \$ j4 U( a( a5 w2、break任务被执行之后,新的任务会请求叉车去执行,请求被叉车接受之后,前一个还没完成的任务就会放在新任务的后面,等到新的任务完成,再去执行原来的任务。' Q- `  `5 B0 ^: @% s7 H& J# y
3、基于第二点举例说明,现在假设该叉车的容量为5,实体到达之后,产生了100个任务在排队,ts1、ts2、ts3、ts4、ts5......ts99、ts100,叉车先去执行ts1,ts1包含5个任务序列(t1,t2,t3(break),t4,t5),当执行到t3时中断了,任务队列中的第一个任务就会请求叉车去执行,也就是ts2发出了被执行的请求,这时叉车还有能力(容量决定能力)去执行,接收了ts2的请求,那么,既然ts1还没执行完,不可能把它销毁的(除非设置了先占值),所以应该把ts1重新放到tasksequence中,等到ts2执行完之后,再去执行ts1,所以现在tasksequence的排序变成了ts1、ts3、ts4、ts5......ts99、ts100。同理,ts2被执行到t3时同样中断,ts3发出了被执行的请求(这时问题来了,为什么先发出请求的是ts3而不是排在tasksequence中的第一个ts1呢?因为被中断的任务需要任务完成一个finish TS来触发),这时tasksequence的排序就变成了ts2、ts1、ts4、ts5......ts99、ts100。以此类推,ts3中断后接收ts4的请求,tasksequence的排序就变成了ts3、ts2、ts1、ts5、ts6......ts99、ts100;ts4中断后接收ts5的请求,tasksequence的排序就变成了ts4、ts3、ts2、ts1、ts6......ts99、ts100。装载完第五个实体(即执行ts5),当执行到t3,中断了,但是拒绝了ts6的请求(因为已经到达5个容量了),这时就会继续完成当前的任务(即ts5),之后就会在逐个去执行tasksequence的剩余任务。7 ?/ `/ [7 f* ~+ ?# |! D+ z7 i1 o! c
3、所以,我想,这就是为什么会出现叉车从下游的最后一个暂存区开始卸载的原因。
14#
ldl89772962 发表于 2016-4-12 22:26:30 | 只看该作者
长姿势
13#
慧娴亚伦 发表于 2015-12-14 13:24:42 | 只看该作者
哈哈,其实11楼的高手已经告诉大家答案了。这个跟break任务有关。
12#
657776724 发表于 2015-12-12 22:05:31 | 只看该作者
这个帖子不能沉啊,静待高手解密!
11#
xiexiaoch134 发表于 2013-12-24 14:24:21 | 只看该作者
这个与任务序列中的break任务执行有关。
10#
大摸鱼 发表于 2013-12-16 19:49:50 | 只看该作者
9# 慧娴亚伦

本帖子中包含更多资源

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

x
9#
慧娴亚伦 发表于 2013-12-16 17:23:38 | 只看该作者
我按楼主的方式做了一下模型,发现了这样一个问题:/ H* X* o% l, X, c$ C
item到达之后就给叉车下达了搬运这个100个item的所有任务,顺序是从ts1到ts100;3 f  R- p: h0 H$ n5 R" W& q
但是,当叉车拾取了规定数量的item之后(本例中是10个),就会重新排序任务,而且是倒着排序(但是原来的任务指令不变);
& F4 L7 a' G9 t+ g2 C也就是说,一开始就指定好了ts1去queue1,ts2去queue2……以此类推,ts10去queue5;- S! \* O& D" u" {7 K5 D0 k" q
但是由于重新排序了任务,此时第一个任务就是ts10,第二个任务是ts9,导致结果就是先去queue5,再去queue4……
/ G% R0 l2 L' g6 q6 b至于为什么装载实体之后就会重新排序任务呢?5 o. p5 Y; K+ L
现在我也不懂为什么。。。。( a, x# k) Q& u4 b9 |2 g
楼主这个发现真的比较有意思的,感觉确实涉及到了任务执行器工作的某些原理(不仅是叉车,其他任务执行器也会有同样现象)当然希望大家再深入一下,看看能否有更多的发现。
8#
a445608540 发表于 2013-12-16 16:11:16 | 只看该作者
使用代码可以实现,但是还有个问题,怎么设置的是第一个暂存区,结果叉车一直往最后一个运输

本帖子中包含更多资源

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

x
7#
a445608540 发表于 2013-12-16 14:43:45 | 只看该作者
好像是呀,可以直接在群里问问,看什么原因呀
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-6-30 20:05 , Processed in 0.092998 second(s), 15 queries .

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

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