全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
hubangzhi 发表于 2012-3-7 10:11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用任务序列控制操作员在两个暂存区之间搬运箱子,基本实现,但是有时候操作员会不搬箱子,空跑一趟或多趟,求助。。。。
6 F$ |) ~5 v/ ?3 {; x# c

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi
$ i1 F# A/ J- {; i& t  R2 o2 ^7 Z* T
if(content(current)>1)
7 t! g0 S: s* a" s{* x* c& y8 g7 |' T% U5 e8 X8 X
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);# Z* K! V* l- T$ Z1 J0 H3 o
       
  n" g. l  ]. B: p/ D5 t! v5 I7 j        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);2 w% n$ a8 e# }8 }! E
        inserttask(ts,TASKTYPE_FRLOAD,item,current);* ]. G% ?2 x/ I; e
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
6 S' f: C9 l& p; q5 h: |        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);3 j! l& J5 P" x3 a
        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));* P. S' x* f: h8 p
        2 x7 W; L/ Z5 F  `' q
        dispatchtasksequence(ts);" N6 k5 v5 e& ?; q' c( U5 z0 C8 j( y
}0 ^1 e; }! B2 m; v, M' Q( P
" S2 S3 I. S. ^- `1 d
  Y9 v& u+ d* o4 e; B; ]
这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan
" ], I' Y& l9 v1 w- |$ T7 E8 z( f& p+ e3 X' U
, t9 J0 x3 z7 U4 J+ y
o啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:+ a( l. V* h. K- Z8 M6 Y
$ ^) F/ R3 r% N. R
if(content(current)>1)2 d6 s0 f" V8 U: i: m
{
: |6 z2 T! G8 v        treenode item1=rank(current,1);' k/ G3 a" l0 i
        treenode item2=rank(current,2);
  Z6 A% `8 J# W; D" b        ' G" @! ~8 }9 u$ `4 w8 L8 f
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);; }1 t% ]# h- Z9 j7 L
        ; _6 E. @% J4 O
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);9 H0 \" d( b' m0 z7 D
        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);
4 \8 ]+ O0 ]) o$ t5 y        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
: |  t! |' [; Y        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
" X0 c+ ~# [" ^5 u& I        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);
# P5 n' f% w. a        9 D$ G# r/ _( E7 d, u- Z  C
        dispatchtasksequence(ts);       
+ B0 i# k- J9 w  j- r  G+ Y        }' ?, c# k6 q+ ?% T! t1 h6 x. s
& S  {* o, t5 q) [  ]
只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982
/ l3 |$ p" {% Y/ h! ^" z2 X  Y- D' r* N

& J) H8 @6 N# W8 Z0 f! r这些因为操作员每次只会去版item1,你把发生器3产生实体的方式改成到达序列,你再去观察模型,就会发现:操作员搬走item1这个实体之后,他就不会再搬了,这是因为暂存区中没有item1这个实体了让他来搬了

本帖子中包含更多资源

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

x
6#
qhg1982 发表于 2013-5-22 08:46:58 | 只看该作者
谢谢!
7#
JYF-芳 发表于 2020-12-1 09:57:04 | 只看该作者
请问此问题解决了?我也遇到同样问题了,求教!十分感谢!
8#
wangchangping 发表于 2020-12-21 23:14:02 | 只看该作者
进来学学任务序列
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2025-5-8 23:13 , Processed in 0.064574 second(s), 14 queries .

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

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