全球FlexSim系统仿真中文论坛

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

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

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

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi $ F/ N+ ^$ z1 @' U: @

: I$ H; O+ `, o* r4 z% y: ]: uif(content(current)>1)6 u# B" P3 ]) o: X* u: q) _: v
{
- G/ i6 n, G' D7 j, C6 P( r        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
) D$ h4 ?: A! b+ P1 }       
; E5 @' B1 z) M+ n        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
) f( d" }, o& M. z+ h- v        inserttask(ts,TASKTYPE_FRLOAD,item,current);
# k3 t* D7 K& k- Y2 M1 _        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
$ e" }5 B. T: ^+ W# A+ A        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);7 z6 B0 j. V! r1 l. A
        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));8 {+ v: Y9 e+ Y. H: \7 d' J. J- Q
       
( d. S  F% b  t( x        dispatchtasksequence(ts);( }$ |4 H6 r" Z& j8 N$ A- C
}
/ D1 {! n, c& v8 q) z1 K" r7 n" ?# t/ [0 z

) g* W" j4 L1 ], k; k这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan
2 l8 y' L4 }, m6 ~. N6 H
% D1 e+ p+ `- z1 v7 W
/ _9 W4 J% ]2 r( ^o啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:" q8 s: L9 B2 i4 l- o( Z$ \; y! H

( m0 C5 T; u8 r% Nif(content(current)>1)
* b; l& y5 b5 n5 Q* A+ g: Z. a{
. U$ E$ O" R& D# N- B        treenode item1=rank(current,1);8 ]0 U. a; Q6 U% e0 @# o; ?: x
        treenode item2=rank(current,2);
( |9 z6 V8 X, M        , i, l! x3 @0 D! k( e
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
8 W; N$ M8 w! P' N/ i       
6 c0 V# J% C( Y$ q        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
: A7 {: r7 \/ s! b) @! n        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);
5 ]0 d% f; J. Y" D5 u        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);0 @9 x! U0 [2 K8 B6 d
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);! n( `% n' Y9 T: b8 [( z! h( w  F% p6 B' C+ G
        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);& G3 i8 [8 p# z! s0 G
       
! X' p0 G9 r. y- u- E4 O8 o4 i        dispatchtasksequence(ts);       
3 w, n+ y2 Z/ F2 V6 U2 p" ?$ a        }( a" j: ^# @1 I7 T7 _- D! X

5 G! `, x; O9 ~只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982
; u8 U8 E* n, A+ `5 Y8 {$ U3 u: C6 c# b* J  I1 {3 V
% u, @* S, R6 q& D' X# Q
这些因为操作员每次只会去版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-9-1 18:34 , Processed in 0.070823 second(s), 15 queries .

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

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