全球FlexSim系统仿真中文论坛

搜索
查看: 8393|回复: 7
打印 上一主题 下一主题

[求助]用任务序列实现搬箱子

[复制链接]
跳转到指定楼层
1#
hubangzhi 发表于 2012-3-7 10:11:50 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
用任务序列控制操作员在两个暂存区之间搬运箱子,基本实现,但是有时候操作员会不搬箱子,空跑一趟或多趟,求助。。。。" H2 e, Y4 U* _# F2 m) s( ?" I

本帖子中包含更多资源

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

x
8#
wangchangping 发表于 2020-12-21 23:14:02 | 只看该作者
进来学学任务序列
7#
JYF-芳 发表于 2020-12-1 09:57:04 | 只看该作者
请问此问题解决了?我也遇到同样问题了,求教!十分感谢!
6#
qhg1982 发表于 2013-5-22 08:46:58 | 只看该作者
谢谢!
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982
* I+ ^4 p7 q. s6 K5 q/ Z% t4 r: m8 W& y0 {+ }7 a

8 e, R( W4 E) F) y. _2 V这些因为操作员每次只会去版item1,你把发生器3产生实体的方式改成到达序列,你再去观察模型,就会发现:操作员搬走item1这个实体之后,他就不会再搬了,这是因为暂存区中没有item1这个实体了让他来搬了

本帖子中包含更多资源

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

x
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:
8 O! o9 j% ~# P/ v8 o, A4 u, V6 N! Y4 ]1 W: ?# ^  {+ S/ m
if(content(current)>1)
6 D3 m' @0 Y$ k  J- @* F  p{8 y. m0 Q2 U; b: D% l9 H& C# e
        treenode item1=rank(current,1);$ q( }0 q- T; c+ Q# w& D
        treenode item2=rank(current,2);: G" C0 `, j7 J, [4 R( h1 C
          Y1 g' H: |2 E2 n) o2 t, K% e
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
5 \2 L8 J( o8 ~3 l4 b       
; I: M( x" }3 s9 k; O1 a6 F  v; j' T        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);9 C1 F  u2 K; w. ?5 j0 m) v
        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);
! v, ?! ]4 G. G' L, ~! l' c9 o& s        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
6 |3 A7 L# g5 v        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);: n  C4 F5 r3 g% V$ U
        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);& p) Q$ L& x. x9 q" i) }
        8 m: _3 y( y0 l; l
        dispatchtasksequence(ts);       
% C$ g/ P" Y& M$ F2 |        }5 r/ G' W" [; J, z
: o. F( L8 q3 O7 B
只是用rank函数获取了流动实体的指针,为啥不行呢?
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan
; h" R7 ?: v/ s- a* X5 \
  |7 G: X  N- P  G* U* I
: {* N3 f) w4 Z) ~; w9 g. zo啦 太感谢了哈
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi ' Q* E/ r5 D, e' i5 J

: K# R+ v; z  @! {if(content(current)>1)
; S' F5 g9 A( J2 M{
2 [* `( @" F  b% C8 [: L- _" \5 g5 h        treenode ts=createemptytasksequence(centerobject(current,1),0,0);* ]& I9 H1 H6 @
        0 a$ _8 O$ G: \6 ]/ V
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
$ N) Q( N! p! D. x. _6 J2 D        inserttask(ts,TASKTYPE_FRLOAD,item,current);
: }" s/ A' t+ S- @  T2 M& @5 y        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
; K" C+ B* e1 _( l- w: U        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);  K' e6 U2 m; p# x5 \! h
        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));. R' F' ^2 u" `9 v% m4 C6 z5 r
        ; i* D# R- y" B
        dispatchtasksequence(ts);  g/ H' J2 r3 r  @
}5 i# V2 V1 ~* ^1 P) _) l6 C# d
3 f( o: L0 e! C: L
' I! K% ~. k6 U' b% e0 w
这样应该可以了吧……
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-9 04:07 , Processed in 0.087865 second(s), 15 queries .

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

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