全球FlexSim系统仿真中文论坛

标题: [求助]用任务序列实现搬箱子 [打印本页]

作者: hubangzhi    时间: 2012-3-7 10:11
标题: [求助]用任务序列实现搬箱子
用任务序列控制操作员在两个暂存区之间搬运箱子,基本实现,但是有时候操作员会不搬箱子,空跑一趟或多趟,求助。。。。9 A) i$ N) q3 E
[attach]486[/attach]
作者: CraneJan    时间: 2012-3-7 15:32
1# hubangzhi 3 ~0 ^, ?; [8 j

1 h7 \4 r; O# z' q- Y9 T* ^% ]9 Jif(content(current)>1)
' X* W/ ]3 p. p. l8 @5 z/ |9 L7 W{- C6 f/ n. m6 k0 F
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);! D* c$ y( t/ x- B, p3 n) z7 M
       
: }& ]6 I- u9 X+ V( S& W; g        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);! b1 |( O$ d7 k) G
        inserttask(ts,TASKTYPE_FRLOAD,item,current);+ Q" \8 a' c9 b# n
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);. c5 O2 ]$ ~3 W1 Y9 R! }4 V
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);/ H3 ?/ d# Z6 m5 `$ r
        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));
3 Z1 X' u4 U4 a9 b1 i0 A) y        $ B8 P6 k' j4 g) M7 K' Y9 v( C
        dispatchtasksequence(ts);
. b2 b" Z- D3 E}- E1 e# g7 }. u3 N& G# s- O/ t6 V5 }) B

$ p; ^; m9 ]+ v: m; G% |% N" ]" y3 I7 z4 H" K0 S3 E% ?0 v
这样应该可以了吧……
作者: hubangzhi    时间: 2012-3-11 22:42
2# CraneJan
) L! J$ a' |) E9 g! _
8 m! f% M% _7 P7 M
' @  m  }! ~+ M6 F5 I  W$ To啦 太感谢了哈
作者: qhg1982    时间: 2013-5-15 15:05
原模型的代码是:
2 V; |) L7 S/ N+ q1 {" a; R' }7 N
7 L3 Z! Z; @- k2 Hif(content(current)>1)
$ w3 `! u+ q' F/ Z{
4 Z6 S- Y( l' F3 D5 D& ~7 t        treenode item1=rank(current,1);& ^3 N8 }% w- B4 N; t4 Y
        treenode item2=rank(current,2);
* K2 e( v. ]4 m# j0 C3 ^+ I       
3 u* i8 F7 @7 [9 f        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
6 z1 J/ \- u  T" g! U! M        $ D* h, E$ w) q6 E( n* f# S& {
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);' [, x3 N  r1 W7 w
        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);8 e  N! _' P! b6 B6 T
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
5 \! ~  f" P5 H5 ?        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
- ~1 S6 Q/ c" ]8 \* S        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);
8 P& ~' N6 ~+ C: B        0 X) z$ v7 T# o) j; o/ L7 i
        dispatchtasksequence(ts);       
7 B; w3 N9 G4 S; I        }. H2 F% @' n$ `# W# A
- h, ]9 r0 h7 v$ x- B
只是用rank函数获取了流动实体的指针,为啥不行呢?
作者: 天性518    时间: 2013-5-16 12:18
4# qhg1982 - p1 _* v7 S' E" u/ B0 T8 ]( t! [

' e" d3 d6 u5 a9 W, v8 L
8 V7 J5 {3 `% g( T# v, t- ]( X/ w这些因为操作员每次只会去版item1,你把发生器3产生实体的方式改成到达序列,你再去观察模型,就会发现:操作员搬走item1这个实体之后,他就不会再搬了,这是因为暂存区中没有item1这个实体了让他来搬了
作者: qhg1982    时间: 2013-5-22 08:46
谢谢!
作者: JYF-芳    时间: 2020-12-1 09:57
请问此问题解决了?我也遇到同样问题了,求教!十分感谢!
作者: wangchangping    时间: 2020-12-21 23:14
进来学学任务序列




欢迎光临 全球FlexSim系统仿真中文论坛 (http://www.flexsimasia.com/) Powered by Discuz! X3.3