全球FlexSim系统仿真中文论坛

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

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

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

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi 8 r( P( c4 V* c/ L. c& f5 h
" t+ L+ P$ V9 w1 o/ c; ^! ]
if(content(current)>1)+ ]" Q3 G- u2 T2 ^
{
2 G7 S$ y. b' A: l: l* |        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
7 n. C+ z8 t3 C$ M8 W       
* `& c' c2 d0 I8 V        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);3 A' {8 S5 I* C! o
        inserttask(ts,TASKTYPE_FRLOAD,item,current);3 y6 V4 {# U- s: `
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
/ t. H' X2 v/ x- G8 ~4 Q( F        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);) h( _- l; s3 B9 R. {; v  p
        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));7 ?6 z4 B+ k% S3 s- l
       
# E% Q# D; R2 }        dispatchtasksequence(ts);
2 f' Y0 x( O( H7 t}
4 I& [$ k" [+ g7 }0 b( ~; k. B# b9 ]5 [/ ]4 I8 A; W

( X, U" y0 L/ L$ ^) d9 ^这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan
# a5 F& z5 }5 T  n" p$ U% V6 M' h% V/ A" ]

8 y! t) `& ^' ~* Q6 B. f: U3 Eo啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:  }' v# ^4 |2 r, ]5 L- D* N9 G
  Y0 s& P1 B! f! L
if(content(current)>1)
! z" R( F& g0 z( _; s4 I' j{/ v/ \  p7 W& z+ |' q1 e
        treenode item1=rank(current,1);+ A2 r. I8 i0 G( s( D, `9 m
        treenode item2=rank(current,2);7 r3 c, i+ w6 {
        . e) f4 h8 O- W* s7 C
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);& h, `! O! Z! N6 q- W3 y
        7 v3 G% N3 ^6 ]4 [7 Y
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);* h) Q+ o* B% s
        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);9 t, I: g% H; b, H0 P3 s% ^! }8 K* P
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);2 \4 ]9 \3 ~* [; V: l; Y/ B- s
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);& D( |9 B5 o( v2 _
        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);& k! @1 X8 L# b
        / d! t% z' Q" S
        dispatchtasksequence(ts);       
4 ?: d8 Z' T9 C5 B# W5 f5 i* j& S        }
$ c1 l, ^) j  s- H/ ~) |! X' p5 H" u: y" ?" t* A
只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982 8 N9 A0 y- N9 j* v/ ?. u0 N

5 p& u2 ^9 e2 X3 w# Y: }+ v$ [2 B) x0 V
这些因为操作员每次只会去版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-5-9 03:55 , Processed in 0.126976 second(s), 14 queries .

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

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