全球FlexSim系统仿真中文论坛

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

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

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

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi
- u9 A! `% q" d1 p% F
3 q4 M# T# ]" U+ }7 q: P& R2 @if(content(current)>1)7 |. E$ z; n7 H* i8 Y$ i
{
( F" S. s2 L( x) o4 H1 A% K        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
+ Y. M% j' E$ h! g  G# v/ t       
+ r5 W7 |, L% F" V3 q        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);& ~. B5 _! {: L: q+ T4 M4 b' o, j& Q
        inserttask(ts,TASKTYPE_FRLOAD,item,current);
1 @. Q, k8 T9 U" y  `        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);% d$ l! U! ^9 P2 r( ^
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);) H4 i; D, z5 x) U; K3 X
        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));4 b4 o$ h$ R% I- w- R
        " e" Y. [1 P4 c  }2 k
        dispatchtasksequence(ts);# n8 u8 m9 d7 d7 G5 D6 m# v1 J
}
' e: r8 }' q  o2 a% {5 J0 \
4 T6 s; T- n. w$ M0 E
# f* ~, m0 i3 X: ^这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan
  K" }- s$ y7 W' h( E% L$ W
, @9 F1 t0 k9 ^0 ~/ W5 ~
. |: u8 Y7 s9 M( Fo啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:
& U$ ?) ^; T6 z; Q, @) u+ M7 x7 {& L- c- D
if(content(current)>1)
" t2 F. L! H7 z, K" n, J# x{' ^( ~& H! k4 I! n" U
        treenode item1=rank(current,1);5 i/ u* j3 {( |; T0 b
        treenode item2=rank(current,2);, j& K0 m- G/ w: O
       
" m0 {7 \1 r; ^  v3 w        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
% `- X' W% _1 |, v$ r       
! e0 I0 W" c5 e5 d; N8 c        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);. P' T0 D0 B2 \" s% j2 `
        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);' |& J+ K: P1 r& q+ K
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
# F7 y8 g0 i2 ^! O) h        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
4 c; I' q) b: c, k        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);$ w& E/ i8 m9 @2 U* J% I( z9 Y0 o
       
4 I9 A% A7 I1 i" H9 B        dispatchtasksequence(ts);        5 K- [  y4 H! _% z$ p
        }
) B" r. |: j. w, s1 f
$ g; f$ C% l# C0 t+ K) u6 A只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982
1 @* I7 R# ~: H" O. ^# n
- i1 I. f" D+ s) l' I( `% j  ]
- P5 i, F+ d  Q' ~# F! X8 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-9-1 18:34 , Processed in 0.072605 second(s), 15 queries .

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

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