全球FlexSim系统仿真中文论坛

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

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

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

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi
. |1 Y" S2 p; K0 o8 D, I8 v) c* x+ i3 r! j+ X
if(content(current)>1)9 R: X. p# E- @, _
{! q4 S1 m. g' i+ H+ ?
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
+ k5 ~+ B/ |3 |# d8 v# u- N        7 ?' |( k$ A, w, t& ~
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);" A. I+ [- ^4 t) ]" \2 C8 v
        inserttask(ts,TASKTYPE_FRLOAD,item,current);4 D4 M4 x+ S1 M/ s! S& h5 x! @! O
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
4 Z. n; E! k- M" t# V        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
: {2 X) u( ~$ T& |, K        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));
; M9 F7 q. k- |, t( |       
# I3 f7 g9 z7 L1 A        dispatchtasksequence(ts);4 ~  f7 l! }% V0 |
}
, @1 p# v7 s5 M6 v, Q( e( m9 K
( P# ]1 q0 v; t
: G5 G$ n! c$ c这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan
0 p3 S) K! o- P3 c
! x1 G/ ~/ X5 g7 ~+ [# }8 k6 V  e/ `" {
o啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:
6 K: i# w2 X+ q% G! q% N
6 `. ?; u- {8 x; X2 iif(content(current)>1)$ C' \+ D' d- d
{
2 Q% j7 X0 c0 {' j        treenode item1=rank(current,1);
4 c) @7 _# C  Q0 M2 a0 ?        treenode item2=rank(current,2);, ]0 R. ^1 Z3 M
       
6 l& J# ^+ e; U6 D7 P/ I: _        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
: i+ j( j4 E2 H$ _5 v8 b, n        / r6 s0 H9 K/ I# r; V
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);  f, F# s1 x9 h3 y8 k
        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);/ o) N$ w: r" Y2 u
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
+ t5 H* r, k( g! r3 Y        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
" n2 Q4 Q( |" C; A7 G        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);
% B3 J' H/ Z) {' z3 I4 H* q* S1 J        ' f4 W- c' F1 r5 }4 {0 l& p
        dispatchtasksequence(ts);       
* R% K4 B6 s4 E2 h& [- v1 c        }
6 J9 W) a; W4 W" ?9 d. D& r0 g  h! ]+ g- P0 m0 V( w" g: N- `
只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982
3 ?# N2 Y3 y. K( d3 J
$ M' A8 `$ }  N/ c' q, C* t
" Q, g6 ?- _8 i% D2 }& t这些因为操作员每次只会去版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 20:00 , Processed in 0.084280 second(s), 14 queries .

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

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