全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
hubangzhi 发表于 2012-3-7 10:11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用任务序列控制操作员在两个暂存区之间搬运箱子,基本实现,但是有时候操作员会不搬箱子,空跑一趟或多趟,求助。。。。8 w8 j, m8 I3 v# G5 r0 g- o* d

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi
: Q- B; [$ w1 X- c! U# k2 a: ~0 C  [* ^% d! c
if(content(current)>1)4 s  x3 d2 l  p5 i  ~( F& x
{( b2 }7 d, c5 U! b0 m2 G
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);  {  R: K- v$ O. q, k$ n7 Y
       
- u. \. A; e, d$ f& @# I: R+ h        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
, `/ T- T: e  R3 [% J2 n3 i' Z        inserttask(ts,TASKTYPE_FRLOAD,item,current);- j0 ~0 F8 j( l6 I- b
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
8 j. ~! B& L& X, J2 c9 v        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);9 |4 b# w1 ^& p+ _
        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));
) P; n* t1 w& S9 Y       
- @( r7 B- |' v6 i        dispatchtasksequence(ts);
% c0 f3 G8 ?5 O- a: K}) W9 `2 g! f. j) g* I5 h) g* z# p+ j
' s9 X0 j  k3 D0 f6 _

) ~9 `/ v1 p/ {: D& E; Y* R* z这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan
  b7 X) N$ q) z8 P
# D+ l7 {& B2 }2 X& J, L5 ]/ c8 Z) s, W& \: E0 n% J- g
o啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:$ ?. t0 q5 T* s. O, r( m: ~

& N' }( k4 M. H3 Eif(content(current)>1)
6 |; M( p  G4 S' A# ^{8 y: M( @8 g& O, e4 h
        treenode item1=rank(current,1);
6 A3 t1 v  H  X( n        treenode item2=rank(current,2);
( v4 H8 T# M) _0 p4 U, C& p       
* z. p9 A+ {* C) d        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
& z" r6 y$ y% y- I       
0 @: G* F3 ^0 l( J" k6 B4 l        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);* W# N+ M8 K+ O  \& p
        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);- i; r. b% }# u4 W5 ~
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);# {; W2 B* t* {9 j
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
* K# c! o  S, ]6 n9 R$ ?7 z        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);$ b/ W4 V/ b$ d
       
7 s' P/ W, a( w* j- U+ A: p4 r; p        dispatchtasksequence(ts);       
" X2 T' S+ g2 f/ C" q        }" i3 z8 d* _2 l5 A# h

6 Y4 c5 ?  m+ W) B0 c& a2 `3 _4 N只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982
$ y2 r% m' v9 r9 A& @  Z: }  u3 K% [9 M# L8 y3 A
2 A; Q2 s4 l) i9 L
这些因为操作员每次只会去版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-8-31 15:24 , Processed in 0.078649 second(s), 14 queries .

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

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