全球FlexSim系统仿真中文论坛

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

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

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

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi
* r4 n/ q$ t+ F9 o4 r! t- d$ w, j" ^/ p
if(content(current)>1)
+ `, q* @5 I+ V2 t! E! y( v{% B5 k; a8 ]& @6 O1 h
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);4 |* w7 G, b4 Y# n
        2 p5 ~, N% {# ^$ F, D0 ~6 e
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
  k& k4 z  X# c9 ]! a9 Z        inserttask(ts,TASKTYPE_FRLOAD,item,current);
9 u4 l$ m+ }  j% v9 \        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
& G! C: c$ [0 |1 o& Y7 K        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
, M; X/ X0 O+ q& o  E) s( ^- i9 {        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));( @) y$ P! ~! F1 B5 [9 w9 ]0 r
       
9 E( ?/ T4 ^/ [# C9 C        dispatchtasksequence(ts);2 b/ p7 |- P" D+ W- f/ o( P% P6 n
}0 M4 a/ Z8 O4 i! O

$ W# {! S7 K4 e9 C0 H9 A, e! }1 v3 |! `
这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan : v! w1 w9 E/ G; N8 G1 O1 U

$ {( @) m6 k) C6 _+ D# `+ v
$ K' \4 U/ }; s! L; m) to啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:
( Q' p! g  ^& q" r5 _6 M
, ?3 ~; f: b3 c0 R8 r$ gif(content(current)>1)
: g, M  ~) Z6 `# I, z{
- k. N5 a9 x! F' D3 h        treenode item1=rank(current,1);1 B6 i1 H8 B* g4 f0 ~
        treenode item2=rank(current,2);' }( n  i6 Z4 _. e2 q% Y
        : A" d2 F9 h. f
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
! `2 `; Q9 a# v7 N3 m) Q        # G3 A& x2 r8 [6 a" R. ~' d
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);/ p; m! t" E$ B6 c8 e# s" x
        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);" V: p% f- T0 Z( I6 q+ ~2 [: M
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);- S$ }) e6 @8 x1 j! R, B# j- `
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
3 r- v+ a5 c3 V. m9 y* f        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);% r/ M5 h4 i$ D! |: _9 ]; d' F- D
       
  c( R7 J( W+ F; k        dispatchtasksequence(ts);        & `1 }' k; J1 y- m0 W6 `1 f
        }
% R9 w: L5 f. ?% v" V
0 G4 g* |& L: G% \/ Y5 j' f* s只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982
5 U  [% l- ]. F& J$ v0 P( G$ @, n7 Y# b! J4 O: ]
9 H5 P. {" t* d
这些因为操作员每次只会去版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-6-30 17:32 , Processed in 0.074497 second(s), 14 queries .

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

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