全球FlexSim系统仿真中文论坛

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

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

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

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi : ]3 Y+ w% L" R7 P5 Z3 J( R, z

! Y& w0 s7 l! X! I2 p9 [8 z# oif(content(current)>1)
* w% l; D9 f6 O2 t* e{. m8 A- `, m8 n- Z% D
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
+ d7 W9 e1 M+ J) l       
4 @* [& X$ u' `+ P  u: h+ g        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
' H. R: O+ p% h        inserttask(ts,TASKTYPE_FRLOAD,item,current);7 y4 {# Z# ^* i  W$ }/ G, F2 h7 J9 ^
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);. H+ ~, K/ T# b) b0 r* B
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);" T. s* p( o+ c3 [) [8 O
        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));; h4 \$ ^# `% Q) l/ n4 G2 M
       
/ g; X% m$ \" ^2 F4 n+ d% K        dispatchtasksequence(ts);
4 v2 k! B% h' F2 y3 c6 Q- X}+ Q1 G' l  H6 e
) i$ |3 b% ~* c* v, \% U3 G
" ?; v) n8 [: k0 f1 w
这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan 2 t$ I! h, d# B! I, I

1 O3 Y  \" ]* D) M) d
: R4 q" U% T3 {& _+ Mo啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:
% o: M6 ]. t/ _; H( k0 f8 k# A6 V) ~' w3 g( k0 W! _
if(content(current)>1)
2 }  _- Q6 T' ?7 L* [/ d4 J{
& R* K/ I! e. p& ~+ I        treenode item1=rank(current,1);- W* ?# i  b: a8 a9 b
        treenode item2=rank(current,2);. ?% ]3 ~& D4 H- e% v! `- w0 D
       
9 ]+ r" Z4 c$ `& S        treenode ts=createemptytasksequence(centerobject(current,1),0,0);* X. z9 ~+ g9 ^
       
' T& K/ T( \, X) e- I+ [        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);" T; K1 c" k, P
        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);) o* B) a. P- f4 d3 C
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
) h6 f% f' L  R% B        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);4 _) u) J( K, t1 T! M/ h
        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);
! u- _/ C8 |0 V7 `, ]9 `/ l6 c* a       
* s& Z8 i0 ?' }- ?5 A" Z  x3 p        dispatchtasksequence(ts);        ) M* V1 O, k0 w* Z2 o# X0 Y9 n) z
        }
+ E( ]: z, X9 @, @
3 T- n9 Q- t4 k1 s7 [" [只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982 - ~+ J$ h+ U- @, Y

" B- G6 L8 w; a
; {! o( L2 ~  z- X9 i这些因为操作员每次只会去版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 03:50 , Processed in 0.085104 second(s), 15 queries .

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

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