全球FlexSim系统仿真中文论坛

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

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

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

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi $ N1 i5 Q8 s0 r7 }& C7 ]% z
0 u" K- s2 I. u; k* S
if(content(current)>1). N8 |& p" ^# ^: N7 O9 D* o
{
1 J8 B2 ~" P8 T8 Q$ ~        treenode ts=createemptytasksequence(centerobject(current,1),0,0);1 I7 [+ Y, U$ d: G: E
       
4 u0 }) `# O7 W3 l        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);, l, M" \( c/ c1 C  v# m
        inserttask(ts,TASKTYPE_FRLOAD,item,current);
4 |6 ~) g) q1 z/ h        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);8 N; L) k, t. z) _( e/ U5 C/ J
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);3 }7 \5 O, N; r) b
        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));8 B2 }$ f  r* p- n
        . w- E7 Z: W5 {2 I# r( p
        dispatchtasksequence(ts);
- y+ W/ q4 {) q3 b3 C2 j: T}5 p7 c/ s! t  q0 z7 T
4 U8 F- j4 b- Q4 i1 s9 C) q, b

+ f  W" l' W! c: V! L" ^+ r这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan & P/ {- f8 w# M3 p  {5 l
  S; ~) L# ^( A# Q' h2 Y
7 O# M9 p; {) k/ N. c* M2 i/ `/ M
o啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:
) z( [5 ?4 Z# `9 g7 G8 A- k4 m) n+ L! |9 T3 m' |' r% ~
if(content(current)>1)
' m9 Y* i8 ]% U) {- j. F& L, Q{  h1 u1 A, n) d" K. P
        treenode item1=rank(current,1);, i1 A! s+ {1 E/ b% `& D
        treenode item2=rank(current,2);* |6 m  y) s/ ?) x( B* R
        0 O8 I( }+ Q9 `; m. x
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);+ ^2 J, @. V, G: \+ S, ?
        4 X5 }/ x& x8 _/ I3 U, F, {% P
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
" p  t4 c5 P0 E, b        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);
8 l5 w1 Z* k1 k# {9 h8 ^        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);9 G; [9 u. W- l* P
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);+ O& Q1 k3 P. p- E" o2 ]! v
        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);3 J9 z  f- F/ I: Y! n* i. W1 U
       
, k) W' {' G3 J) c        dispatchtasksequence(ts);        4 A3 }$ [- X# @' ?- ~1 Z
        }, \0 J' ?' L; c+ w1 e+ f' E8 E$ r( U
2 M! b7 F8 k. `* F8 P" J6 r
只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982 % s5 P7 r2 y- o+ c' V& {+ Q

4 |: Z* q, k3 r4 a  Y
3 V; O+ w3 ~  [4 h5 [+ j这些因为操作员每次只会去版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:35 , Processed in 0.080772 second(s), 14 queries .

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

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