全球FlexSim系统仿真中文论坛

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

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

[复制链接]
跳转到指定楼层
1#
hubangzhi 发表于 2012-3-7 10:11:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用任务序列控制操作员在两个暂存区之间搬运箱子,基本实现,但是有时候操作员会不搬箱子,空跑一趟或多趟,求助。。。。
2 b5 S+ S/ ?4 e- p. Y( U6 W

本帖子中包含更多资源

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

x
2#
CraneJan 发表于 2012-3-7 15:32:23 | 只看该作者
1# hubangzhi
' L+ i: Q' ~! O3 m! X* E. r7 U$ P0 V3 y# F
if(content(current)>1)
1 \8 j: D- T3 K' z6 X: _& ^. C{& P5 D/ X$ N8 |: e# `$ E+ T
        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
6 Y8 Q1 b$ o- n( [  ~( L. V          _4 w. f2 S6 c) `
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);0 P; U5 v7 |/ A$ `" P7 u# d1 l
        inserttask(ts,TASKTYPE_FRLOAD,item,current);
/ o7 O& J8 Y: B" V        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);  E" d$ `8 L. E; L5 E, E9 g: j
        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
3 ~% U) @+ F1 Y        inserttask(ts,TASKTYPE_FRUNLOAD,item,centerobject(current,2));# E6 x1 {# H6 h8 `* V: f* t
       
( _4 R0 P  `. P; M        dispatchtasksequence(ts);: T, x6 e/ n/ ]5 Q* O" c
}- m# Q9 r' Z! @2 t+ J* W

2 c# c7 g4 @, a" w' L. n. }3 u; L/ n: Z' Q1 t
这样应该可以了吧……
3#
 楼主| hubangzhi 发表于 2012-3-11 22:42:44 | 只看该作者
2# CraneJan
5 K3 O. z" Z- `( }3 Z* \/ F8 N% F$ h: H9 a8 }% p' n3 `+ g

8 A* J& }6 n" V' F9 co啦 太感谢了哈
4#
qhg1982 发表于 2013-5-15 15:05:01 | 只看该作者
原模型的代码是:
8 ]  A+ x, J/ w* S4 w- s5 W3 Z3 y( o( M1 \
if(content(current)>1)
, Z+ J' A9 k. R1 A+ f+ J. Y{1 r3 a+ }1 t* C2 u
        treenode item1=rank(current,1);# f4 J  r" N8 Z* ^9 U
        treenode item2=rank(current,2);
4 h7 Y1 q1 c/ X$ D       
) i" j# u* W( u        treenode ts=createemptytasksequence(centerobject(current,1),0,0);
9 _: q$ b& W  o9 Y$ a# H2 c( N3 K& L        5 `# J, D# m, V
        inserttask(ts,TASKTYPE_TRAVEL,current,NULL);
( h1 g8 E5 B9 \; Y        inserttask(ts,TASKTYPE_FRLOAD,item1,current,0);* P9 K( f$ {% R5 L* y
        inserttask(ts,TASKTYPE_BREAK,NULL,NULL);
- g( Q* c% L* j0 e! E$ z% |/ s        inserttask(ts,TASKTYPE_TRAVEL,centerobject(current,2),NULL);
: t3 f, J; T# e, `# e        inserttask(ts,TASKTYPE_FRUNLOAD,item1,centerobject(current,2),0);
* s; y& T5 o% J( i+ a5 G. {1 R        * e; a) L: c& _* Q1 P
        dispatchtasksequence(ts);        2 k6 a( ~( C1 ~. B
        }
2 Q# ^3 u  A  ^9 ^! F) {7 k
( {4 M2 s$ J$ ]7 t. ?, i5 z只是用rank函数获取了流动实体的指针,为啥不行呢?
5#
天性518 发表于 2013-5-16 12:18:12 | 只看该作者
4# qhg1982
2 l7 n# ]* y% n6 J5 ~% S1 |2 }) E
) L: c! C* ?/ j+ Z& H
5 j: N7 P$ H; u4 I+ e" A. F这些因为操作员每次只会去版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:22 , Processed in 0.078092 second(s), 14 queries .

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

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