全球FlexSim系统仿真中文论坛

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

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

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

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi
' g$ }& g$ z+ |: C  q+ S& h6 U) @
if(content(current)>1)
" K+ \4 b7 Q( h0 Z{8 _1 k, s$ ?$ N* w! E
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);) i9 r& P) J. c
        & g# Z1 P$ T; \. Q  k
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);9 r" ?3 o7 ]4 _1 x. i
        inserttask(ts,TASKTYPE_FRLOAD,item,current);
( i" v5 h* O, ]* Z" B        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
( ]- W$ P, W( G+ s- u- s) y        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
, b1 `( q5 v( m5 z3 R9 y        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));6 O2 P+ ?: F5 F7 \0 \3 {+ R- p
        % o2 j7 L3 `) u( y0 P. u# b0 j
        dispatchtasksequence(ts);
. x- Y8 I5 Y7 \+ j- I}
% m" }' ]/ h: j1 n3 U- m, u2 S' F# i! j: M& c: n9 |

" [2 i4 ^7 B% b# h# C5 h这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan 7 n; [$ n, J( T; O' y* e- M1 e

  D' v/ D: a, T' o3 Z7 P; z0 N/ P
! B& [8 i4 @2 W' |o啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:
' J$ Z7 ?" w' T" M' J: E6 |. R# K; ^
if(content(current)>1)
/ x+ `! e1 j7 R5 E6 N% F! c9 m& P{' c+ V( G, O2 B0 D% u
        treenode item1=rank(current,1);
" n+ A- a3 F6 F        treenode item2=rank(current,2);, z6 g7 _/ y7 J- _
        4 i9 ~' y. G- J  q. Z2 S
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
! y+ M2 a  i4 t0 K% ~2 h; D& c       
/ Z- _# o" v. P  T0 x        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);% N+ V/ V- k! p* z4 P
        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);& w7 `1 @9 ^5 ~
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
9 N! l0 v% Q' w% j% ~        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);- W& a3 R" e4 k: k$ J$ p
        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);1 S3 o7 \8 T  B- {, u9 J
       
" s* }% P7 S. D9 ~' U, I5 D. q        dispatchtasksequence(ts);        ) L+ P, w6 e9 x* w6 v
        }
; U" j7 v" {, ?* G0 [. |- s0 b( m* Q. s' e3 q0 n9 ~4 `9 g
只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982 1 }* j' @9 k5 W
3 f1 R0 ~6 T8 v4 Z

& W6 H; e6 u$ Z! B这些因为操作员每次只会去版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-29 17:26 , Processed in 0.070562 second(s), 14 queries .

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

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